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 a un puntero NULL si no se pudo asignar memoria para la extensión de dispositivo solicitada.

Comentarios

Un objeto de controlador suele representar un controlador de dispositivo físico con dispositivos conectados en los que un único 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 Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Ntddk.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm)

Consulte también

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController