다음을 통해 공유


VIDEO_REQUEST_PACKET 구조체(video.h)

VIDEO_REQUEST_PACKET 구조체에 대한 포인터는 비디오 포트 드라이버에 의해 미니포트 드라이버의 HwVidStartIO 함수에 전달됩니다. 비디오 포트 드라이버는 EngDeviceIoControl대한 GDI 호출에 대한 응답으로 전송된 IRP 코드(IRP 주요 함수 코드참조)에서 VRP 설정합니다. 일반적으로 해당 디스플레이 드라이버는 비디오 포트 미니포트 드라이버 쌍의 지원이 필요할 때 EngDeviceIoControl 호출합니다. 비디오 포트 드라이버는 지정된 IOCTL_VIDEO_XXX 요청을 처리하기 위해 VRP 미니포트 드라이버를 호출합니다.

통사론

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

회원

IoControlCode

호출자가 EngDeviceIoControl 함수에 전달하고 IRP 코드에서 비디오 포트 드라이버로 보낸 IOCTL_VIDEO_XXX 값을 지정합니다. 미니포트 드라이버가 지원해야 하는 시스템 정의 IOCTL_VIDEO_XXX 집합에 대한 자세한 내용은 Video Miniport Driver I/O 컨트롤 코드참조하세요.

StatusBlock

VRPSTATUS_BLOCK 구조체에 대한 포인터입니다. StatusBlock 각 VRP가 완료될 때 반환 정보가 포함된 미니포트 드라이버에 의해 채워집니다.

InputBuffer

호출자가 전달한 정보를 포함하는 입력 버퍼에 대한 포인터입니다. 데이터의 구조는 IoControlCode값에 따라 달라집니다. 이 멤버는 실제로 OutputBuffer표시된 것과 동일한 버퍼를 가리킵니다.

InputBufferLength

입력 버퍼의 크기(바이트)를 지정합니다.

OutputBuffer

미니포트 드라이버가 호출자에게 반환할 데이터를 전송하는 출력 버퍼에 대한 포인터입니다. 데이터의 구조는 IoControlCode의 값에 따라 달라집니다. 이 멤버는 InputBuffer동일한 버퍼를 가리키므로 미니포트 드라이버는 InputBuffer모든 입력 데이터를 소비하기 전에 OutputBuffer 출력을 작성해서는 안 됩니다.

OutputBufferLength

출력 버퍼의 크기(바이트)를 지정합니다. 미니포트 드라이버는 이 버퍼를 확대할 수 없습니다. 미니포트 드라이버는 지정된 OutputBuffer 너무 작아서 반환된 모든 정보를 포함할 수 없는 경우 ERROR_INSUFFICIENT_BUFFER 또는 ERROR_MORE_DATA StatusBlock상태 멤버를 설정해야 합니다.

요구 사항

요구
헤더 video.h(Video.h 포함)

참고 항목

HwVidStartIO

STATUS_BLOCK

비디오 미니포트 드라이버 I/O 제어 코드