WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT 함수(wdfio.h)

[KMDF에만 적용]

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT 함수는 드라이버의 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 구조를 초기화합니다.

구문

void WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT(
  [out] PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy,
  [in]  ULONG                                 TotalForwardProgressRequests
);

매개 변수

[out] Policy

드라이버의 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 구조체에 대한 포인터입니다.

[in] TotalForwardProgressRequests

프레임워크가 메모리 부족 상황에서 사용하기 위해 예약하려고 시도하는 요청 개체의 수입니다. 이 수는 0보다 커야 합니다.

반환 값

없음

설명

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT 함수는 지정된 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 구조체를 0으로 설정하고 Size 멤버를 설정합니다. 또한 ForwardProgressReservedPolicy 멤버를 WdfIoForwardProgressReservedPolicyUseExamine으로 설정합니다.

예제

다음 코드 예제에서는 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 구조를 초기화한 다음 WdfIoQueueAssignForwardProgressPolicy를 호출합니다. 이 예제에서 드라이버는 프레임워크가 메모리 부족 상황에 대해 10개의 요청 개체를 할당하고 예약해야 하며, I/O 요청이 페이징 작업인 경우에만 프레임워크가 메모리 부족 상황에서 예약된 요청 중 하나를 사용하도록 지정합니다.

#define MAX_RESERVED_REQUESTS 10

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY queueForwardProgressPolicy;
WDFQUEUE readQueue;
NTSTATUS status = STATUS_SUCCESS;

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT(
    &queueForwardProgressPolicy,
    MAX_RESERVED_REQUESTS
    );
status = WdfIoQueueAssignForwardProgressPolicy(
    readQueue,
    &queueForwardProgressPolicy
    );

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.9
머리글 wdfio.h(Wdf.h 포함)

추가 정보

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT

WdfIoQueueAssignForwardProgressPolicy