Função IoRegisterDriverReinitialization (ntddk.h)

A rotina IoRegisterDriverReinitialization é chamada por um driver durante sua inicialização ou reinicialização para registrar sua rotina de Reinicialização a ser chamada novamente antes que a inicialização do driver e, possivelmente do sistema, seja concluída.

Sintaxe

void IoRegisterDriverReinitialization(
  [in]           PDRIVER_OBJECT       DriverObject,
  [in]           PDRIVER_REINITIALIZE DriverReinitializationRoutine,
  [in, optional] PVOID                Context
);

Parâmetros

[in] DriverObject

Ponteiro para o objeto de driver que foi inserido para a rotina DriverEntry .

[in] DriverReinitializationRoutine

Ponteiro para a rotina Reinicializar do driver.

[in, optional] Context

Ponteiro para o contexto a ser passado para a rotina Reinicializar do driver.

Retornar valor

Nenhum

Comentários

Um driver só poderá chamar essa rotina se sua rotina DriverEntry retornar STATUS_SUCCESS. Se a rotina Reinicializar fornecida pelo driver precisar usar o Registro, a rotina DriverEntry deverá incluir uma cópia da cadeia de caracteres para a qual RegistryPath aponta como parte do contexto passado para a rotina Reinicializar nessa chamada.

Se o driver for carregado dinamicamente, é possível que isso ocorra durante um sistema normalmente em execução, portanto, todas as referências à fila de reinicialização devem ser sincronizadas.

A entrada Count para um DriverReinitializationRoutine indica quantas vezes essa rotina foi chamada, incluindo a chamada atual.

A rotina DriverEntry pode chamar IoRegisterDriverReinitialization apenas uma vez. Se a rotina Reinicializar deve ser executada novamente depois que as rotinas Reinicializar de outros drivers retornarem o controle, a rotina Reinicializar também poderá chamar IoRegisterDriverReinitialization quantas vezes a rotina Reinicializar do driver deve ser executada.

Normalmente, um driver com uma rotina Reinicializar é um driver de nível superior que controla os dispositivos PnP e herdados. Esse driver não deve apenas criar objetos de dispositivo para os dispositivos que o gerenciador PnP detecta (e para os quais o gerenciador PnP chama a rotina AddDevice do driver), o driver também deve criar objetos de dispositivo para dispositivos herdados que o gerenciador PnP não detecta. Um driver pode usar uma rotina Reinicializar para criar esses objetos de dispositivo e colocar o driver em camadas sobre o driver inferior seguinte para o dispositivo subjacente.

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), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Confira também

DRIVER_OBJECT

IoRegisterBootDriverReinitialization