Compartir a través de


Función IoCreateController (ntddk.h)

La rutina IoCreateController asigna memoria para e inicializa un objeto de controlador con una extensión de controlador de un tamaño determinado por el controlador.

Sintaxis

PCONTROLLER_OBJECT IoCreateController(
  [in] ULONG Size
);

Parámetros

[in] Size

Especifica el número de bytes que se asignarán para la extensión del controlador.

Valor devuelto

ioCreateController devuelve un puntero al objeto de controlador o un puntero NULL si no se pudo asignar memoria para la extensión de dispositivo solicitada.

Observaciones

Normalmente, un objeto de controlador representa un controlador de dispositivo físico con dispositivos conectados en los que un solo controlador realiza solicitudes de E/S. La extensión del controlador se asigna desde un grupo no paginado y se garantiza que cualquier rutina de controlador y en un contexto de subproceso arbitrario sea accesible.

El objeto de controlador se usa para sincronizar las operaciones de E/S con los dispositivos de destino para los que las solicitudes de E/S pueden entrar simultáneamente en un único controlador monolítico. Un controlador también puede usar un objeto de controlador para sincronizar las operaciones a través de canales de dispositivo.

Si IoCreateController devuelve null, el controlador debe producir un error en el inicio del dispositivo.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm)

Consulte también

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

ioFreeController