_URB_CONTROL_GET_STATUS_REQUEST 구조체(usb.h)

_URB_CONTROL_GET_STATUS_REQUEST 구조는 USB 클라이언트 드라이버가 디바이스, 인터페이스, 엔드포인트 또는 기타 디바이스 정의 대상에서 상태 검색하는 데 사용됩니다.

구문

struct _URB_CONTROL_GET_STATUS_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Reserved1[4];
  USHORT               Index;
  USHORT               Reserved2;
};

멤버

Hdr

URB 헤더 정보를 지정하는 _URB_HEADER 구조체에 대한 포인터입니다. Hdr.Length 는 이어야 sizeof(_URB_CONTROL_GET_STATUS_REQUEST)하며 Hdr.Function 은 다음 값 중 하나여야 합니다.

  • URB_FUNCTION_GET_STATUS_FROM_DEVICE
  • URB_FUNCTION_GET_STATUS_FROM_INTERFACE
  • URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
  • URB_FUNCTION_GET_STATUS_FROM_OTHER

Reserved

예약되어 있습니다. 사용하지 마십시오.

Reserved0

예약되어 있습니다. 사용하지 마십시오.

TransferBufferLength

2여야 합니다. 이 멤버는 TransferBuffer에 지정되거나 TransferBufferMDL에 설명된 버퍼의 길이(바이트)를 지정합니다. 호스트 컨트롤러 드라이버는 이 멤버의 파이프에서 전송되거나 읽은 바이트 수를 반환합니다.

TransferBuffer

전송에 대한 상주 버퍼에 대한 포인터이거나 TransferBufferMDL에 MDL이 제공된 경우 NULL입니다. 버스 드라이버는 대상에 대한 상태 지정하는 단일 바이트를 반환합니다.

TransferBufferMDL

상주 버퍼를 설명하는 MDL에 대한 포인터이거나 TransferBuffer에 버퍼가 제공된 경우 NULL입니다. 버스 드라이버는 대상에 대한 상태 지정하는 단일 바이트를 반환합니다. 이 MDL은 페이지가 없는 풀에서 할당해야 합니다.

UrbLink

예약되어 있습니다. 사용하지 마십시오.

hca

예약되어 있습니다. 사용하지 마십시오.

Reserved1[4]

예약되어 있습니다. 사용하지 마십시오.

Index

요청이 엔드포인트 또는 인터페이스에 대한 경우 성공적인 구성 요청에 의해 반환되는 디바이스 정의 인덱스를 지정합니다. 그렇지 않으면 인덱스가 0이어야 합니다.

Reserved2

예약되어 있습니다. 사용하지 마십시오.

설명

드라이버는 UsbBuildGetStatusRequest 서비스 루틴을 사용하여 이 URB의 형식을 지정할 수 있습니다.

이 구조체의 예약된 멤버는 불투명으로 처리되어야 하며 시스템 사용을 위해 예약되어 있어야 합니다.

요구 사항

요구 사항
헤더 usb.h(Usb.h 포함)

추가 정보

Urb

USB 구조체

_URB_HEADER