Función IoAllocateDriverObjectExtension (wdm.h)
La rutina IoAllocateDriverObjectExtension asigna un área de contexto por controlador, denominada extensión de objeto de controlador y le asigna un identificador único.
Sintaxis
NTSTATUS IoAllocateDriverObjectExtension(
[in] PDRIVER_OBJECT DriverObject,
[in] PVOID ClientIdentificationAddress,
[in] ULONG DriverObjectExtensionSize,
[out] PVOID *DriverObjectExtension
);
Parámetros
[in] DriverObject
Puntero a un objeto de controlador al que se asociará el área de contexto.
[in] ClientIdentificationAddress
Especifica un identificador único para el área de contexto que se va a asignar.
[in] DriverObjectExtensionSize
Especifica la longitud, en bytes, del área de contexto que se va a asignar.
[out] DriverObjectExtension
Puntero a, al finalizar, el área de contexto asignada.
Valor devuelto
IoAllocateDriverObjectExtension devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
|
Indica que la rutina asignó una extensión del tamaño solicitado. |
|
Indica que no se pudo asignar la memoria para la extensión de objeto de controlador. |
|
Indica que ya existe una extensión de objeto de controlador con el ClientIdentificationAddress especificado. |
Observaciones
La memoria asignada por el sistema para la extensión de objeto driver es el almacenamiento residente y es accesible desde cualquier IRQL. El administrador de E/S libera automáticamente el almacenamiento asignado cuando se elimina el objeto de controlador.
Los autores de llamadas de esta rutina deben proporcionar un identificador único para ClientIdentificationAddress. Para recuperar un puntero al área de contexto, un autor de llamada pasa el ClientIdentificationAddress a IoGetDriverObjectExtension.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | <= DISPATCH_LEVEL |