WDF_REQUEST_SEND_OPTIONS_FLAGS 열거형(wdfrequest.h)

[KMDF 및 UMDF에 적용]

WDF_REQUEST_SEND_OPTIONS_FLAGS 열거형 형식은 드라이버의 WDF_REQUEST_SEND_OPTIONS 구조에 사용되는 플래그를 정의합니다.

Syntax

typedef enum _WDF_REQUEST_SEND_OPTIONS_FLAGS {
  WDF_REQUEST_SEND_OPTION_TIMEOUT = 0x00000001,
  WDF_REQUEST_SEND_OPTION_SYNCHRONOUS = 0x00000002,
  WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE = 0x00000004,
  WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET = 0x00000008,
  WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT = 0x00010000,
  WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE = 0x00020000
} WDF_REQUEST_SEND_OPTIONS_FLAGS;

상수

 
WDF_REQUEST_SEND_OPTION_TIMEOUT
값: 0x00000001
드라이버가 이 플래그를 설정하는 경우 WDF_REQUEST_SEND_OPTIONS 구조체의 시간 제한 멤버가 유효합니다.
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS
값: 0x00000002
드라이버가 이 플래그를 설정하는 경우 프레임워크는 연결된 I/O 요청을 동기적으로 처리합니다. ( WdfIoTargetSendReadSynchronously와 같이 이름이 "Synchronously"로 끝나는 개체 메서드를 호출하는 경우 드라이버는 이 플래그를 설정할 필요가 없습니다.)
WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE
값: 0x00000004
드라이버가 이 플래그를 설정하는 경우 프레임워크는 I/O 대상의 상태에 관계없이 I/O 요청을 I/O 대상으로 보냅니다. 설정되지 않은 경우 프레임워크는 대상이 중지된 경우 요청을 큐에 대기합니다. 이 플래그를 설정하면 드라이버가 WdfIoTargetStop을 호출한 후 드라이버가 USB 파이프 재설정 요청과 같은 요청을 디바이스로 보낼 수 있습니다.
WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
값: 0x00000008
드라이버가 이 플래그를 설정하는 경우 드라이버는 요청을 비동기적으로 전송하며 요청이 완료되거나 취소될 때 알림을 받을 필요가 없습니다. 프레임워크는 I/O 대상의 상태에 관계없이 I/O 요청을 I/O 대상에 보냅니다. 드라이버는 CompletionRoutine 콜백 함수를 설정하거나 요청에 대해 WdfRequestComplete 를 호출하지 않습니다. 드라이버가 이 플래그를 설정하는 경우 다른 플래그를 설정할 수 없습니다. 이 플래그에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.
WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
값: 0x00010000
이 플래그는 UMDF에만 적용됩니다. 설정되고 I/O 요청 형식이 WdfRequestTypeCreate인 경우 WdfRequestSend 메서드는 클라이언트의 가장 수준을 드라이버의 I/O 대상에 전달하려고 시도합니다. 드라이버가 WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE 플래그를 설정하지 않는 한 가장 시도가 실패하면 WdfRequestSend 메서드는 오류 코드를 반환합니다.
WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE
값: 0x00020000
이 플래그는 UMDF에만 적용됩니다. 설정된 경우 프레임워크는 가장이 실패하더라도 요청을 계속 보냅니다. 이 값은 WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT 경우에만 사용할 수 있습니다.

설명

WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET 플래그를 설정하는 드라이버는 일반적으로 요청을 I/O 대상으로 보내기 위해 WdfRequestSend 를 호출하기 전에 I/O 요청의 형식을 지정하지 않습니다. 실제로 이 플래그를 설정하는 드라이버는 WdfRequestSend를 호출하기 전에 WdfIoTargetFormatRequestForXxx 메서드를 호출해서는 안 됩니다. 드라이버는 WdfRequestFormatRequestUsingCurrentType 또는 WdfRequestWdmFormatUsingStackLocation 메서드만 사용하여 요청의 형식을 지정할 수 있습니다.

드라이버는 다음과 같은 상황에서 WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET 플래그를 설정할 수 없습니다 .

이 열거형의 UMDF 버전은 WDF_REQUEST_SEND_OPTIONS_FLAGS(UMDF)를 참조하세요.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfrequest.h(Wdf.h 포함)

추가 정보

WDF_REQUEST_SEND_OPTIONS

WdfIoTargetStop