WDF_REQUEST_SEND_OPTIONS 구조체(wdfrequest.h)

[KMDF 및 UMDF에 적용]

WDF_REQUEST_SEND_OPTIONS 구조체는 I/O 요청을 I/O 대상으로 보내는 것과 관련된 옵션을 지정합니다.

구문

typedef struct _WDF_REQUEST_SEND_OPTIONS {
  ULONG    Size;
  ULONG    Flags;
  LONGLONG Timeout;
} WDF_REQUEST_SEND_OPTIONS, *PWDF_REQUEST_SEND_OPTIONS;

멤버

Size

이 구조체의 크기(바이트)입니다.

Flags

WDF_REQUEST_SEND_OPTIONS_FLAGS 형식 플래그의 비트 OR입니다.

Timeout

시스템 시간 단위(100나노초 간격)의 시간 제한 값입니다. 드라이버가 WDF_REQUEST_SEND_OPTION_TIMEOUT 플래그를 설정한 경우 프레임워크는 지정된 제한 시간 내에 완료되지 않은 경우 연결된 I/O 요청을 취소합니다. 시간 제한 값은 다음과 같이 음수, 양수 또는 0일 수 있습니다.

  • 값이 음수이면 만료 시간은 현재 시스템 시간을 기준으로 합니다.
  • 값이 양수이면 만료 시간이 절대 시간으로 지정됩니다(실제로 1601년 1월 1일에 상대적임).
  • 값이 0이면 프레임워크는 요청 시간을 초과하지 않습니다.
상대 만료 시간은 지정된 제한 시간 내에 발생할 수 있는 시스템 시간 변경의 영향을 받지 않습니다. 절대 만료 시간은 시스템 시간 변경을 반영합니다.

프레임워크는 시간 값을 시스템 시간 단위로 변환하는 시간 변환 함수 를 제공합니다.

지정된 시간 제한 기간이 경과하여 프레임워크가 I/O 요청을 취소하는 경우 프레임워크는 I/O 요청에 대한 STATUS_IO_TIMEOUT 완료 상태 제공합니다. 그러나 시간 제한 기간이 경과한 후 I/O 대상은 I/O 요청을 완료한 후 프레임워크에서 취소할 수 있습니다. 이 경우 I/O 요청의 완료 상태 STATUS_IO_TIMEOUT 않습니다.

설명

WDF_REQUEST_SEND_OPTIONS 구조체는 I/O 요청을 I/O 대상으로 보내는 개체 메서드(예: WdfRequestSend 메서드)에 전달됩니다. 구조체는 WDF_REQUEST_SEND_OPTIONS_INIT 및 WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT 함수를 호출하여 초기화해야 합니다.

드라이버가 요청을 동기적으로 보내는 경우 드라이버가 이 구조체의 Flags 멤버에서 제한 시간 값과 제한 시간 플래그를 설정하는 것이 좋습니다.

요구 사항

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

추가 정보

WDF_REQUEST_SEND_OPTIONS_FLAGS

WDF_REQUEST_SEND_OPTIONS_INIT

WDF_REQUEST_SEND_OPTIONS_SET_TIMEOUT

WdfRequestSend