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(설명 섹션 참조) |