Freigeben über


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
STATUS_SUCCESS
Gibt an, dass die Routine eine Erweiterung der angeforderten Größe zugewiesen hat.
STATUS_INSUFFICIENT_RESOURCES
Gibt an, dass der Arbeitsspeicher nicht für die Treiberobjekterweiterung zugewiesen werden konnte.
STATUS_OBJECT_NAME_COLLISION
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

Weitere Informationen

IoGetDriverObjectExtension