Compartir a través de


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
STATUS_SUCCESS
Indica que la rutina asignó una extensión del tamaño solicitado.
STATUS_INSUFFICIENT_RESOURCES
Indica que no se pudo asignar la memoria para la extensión de objeto de controlador.
STATUS_OBJECT_NAME_COLLISION
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

Consulte también

IoGetDriverObjectExtension