Funzione IoAllocateDriverObjectExtension (wdm.h)

La routine IoAllocateDriverObjectExtension alloca un'area di contesto per driver, denominata estensione dell'oggetto driver e assegna un identificatore univoco.

Sintassi

C++
NTSTATUS IoAllocateDriverObjectExtension(
  [in]  PDRIVER_OBJECT DriverObject,
  [in]  PVOID          ClientIdentificationAddress,
  [in]  ULONG          DriverObjectExtensionSize,
  [out] PVOID          *DriverObjectExtension
);

Parametri

[in] DriverObject

Puntatore a un oggetto driver a cui verrà associata l'area di contesto.

[in] ClientIdentificationAddress

Specifica un identificatore univoco per l'area di contesto da allocare.

[in] DriverObjectExtensionSize

Specifica la lunghezza, in byte, dell'area di contesto da allocare.

[out] DriverObjectExtension

Puntatore a, al completamento, area del contesto allocata.

Valore restituito

IoAllocateDriverObjectExtension restituisce uno dei codici NTSTATUS seguenti:

Codice restituito Descrizione
STATUS_SUCCESS
Indica che la routine ha allocato un'estensione delle dimensioni richieste.
STATUS_INSUFFICIENT_RESOURCES
Indica che non è stato possibile allocare la memoria per l'estensione dell'oggetto driver.
STATUS_OBJECT_NAME_COLLISION
Indica che esiste già un'estensione dell'oggetto driver con il ClientIdentificationAddress specificato.

Osservazioni

La memoria allocata dal sistema per l'estensione dell'oggetto driver è una risorsa di archiviazione residente ed è accessibile da qualsiasi IRQL. L'archiviazione allocata viene liberata automaticamente dal gestore di I/O quando l'oggetto driver viene eliminato.

I chiamanti di questa routine devono fornire un identificatore univoco per ClientIdentificationAddress. Per recuperare un puntatore all'area di contesto, un chiamante passa il ClientIdentificationAddress a IoGetDriverObjectExtension.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedere anche

IoGetDriverObjectExtension