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 clientIdentificationAddress dada. |
Comentarios
La memoria asignada por el sistema para la extensión de objeto del controlador es 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 llamador pasa ClientIdentificationAddress a IoGetDriverObjectExtension.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |