Freigeben über


WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT-Funktion (wdfio.h)

[Gilt nur für KMDF]

Die WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT-Funktion initialisiert die WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY-Struktur eines Treibers.

Syntax

void WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT(
  [out] PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY   Policy,
  [in]  ULONG                                   TotalForwardProgressRequests,
  [in]  PFN_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtIoWdmIrpForForwardProgress
);

Parameter

[out] Policy

Ein Zeiger auf die WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY-Struktur des Treibers.

[in] TotalForwardProgressRequests

Die Anzahl der Anforderungsobjekte, die das Framework für die Verwendung in Situationen mit wenig Arbeitsspeicher reservieren möchte. Dieser Wert muss größer null sein.

[in] EvtIoWdmIrpForForwardProgress

Ein Zeiger auf die EvtIoWdmIrpForForwardProgress-Rückruffunktion des Treibers.

Rückgabewert

Keine

Bemerkungen

Die WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT-Funktion nullt die angegebene WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY-Struktur und legt den Member Size fest. Außerdem werden die Elemente TotalForwardProgressRequests undForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForForwardProgress auf die angegebenen Werte festgelegt, und das ForwardProgressReservedPolicy-Element wird auf WdfIoForwardProgressProgressReservedPolicyUseExamine festgelegt.

Beispiele

Im folgenden Codebeispiel wird eine WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY-Struktur initialisiert und dann WdfIoQueueAssignForwardProgressPolicy aufgerufen. Im Beispiel gibt der Treiber an, dass das Framework 10 Anforderungsobjekte für Situationen mit geringem Arbeitsspeicher zuordnen und reservieren soll, und dass das Framework die Rückruffunktion MyIoForwardExamineIrpForforwardProgress des Treibers aufrufen soll, bevor eines der reservierten Anforderungsobjekte verwendet wird.

#define MAX_RESERVED_REQUESTS 10

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY queueForwardProgressPolicy;
WDFQUEUE readQueue;
NTSTATUS status = STATUS_SUCCESS;

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT(
    &queueForwardProgressPolicy,
    MAX_RESERVED_REQUESTS,
    MyIoForwardExamineIrpForForwardProgress
    );
status = WdfIoQueueAssignForwardProgressPolicy(
    readQueue,
    &queueForwardProgressPolicy
    );

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.9
Kopfzeile wdfio.h (einschließen von Wdf.h)

Weitere Informationen

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy