다음을 통해 공유


EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES 콜백 함수(wdfio.h)

[KMDF에만 적용]

드라이버의 EvtIoAllocateRequestResources 콜백 함수는 드라이버가 지정된 요청을 처리하는 데 필요한 요청별 리소스를 할당합니다.

구문

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

NTSTATUS EvtWdfIoAllocateRequestResources(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

매개 변수

[in] Queue

I/O 큐 개체에 대한 핸들입니다.

[in] Request

프레임워크가 만든 요청 개체에 대한 핸들입니다. 프레임워크는 Queue 매개 변수의 핸들이 지정하는 I/O 큐에 요청 개체를 아직 추가하지 않았습니다.

반환 값

EvtIoAllocateRequestResources 콜백 함수는 STATUS_SUCCESS 또는 다른 상태 값을 반환해야 하며, 함수에 오류가 발생하지 않으면 NT_SUCCESS(상태)가 TRUE와 같아야 합니다. 그렇지 않으면 이 함수는 NT_SUCCESS(상태)가 FALSE와 같은 상태 값을 반환해야 합니다.

설명

드라이버는 WdfIoQueueAssignForwardProgressPolicy를 호출할 때 EvtIoAllocateRequestResources 콜백 함수를 등록할 수 있습니다.

드라이버가 EvtIoAllocateRequestResources 콜백 함수를 등록하는 경우 프레임워크는 I/O 관리자가 드라이버에 보낸 IRP(I/O 요청 패킷)에 대한 요청 개체를 만든 직후 함수를 호출합니다.

콜백 함수는 드라이버가 Queue 매개 변수의 핸들이 지정하는 I/O 큐에서 요청 개체를 가져온 후 나중에 요청을 처리하는 데 필요한 리소스를 할당할 수 있습니다.

콜백 함수가 리소스를 성공적으로 할당하고 STATUS_SUCCESS 반환하는 경우 프레임워크는 결국 요청 개체를 드라이버에 전달합니다.

메모리 부족 상황과 같이 리소스 할당 오류가 발생하는 경우 콜백 함수는 오류 상태 값을 반환해야 합니다. 이 경우 프레임워크는 드라이버가 WdfIoQueueAssignForwardProgressPolicy를 호출할 때 이전에 WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY 값으로 지정한 드라이버의 정방향 진행률 정책을 따릅니다.

EvtIoAllocateRequestResources 콜백 함수에 대한 자세한 내용은 I/O 작업의 전달 진행률 보장을 참조하세요.

이 콜백 함수는 IRQL <= DISPATCH_LEVEL 호출할 수 있습니다. IRQL이 PASSIVE_LEVEL 경우 프레임워크는 중요한 지역 내에서 콜백 함수를 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.9
머리글 wdfio.h(Wdf.h 포함)
IRQL <=DISPATCH_LEVEL(설명 섹션 참조)

추가 정보

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy