Função IoCreateController (ntddk.h)
A rotina IoCreateController aloca memória para e inicializa um objeto de controlador com uma extensão de controlador de um tamanho determinado pelo driver.
Sintaxe
PCONTROLLER_OBJECT IoCreateController(
[in] ULONG Size
);
Parâmetros
[in] Size
Especifica o número de bytes a serem alocados para a extensão do controlador.
Retornar valor
IoCreateController retornará um ponteiro para o objeto do controlador ou um ponteiro NULL se a memória não puder ser alocada para a extensão de dispositivo solicitada.
Comentários
Um objeto de controlador geralmente representa um controlador de dispositivo físico com dispositivos anexados nos quais um único driver executa solicitações de E/S. A extensão do controlador é alocada do pool nãopagado e tem a garantia de ser acessível por qualquer rotina de driver e em um contexto de thread arbitrário.
O objeto do controlador é usado para sincronizar operações de E/S para dispositivos de destino para os quais as solicitações de E/S podem vir simultaneamente para um único driver monolítico. Um driver também pode usar um objeto de controlador para sincronizar operações por meio de canais de dispositivo.
Se IoCreateController retornar NULL, o driver deverá falhar na inicialização do dispositivo.
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 | PASSIVE_LEVEL |
Regras de conformidade da DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |