Compartilhar via


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)

Consulte também

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController