VC_CALLBACK
typedef struct _VC_CALLBACK {
    BOOLEAN (*DeviceOpenFunc)(PDEVICE_INFO); 
    BOOLEAN (*DeviceCloseFunc)(PDEVICE_INFO);
    BOOLEAN (*ConfigFormatFunc)(PDEVICE_INFO, PCONFIG_INFO); 
    BOOLEAN (*ConfigDisplayFunc)(PDEVICE_INFO, PCONFIG_INFO);
    BOOLEAN (*ConfigSourceFunc)(PDEVICE_INFO, PCONFIG_INFO);
    DWORD   (*GetOverlayModeFunc) (PDEVICE_INFO);
    BOOLEAN (*SetKeyRGBFunc)(PDEVICE_INFO, PRGBQUAD);
    BOOLEAN (*SetKeyPalIdxFunc)(PDEVICE_INFO, ULONG);
    BOOLEAN (*SetOverlayRectsFunc)(PDEVICE_INFO, POVERLAY_RECTS);
    BOOLEAN (*SetOverlayOffsetFunc)(PDEVICE_INFO, PRECT);
    ULONG   (*GetKeyColourFunc)(PDEVICE_INFO);
    BOOLEAN (*CaptureFunc)(PDEVICE_INFO, BOOL);
    BOOLEAN (*OverlayFunc)(PDEVICE_INFO, BOOL);
    BOOLEAN (*StreamInitFunc)(PDEVICE_INFO, ULONG);
    BOOLEAN (*StreamFiniFunc)(PDEVICE_INFO);
    BOOLEAN (*StreamStartFunc)(PDEVICE_INFO);
    BOOLEAN (*StreamStopFunc)(PDEVICE_INFO);
    ULONG   (*StreamGetPositionFunc)(PDEVICE_INFO);
    BOOLEAN (*InterruptAcknowledge)(PDEVICE_INFO);
    ULONG (*CaptureService)(PDEVICE_INFO, PUCHAR, PULONG, ULONG);
    BOOLEAN (*DrawFrameFunc)(PDEVICE_INFO, PDRAWBUFFER);
    BOOLEAN (*CleanupFunc)(PDEVICE_INFO);
} VC_CALLBACK, * PVC_CALLBACK;
The VC_CALLBACK structure is a dispatch table used by VCKernel.lib to
call functions provided by kernel-mode video capture drivers. The structure is
defined in vckernel.h.
Members
- 
DeviceOpenFunc
- 
Pointer to a kernel-mode video capture driver’s DeviceOpenFunc
function.
 
- 
DeviceCloseFunc
- 
Pointer to a kernel-mode video capture driver’s DeviceCloseFunc
function.
 
- 
ConfigFormatFunc
- 
Pointer to a kernel-mode video capture driver’s ConfigFormatFunc
function.
 
- 
ConfigDisplayFunc
- 
Pointer to a kernel-mode video capture driver’s ConfigDisplayFunc
function.
 
- 
ConfigSourceFunc
- 
Pointer to a kernel-mode video capture driver’s ConfigSourceFunc
function.
 
- 
GetOverlayModeFunc
- 
Pointer to a kernel-mode video capture driver’s GetOverlayModeFunc
function.
 
- 
SetKeyRGBFunc
- 
Pointer to a kernel-mode video capture driver’s SetKeyRGBFunc
function.
 
- 
SetKeyPalIdxFunc
- 
Pointer to a kernel-mode video capture driver’s SetKeyPalIdxFunc
function.
 
- 
SetOverlayRectsFunc
- 
Pointer to a kernel-mode video capture driver’s SetOverlayRectsFunc
function.
 
- 
SetOverlayOffsetFunc
- 
Pointer to a kernel-mode video capture driver’s SetOverlayOffsetFunc
function.
 
- 
GetKeyColourFunc
- 
Pointer to a kernel-mode video capture driver’s GetKeyColourFunc
function.
 
- 
CaptureFunc
- 
Pointer to a kernel-mode video capture driver’s CaptureFunc
function.
 
- 
OverlayFunc
- 
Pointer to a kernel-mode video capture driver’s OverlayFunc
function.
 
- 
StreamInitFunc
- 
Pointer to a kernel-mode video capture driver’s StreamInitFunc
function.
 
- 
StreamFiniFunc
- 
Pointer to a kernel-mode video capture driver’s StreamFiniFunc
function.
 
- 
StreamStartFunc
- 
Pointer to a kernel-mode video capture driver’s StreamStartFunc
function.
 
- 
StreamStopFunc
- 
Pointer to a kernel-mode video capture driver’s StreamStopFunc
function.
 
- 
StreamGetPositionFunc
- 
Pointer to a kernel-mode video capture driver’s StreamGetPositionFunc
function.
 
- 
InterruptAcknowledge
- 
Pointer to a kernel-mode video capture driver’s InterruptAcknowledge
function.
 
- 
CaptureService
- 
Pointer to a kernel-mode video capture driver’s CaptureService
function.
 
- 
DrawFrameFunc
- 
Pointer to a kernel-mode video capture driver’s DrawFrameFunc
function.
 
- 
CleanupFunc
- 
Pointer to a kernel-mode video capture driver’s CleanupFunc
function.
Comments
A kernel-mode video capture driver using VCKernel.lib is responsible
for filling in VCKernel.lib’s VC_CALLBACK structure. The driver obtains
the structure’s address by calling VC_GetCallbackTable.
The driver should obtain the structure’s address and fill in the table from
within its DriverEntry function, before hardware initialization is
attempted.