WDF_USB_REQUEST_COMPLETION_PARAMS 구조체(wdfusb.h)
[KMDF 및 UMDF에 적용]
WDF_USB_REQUEST_COMPLETION_PARAMS 구조에는 USB 디바이스에 대한 I/O 요청 완료와 관련된 매개 변수가 포함되어 있습니다.
구문
typedef struct _WDF_USB_REQUEST_COMPLETION_PARAMS {
USBD_STATUS UsbdStatus;
WDF_USB_REQUEST_TYPE Type;
union {
struct {
WDFMEMORY Buffer;
USHORT LangID;
UCHAR StringIndex;
UCHAR RequiredSize;
} DeviceString;
struct {
WDFMEMORY Buffer;
WDF_USB_CONTROL_SETUP_PACKET SetupPacket;
ULONG Length;
} DeviceControlTransfer;
struct {
WDFMEMORY Buffer;
} DeviceUrb;
struct {
WDFMEMORY Buffer;
size_t Length;
size_t Offset;
} PipeWrite;
struct {
WDFMEMORY Buffer;
size_t Length;
size_t Offset;
} PipeRead;
struct {
WDFMEMORY Buffer;
} PipeUrb;
} Parameters;
} WDF_USB_REQUEST_COMPLETION_PARAMS, *PWDF_USB_REQUEST_COMPLETION_PARAMS;
멤버
UsbdStatus
I/O 대상이 반환한 USBD_STATUS 형식의 상태 값입니다.
Type
요청 형식을 식별하는 WDF_USB_REQUEST_TYPE 형식의 값입니다.
Parameters
Parameters.DeviceString
Parameters.DeviceString.Buffer
드라이버가 WdfUsbTargetDeviceFormatRequestForString을 호출한 경우 이 멤버는 유니코드 문자열을 수신하는 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
Parameters.DeviceString.LangID
드라이버가 WdfUsbTargetDeviceFormatRequestForString을 호출한 경우 이 멤버에는 드라이버 제공 언어 식별자가 포함됩니다.
Parameters.DeviceString.StringIndex
드라이버가 WdfUsbTargetDeviceFormatRequestForString을 호출한 경우 이 멤버에는 드라이버 제공 문자열 인덱스가 포함됩니다.
Parameters.DeviceString.RequiredSize
드라이버가 디바이스의 유니코드 문자열을 가져오는 메서드를 호출한 경우( WdfUsbTargetDeviceFormatRequestForUrb 제외) 이 멤버에는 Parameters.DeviceString.Buffer 가 지정하는 버퍼의 필요한 크기가 포함됩니다.
드라이버가 WdfUsbTargetDeviceFormatRequestForUrb이라고 하는 경우 핸들이 Parameters.DeviceUrb.Buffer에 있는 URB에서 필요한 크기 값을 가져올 수 있습니다.
Parameters.DeviceControlTransfer
Parameters.DeviceControlTransfer.Buffer
드라이버가 WdfUsbTargetDeviceFormatRequestForControlTransfer를 호출한 경우 이 멤버는 입력 또는 출력 데이터를 수신하는 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
Parameters.DeviceControlTransfer.SetupPacket
드라이버가 WdfUsbTargetDeviceFormatRequestForControlTransfer를 호출한 경우 이 멤버는 드라이버가 제공한 WDF_USB_CONTROL_SETUP_PACKET 구조체의 주소를 포함합니다.
Parameters.DeviceControlTransfer.Length
드라이버가 컨트롤 전송을 보내는 메서드를 호출한 경우( WdfUsbTargetDeviceFormatRequestForUrb 제외) 이 멤버에는 전송되거나 수신된 바이트 수가 포함됩니다.
드라이버가 WdfUsbTargetDeviceFormatRequestForUrb이라고 하는 경우 핸들이 Parameters.DeviceUrb.Buffer에 있는 URB에서 길이 값을 가져올 수 있습니다.
Parameters.DeviceUrb
Parameters.DeviceUrb.Buffer
드라이버가 WdfUsbTargetDeviceFormatRequestForUrb을 호출한 경우 이 멤버는 URB 구조를 포함하는 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
Parameters.PipeWrite
Parameters.PipeWrite.Buffer
드라이버가 WdfUsbTargetPipeFormatRequestForWrite를 호출한 경우 이 멤버는 파이프에 기록된 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
Parameters.PipeWrite.Length
드라이버 가 파이프에 쓰는 메서드를 호출한 경우( WdfUsbTargetDeviceFormatRequestForUrb 제외) 이 멤버는 전송된 바이트 수를 포함합니다.
드라이버가 WdfUsbTargetDeviceFormatRequestForUrb이라고 하는 경우 핸들이 Parameters.PipeUrb.Buffer에 있는 URB에서 길이 값을 가져올 수 있습니다.
Parameters.PipeWrite.Offset
드라이버가 WdfUsbTargetPipeFormatRequestForWrite를 호출한 경우 이 멤버는 드라이버 제공 버퍼 오프셋을 포함합니다.
Parameters.PipeRead
Parameters.PipeRead.Buffer
드라이버가 WdfUsbTargetPipeFormatRequestForRead를 호출한 경우 이 멤버는 파이프에서 읽은 데이터를 포함하는 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
Parameters.PipeRead.Length
드라이버가 파이프에서 읽 는 메서드를 호출한 경우 컨트롤 전송을 보냅니다( WdfUsbTargetDeviceFormatRequestForUrb 제외). 이 멤버에는 수신된 바이트 수가 포함됩니다.
드라이버가 WdfUsbTargetDeviceFormatRequestForUrb이라고 하는 경우 핸들이 Parameters.PipeUrb.Buffer에 있는 URB에서 길이 값을 가져올 수 있습니다.
Parameters.PipeRead.Offset
드라이버가 WdfUsbTargetPipeFormatRequestForRead를 호출한 경우 이 멤버에는 드라이버 제공 버퍼 오프셋이 포함됩니다.
Parameters.PipeUrb
Parameters.PipeUrb.Buffer
드라이버가 WdfUsbTargetPipeFormatRequestForUrb을 호출한 경우 이 멤버는 URB 구조를 포함하는 메모리 개체에 대한 드라이버 제공 핸들을 포함합니다.
설명
WDF_USB_REQUEST_COMPLETION_PARAMS 구조체는 WDF_REQUEST_COMPLETION_PARAMS 구조체의 멤버입니다.
요구 사항
요구 사항 | 값 |
---|---|
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfusb.h(Wdfusb.h 포함) |