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.
NTSTATUS IoAllocateDriverObjectExtension(
[in] PDRIVER_OBJECT DriverObject,
[in] PVOID ClientIdentificationAddress,
[in] ULONG DriverObjectExtensionSize,
[out] PVOID *DriverObjectExtension
);
[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.
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. |
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.
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 |