Partager via


WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT, fonction (wdfio.h)

[S’applique à KMDF uniquement]

La fonction WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT initialise la structure WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY d’un pilote.

Syntaxe

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
);

Paramètres

[out] Policy

Pointeur vers la structure WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY du pilote.

[in] TotalForwardProgressRequests

Nombre d’objets de requête que l’infrastructure tente de réserver pour une utilisation dans des situations de mémoire insuffisante. Ce nombre doit être supérieur à zéro.

[in] EvtIoWdmIrpForForwardProgress

Pointeur vers la fonction de rappel EvtIoWdmIrpForForWardProgress du pilote.

Valeur de retour

None

Remarques

La fonction WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT met à zéro la structure de WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY spécifiée et définit son membre Size . Il définit également les membres TotalForwardProgressRequests etForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForForwardProgress sur les valeurs spécifiées, et définit le membre ForwardProgressReservedPolicy sur WdfIoForwardProgressReservedPolicyUseExamine.

Exemples

L’exemple de code suivant initialise une structure WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY , puis appelle WdfIoQueueAssignForwardProgressPolicy. Dans l’exemple, le pilote spécifie que l’infrastructure doit allouer et réserver 10 objets de requête pour les situations de mémoire insuffisante, et que l’infrastructure doit appeler la fonction de rappel MyIoForwardExamineIrpForforwardProgress du pilote avant d’utiliser l’un des objets de requête réservés.

#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
    );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1,9
En-tête wdfio.h (inclure Wdf.h)

Voir aussi

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy