Partager via


Fonction IoAllocateDriverObjectExtension (wdm.h)

La routine IoAllocateDriverObjectExtension alloue une zone de contexte par pilote, appelée d’extension d’objet de pilote, et lui affecte 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 de pilote vers lequel 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, à l’achèvement, zone de contexte allouée.

Valeur de retour

IoAllocateDriverObjectExtension retourne l’un des codes NTSTATUS suivants :

Retourner le code 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 pour l’extension d’objet du pilote.
STATUS_OBJECT_NAME_COLLISION
Indique qu’une extension d’objet de pilote avec la ClientIdentificationAddress donnée existe déjà.

Remarques

La mémoire allouée par le système pour l’extension d’objet du pilote est le stockage résident et est accessible à partir de n’importe quel runtime d’intégration. Le stockage alloué est automatiquement libéré par le gestionnaire d’E/S lorsque l’objet du 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 le ClientIdentificationAddress à IoGetDriverObjectExtension.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’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