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