VIDEO_REQUEST_PACKET
typedef struct _VIDEO_REQUEST_PACKET {
ULONG IoControlCode;
PSTATUS_BLOCK StatusBlock;
PVOID InputBuffer;
ULONG InputBufferLength;
PVOID OutputBuffer;
ULONG OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
A pointer to a VIDEO_REQUEST_PACKET is passed to the miniport driver’s HwVidStartIO
function by the video port driver. The port driver sets up the VRP from the
IRP sent in response to a GDI call to EngDeviceIoControl.
Usually, the corresponding display driver makes the call to EngDeviceIoControl
when it needs support from the port-miniport driver pair. The port driver
calls the miniport driver with the VRP to process the given IOCTL_VIDEO_XXX
request.
Members
-
IoControlCode
-
Specifies an IOCTL_VIDEO_XXX value passed to the EngDeviceIoControl
function by the caller and sent to the port driver in an IRP. For more
information about the set of system-defined IOCTL_VIDEO_XXX that
miniport drivers must support, see also Part II of this manual.
-
StatusBlock
-
Points to a STATUS_BLOCK structure in the VRP. StatusBlock is filled in
by the miniport driver with return information upon completion of each VRP.
-
InputBuffer
-
Points to an input buffer that contains information passed in by the caller.
The structure for the data depends on the value of IoControlCode. This
member actually points to the same buffer as that indicated by OutputBuffer.
-
InputBufferLength
-
Specifies the size in bytes of the input buffer.
-
OutputBuffer
-
Points to an output buffer into which the miniport driver transfers data to be
returned to the caller. The structure for the data depends on the value of IoControlCode.
Because this member points to the same buffer as InputBuffer, a
miniport driver must not write output in the OutputBuffer before it has
consumed all input data from the InputBuffer.
-
OutputBufferLength
-
Specifies the size in bytes of the output buffer. A miniport driver cannot
enlarge this buffer. A miniport driver should set the Status member of
the StatusBlock with ERROR_INSUFFICIENT_BUFFER or ERROR_MORE_DATA if
the given OutputBuffer is too small to contain all the returned
information.
See Also
HwVidStartIO, IOCTL_VIDEO_Xxx
, STATUS_BLOCK