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 |
---|---|
|
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 pour l’extension d’objet du pilote. |
|
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 |