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) |