Função IoAllocateController (ntddk.h)

A rotina IoAllocateController configura a chamada para uma rotina ControllerControl fornecida pelo driver assim que o controlador do dispositivo, representado pelo objeto de controlador fornecido, está disponível para executar uma operação de E/S para o dispositivo de destino, representada pelo objeto de dispositivo fornecido.

Sintaxe

void IoAllocateController(
  [in]           PCONTROLLER_OBJECT ControllerObject,
  [in]           PDEVICE_OBJECT     DeviceObject,
  [in]           PDRIVER_CONTROL    ExecutionRoutine,
  [in, optional] PVOID              Context
);

Parâmetros

[in] ControllerObject

Ponteiro para um objeto de controlador criado pelo driver, geralmente representando um controlador físico a ser alocado para uma operação de E/S em um dispositivo anexado.

[in] DeviceObject

Ponteiro para o objeto do dispositivo, representando o dispositivo de destino do IRP atual.

[in] ExecutionRoutine

Ponteiro para a rotina ControllerControl fornecida pelo driver.

[in, optional] Context

Ponteiro para um contexto determinado pelo driver, passado para a rotina ControllerControl do driver quando ele é chamado.

Retornar valor

Nenhum

Comentários

Essa rotina reserva acesso exclusivo ao controlador de hardware para o dispositivo especificado.

A rotina ControllerControl retorna um valor que indica se o controlador permanece alocado para o dispositivo, DeallocateObject ou KeepObject. Se ele retornar KeepObject, o driver deverá chamar IoFreeController posteriormente para liberar o objeto do controlador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport)

Confira também

ControllerControl

IoCreateController

IoDeleteController

IoFreeController