Função IoAllocateController (ntddk.h)
A rotina de do IoAllocateController configura a chamada para uma rotina de ControllerControl fornecida pelo driver assim que o controlador de dispositivo, representado pelo objeto do controlador fornecido, estiver 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 de ControllerControl fornecida pelo driver.
[in, optional] Context
Ponteiro para um contexto determinado pelo driver, passado para a rotina ControllerControl do do driver quando ele é chamado.
Valor de retorno
Nenhum
Observações
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 posteriormente IoFreeController para liberar o objeto do controlador.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | ntddk.h (inclua Ntddk.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport) |