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.