VC_StreamStart

BOOL
VC_StreamStart(
VCUSER_HANDLE
vh
);

The VC_StreamStart function starts a capture stream.

Parameters

vh

Handle to the kernel-mode driver, obtained from VC_OpenDevice.

Return Value

Returns TRUE if the operation succeeds. Otherwise returns FALSE.

Comments

A user-mode video capture driver using VCUser.lib should call VC_StreamStart when its DriverProc function receives a DVM_STREAM_START message.

A driver cannot call VC_StreamStart unless it has previously called VC_StreamInit.

If the driver has previously called VC_StreamAddBuffer to add buffers to its local queue, the VC_StreamStart function calls DeviceIoControl (described in the Win32 SDK), specifying an IOCTL_VIDC_ADD_BUFFER control code, to send up to two buffers to the kernel-mode driver.

The VC_StreamStart function then calls DeviceIoControl to send an IOCTL_VIDC_STREAM_START control code to the specified kernel-mode driver. When a kernel-mode driver using VCKernel.lib receives this control code, its StreamStartFunc function is called to start the capturing of input data.

Each time the kernel-mode driver fills a buffer and returns it to the user-mode driver, code in VCUser.lib sets VHDR_DONE in the dwFlags member of the buffer's VIDEOHDR structure, and sends an MM_DRVM_DATA callback message to the client.