Jump to content

VSD DDCMD: Difference between revisions

From EDM2
No edit summary
Line 30: Line 30:


;pRequest (PVOID)
;pRequest (PVOID)
:The value of pRequest varies according to the ulFlags value. See each particular ulFlags value for the definition of pRequest.  
:The value of pRequest varies according to the ulFlags value. See each particular ulFlags value for the definition of pRequest.


==Returns==
==Returns==
;''rc'' (ULONG)
;''rc'' (ULONG)
:Possible error codes vary according to the value of ulFlags.
:Possible error codes vary according to the value of ulFlags.

Revision as of 01:03, 9 June 2025

Stream handlers can communicate with their attached devices using the VSD_DDCMD calls. The DDCMD interface is the primary method of moving data to and from devices in OS/2 multimedia.

Syntax

VSDEntry(hvsd, ulFunc, ulFlags, pRequest)

Parameters

hvsd (HVSD)
Handle to a VSD instance.
ulFunc (ULONG)
Set to VSD_DDCMD.
ulFlags (ULONG)
The following flags (subcommands) are defined for this command:
DDCMD_CONTROL
This subcommand of VSD_DDCMD performs a device-specific command. pRequest is a pointer to the DDCMDCONTROL structure. :;DDCMD_DEREG_STREAM
This subcommand of VSD_DDCMD deregisters a stream instance with the device driver. pRequest is a pointer to DDCMDDEREGISTER structure.
DDCMD_READ
This subcommand of VSD_DDCMD is used by a stream handler to give an empty buffer to the VSD (for example, during a record operation). When the buffer has been filled, the VSD is responsible for communicating to the caller that the buffer has been filled. The VSD should pass a MSG_REPORTINT structure to the pSHDEntryPoint in DDCMDREGISTER to inform the caller.
pRequest is a pointer to DDCMDREADWRITE structure.
DDCMD_REG_STREAM
This subcommand of VSD_DDCMD registers a stream instance with the device driver. pRequest is a pointer to DDCMDREGISTER structure. :;DDCMD_SETUP
This subcommand of VSD_DDCMD performs device-specific stream instance setup. pRequest is a pointer to DDCMDSETUP structure.
DDCMD_STATUS
This VSD subcommand requests streaming status from a device. Typically, it is called to request the current stream time. pRequest is a pointer to DDCMDSTATUS structure.
DDCMD_WRITE
This VSD subcommand is used by a stream handler to give a full buffer to the VSD (for example, during a playback operation). When the buffer has been consumed, the VSD is responsible for communicating to the caller that the buffer has been used. The VSD should pass a MSG_REPORTINT structure to the pSHDEntryPoint in DDCMDREGISTER to inform the caller.
pRequest is a pointer to DDCMDREADWRITE structure.
pRequest (PVOID)
The value of pRequest varies according to the ulFlags value. See each particular ulFlags value for the definition of pRequest.

Returns

rc (ULONG)
Possible error codes vary according to the value of ulFlags.