IoAllocateDriverObjectExtension-Funktion (wdm.h)
Die IoAllocateDriverObjectExtension-Routine weist einen Treiberkontextbereich zu, der als Treiberobjekterweiterung bezeichnet wird, und weist ihm einen eindeutigen Bezeichner zu.
Syntax
NTSTATUS IoAllocateDriverObjectExtension(
[in] PDRIVER_OBJECT DriverObject,
[in] PVOID ClientIdentificationAddress,
[in] ULONG DriverObjectExtensionSize,
[out] PVOID *DriverObjectExtension
);
Parameter
[in] DriverObject
Zeiger auf ein Treiberobjekt, dem der Kontextbereich zugeordnet wird.
[in] ClientIdentificationAddress
Gibt einen eindeutigen Bezeichner für den zuzuordnenden Kontextbereich an.
[in] DriverObjectExtensionSize
Gibt die Länge des zuzuordnenden Kontextbereichs in Bytes an.
[out] DriverObjectExtension
Zeiger auf den zugeordneten Kontextbereich nach Abschluss.
Rückgabewert
IoAllocateDriverObjectExtension gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass die Routine eine Erweiterung der angeforderten Größe zugewiesen hat. |
|
Gibt an, dass der Arbeitsspeicher nicht für die Treiberobjekterweiterung zugewiesen werden konnte. |
|
Gibt an, dass eine Treiberobjekterweiterung mit der angegebenen ClientIdentificationAddress bereits vorhanden ist. |
Hinweise
Der vom System für die Treiberobjekterweiterung zugewiesene Speicher ist residenter Speicher und kann von jedem IRQL aus zugegriffen werden. Der zugewiesene Speicher wird automatisch vom E/A-Manager freigegeben, wenn das Treiberobjekt gelöscht wird.
Aufrufer dieser Routine müssen einen eindeutigen Bezeichner für ClientIdentificationAddress bereitstellen. Um einen Zeiger auf den Kontextbereich abzurufen, übergibt ein Aufrufer die ClientIdentificationAddress an IoGetDriverObjectExtension.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |