Partager via


Fonction IoInitializeIrp (wdm.h)

La routine IoInitializeIrp initialise un IRP donné qui a été alloué par l’appelant.

Syntaxe

void IoInitializeIrp(
  [in, out] PIRP   Irp,
  [in]      USHORT PacketSize,
  [in]      CCHAR  StackSize
);

Paramètres

[in, out] Irp

Pointeur vers l’IRP à initialiser.

[in] PacketSize

Spécifie la taille en octets de l’IRP.

[in] StackSize

Spécifie le nombre d’emplacements de pile dans l’IRP.

Valeur de retour

None

Remarques

Les pilotes utilisent IoInitializeIrp pour initialiser les IRP que le pilote a alloués en mémoire brute. N’utilisez pas IoInitializeIrp pour initialiser un IRP alloué par IoAllocateIrp. IoAllocateIrp initialise automatiquement les membres de l’IRP.

Les pilotes peuvent utiliser IoInitializeIrp pour réinitialiser un IRP en vue d’une réutilisation uniquement dans certaines circonstances. Pour plus d’informations, consultez Réutilisation des IRPs .

Si le pilote associe une MDL au IRP qu’il a alloué, il est responsable de la libération du MDL une fois l’IRP terminée.

Un pilote intermédiaire ou de niveau supérieur peut également appeler IoBuildDeviceIoControlRequest, IoBuildAsynchronousFsdRequest ou IoBuildSynchronousFsdRequest pour configurer les requêtes qu’il envoie aux pilotes de niveau inférieur. Seul un pilote de niveau supérieur peut appeler IoMakeAssociatedIrp.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),IoReuseIrp(wdm)

Voir aussi

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp