Função IoCreateController (ntddk.h)
A rotina IoCreateController aloca memória e inicializa um objeto 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.
Valor de retorno
IoCreateController retorna um ponteiro para o objeto do controlador ou um ponteiro de NULL se a memória não puder ser alocada para a extensão de dispositivo solicitada.
Observações
Um objeto controlador geralmente representa um controlador de dispositivo físico com dispositivos anexados nos quais um único driver realiza 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 entrar simultaneamente em 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 |
---|---|
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 | PASSIVE_LEVEL |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlIoPassive2(wdm), PowerIrpDDis(wdm) |