DVM_FRAME

The DVM_FRAME message requests a user-mode video capture driver to transfer a single frame to or from the video device.

Parameters

dwDriverID

Video channel identifier. One of VIDEO_EXTERNALIN, VIDEO_IN, VIDEO_OUT, VIDEO_EXTERNALOUT. (For details, see Opening Video Channels.)

hDriver

Driver handle.

uMsg

DVM_FRAME

lParam1

Pointer to a VIDEOHDR structure.

lParam2

Size of the VIDEOHDR structure.

Return Value

The driver should return DV_ERR_OK if the operation succeeds. Otherwise, it should return one of the DV_ERR error codes defined in msvideo.h. Custom error codes are also allowed (see DVM_GETERRORTEXT).

Comments

A client sends the DVM_FRAME message by calling the driver's DriverProc entry point, passing the specified parameter values. Applications can send this message by calling the videoFrame function, which is described in the Video for Windows Development Kit.

The client uses the VIDEOHDR structure to specify a buffer. The driver uses this buffer as either a destination or source for DIB-formatted data, depending on whether the specified channel is VIDEO_IN or VIDEO_OUT. For the VIDEO_IN channel, the driver transfers data from the device's frame buffer into the specified buffer. For the VIDEO_OUT channel, the driver transfers data from the specified buffer into the device's frame buffer.

The driver should process this message synchronously, not returning to the client until the transfer is complete.

The sample video capture drivers only support the DVM_FRAME message for the VIDEO_IN channel.

For more information about handling the DVM_FRAME message, see Transferring Single Frames.

User-mode video capture drivers using VCUser.lib can call VC_Frame when processing the DVM_FRAME message for the VIDEO_IN channel.