Compartilhar via


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)

Confira também

CONTROLLER_OBJECT

IoAllocateController

IoDeleteController

IoFreeController