VIDEO_REQUEST_PACKET structure (video.h)

A pointer to a VIDEO_REQUEST_PACKET structure is passed to the miniport driver's HwVidStartIO function by the video port driver. The video port driver sets up the VRP from the IRP code (see IRP Major Function Codes) 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 video port-miniport driver pair. The video port driver calls the miniport driver with the VRP to process the given IOCTL_VIDEO_XXX request.

Syntax

typedef struct _VIDEO_REQUEST_PACKET {
  ULONG         IoControlCode;
  PSTATUS_BLOCK StatusBlock;
  PVOID         InputBuffer;
  ULONG         InputBufferLength;
  PVOID         OutputBuffer;
  ULONG         OutputBufferLength;
} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;

Members

IoControlCode

Specifies an IOCTL_VIDEO_XXX value passed to the EngDeviceIoControl function by the caller and sent to the video port driver in an IRP code. For more information about the set of system-defined IOCTL_VIDEO_XXX that miniport drivers must support, see Video Miniport Driver I/O Control Codes.

StatusBlock

Pointer 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

Pointer 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

Pointer 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.

Requirements

Requirement Value
Header video.h (include Video.h)

See also

HwVidStartIO

STATUS_BLOCK

Video Miniport Driver I/O Control Codes