Partager via


Fonction IoAllocateDriverObjectExtension (wdm.h)

La routine IoAllocateDriverObjectExtension alloue une zone de contexte par pilote, appelée extension d’objet de pilote, et lui attribue un identificateur unique.

Syntaxe

NTSTATUS IoAllocateDriverObjectExtension(
  [in]  PDRIVER_OBJECT DriverObject,
  [in]  PVOID          ClientIdentificationAddress,
  [in]  ULONG          DriverObjectExtensionSize,
  [out] PVOID          *DriverObjectExtension
);

Paramètres

[in] DriverObject

Pointeur vers un objet pilote auquel la zone de contexte sera associée.

[in] ClientIdentificationAddress

Spécifie un identificateur unique pour la zone de contexte à allouer.

[in] DriverObjectExtensionSize

Spécifie la longueur, en octets, de la zone de contexte à allouer.

[out] DriverObjectExtension

Pointeur vers, à la fin, la zone de contexte allouée.

Valeur retournée

IoAllocateDriverObjectExtension retourne l’un des codes NTSTATUS suivants :

Code de retour Description
STATUS_SUCCESS
Indique que la routine a alloué une extension de la taille demandée.
STATUS_INSUFFICIENT_RESOURCES
Indique que la mémoire n’a pas pu être allouée à l’extension d’objet du pilote.
STATUS_OBJECT_NAME_COLLISION
Indique qu’une extension d’objet de pilote avec le ClientIdentificationAddress donné existe déjà.

Remarques

La mémoire allouée par le système pour l’extension d’objet de pilote est un stockage résident et est accessible à partir de n’importe quel IRQL. Le stockage alloué est automatiquement libéré par le gestionnaire d’E/S lorsque l’objet pilote est supprimé.

Les appelants de cette routine doivent fournir un identificateur unique pour ClientIdentificationAddress. Pour récupérer un pointeur vers la zone de contexte, un appelant transmet ClientIdentificationAddress à IoGetDriverObjectExtension.

Configuration requise

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

Voir aussi

IoGetDriverObjectExtension