Capturing Video Data, Using VCUser.lib

To enable the hardware’s video capture capability, your driver should call VC_Capture. To obtain a single frame of capture data, your driver can call VC_Frame.

To continuously obtain captured data as a stream, VCUser.lib provides a set of input stream functions, which your driver can call when it receives user-mode video capture driver messages that specify stream operations. The input stream functions are:

VC_StreamInit
Initializes VCUser.lib’s capture streaming capabilities.
VC_StreamAddBuffer
Adds empty buffers to a buffer queue.
VC_StreamStart
Starts capturing frames and copying them into queued buffers, and notifying the client each time a buffer is filled.
VC_GetStreamPos
Returns the amount of time that has passed since the stream started.
VC_GetStreamError
Returns the number of times a frame was dropped because a buffer was not available.
VC_StreamStop
Stops capturing frames.
VC_StreamReset
Returns unused buffers to the client.
VC_StreamFini
Disables VCUser.lib’s capture streaming capabilities.

For more information about capturing data, see Transferring Video Capture Data.