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 |
---|---|
|
Indique que la routine a alloué une extension de la taille demandée. |
|
Indique que la mémoire n’a pas pu être allouée à l’extension d’objet du pilote. |
|
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 |