The DVM_STREAM_START message requests a user-mode video capture driver to start a video stream.
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).
A client sends the DVM_STREAM_START message by calling the driver’s DriverProc entry point, passing the specified parameter values. Applications can send this message by calling the videoStreamStart function, which is described in the Video for Windows Development Kit.
When a driver receives this message, it should begin transferring frame buffer contents to queued data buffers. Typically, a user-mode driver creates a separate thread to handle communication with the kernel-mode driver. Data buffers should be filled and returned to the client in the order they are received from the client.
Each time a buffer has been filled, the user-mode driver should set VHDR_DONE in the dwFlags member of the buffer’s VIDEOHDR structure, and then send an MM_DRVM_DATA callback message to the client.
For more information about video capture streams, see Transferring Streams of Captured Data.
User-mode video capture drivers using VCUser.lib can call VC_StreamStart when processing the DVM_STREAM_START message.