структура _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_HEADER, указывающую сведения о заголовке URB. 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

Указатель на буфер резидента для передачи или null, если MDL предоставляется в TransferBufferMDL. Драйвер шины возвращает один байт, указывающий состояние целевого объекта.

TransferBufferMDL

Указатель на MDL, описывающий буфер резидента или значение NULL, если буфер предоставляется в TransferBuffer. Драйвер шины возвращает один байт, указывающий состояние целевого объекта. Этот MDL-файл должен быть выделен из непагрегированного пула.

UrbLink

Скрытный. Не используйте.

hca

Скрытный. Не используйте.

Reserved1[4]

Скрытный. Не используйте.

Index

Указывает определяемый устройством индекс, возвращаемый успешным запросом конфигурации, если запрос предназначен для конечной точки или интерфейса. В противном случае индекса должно быть равно нулю.

Reserved2

Скрытный. Не используйте.

Замечания

Драйверы могут использовать подпрограмму службы UsbBuildGetStatusRequest для форматирования этого URB.

Зарезервированные элементы этой структуры должны рассматриваться как непрозрачные и зарезервированы для использования системы.

Требования

Требование Ценность
заголовка usb.h (включая usb.h)

См. также

URB

СТРУКТУРЫ USB

_URB_HEADER