Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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) |