Compartilhar via


Função IoGetLowerDeviceObject (ntifs.h)

A rotina IoGetLowerDeviceObject retorna um ponteiro para o objeto de dispositivo de nível inferior seguinte na pilha do driver.

Sintaxe

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

Parâmetros

[in] DeviceObject

Um ponteiro para o objeto do dispositivo na pilha para a qual o objeto de dispositivo de nível inferior seguinte deve ser retornado.

Valor de retorno

IoGetLowerDeviceObject retorna um ponteiro para o objeto de dispositivo de nível inferior seguinte na pilha de driver.

Observações

Dado um ponteiro para um objeto de dispositivo em um sistema de arquivos ou pilha de driver de dispositivo, IoGetLowerDeviceObject retorna um ponteiro para o próximo objeto de dispositivo de nível inferior na pilha.

IoGetLowerDeviceObject retornará NULL se:

  • O driver de nível inferior seguinte não é carregado.

  • O driver de nível inferior está sendo descarregado, removido ou excluído no momento.

  • O objeto de dispositivo apontado por DeviceObject é o objeto de dispositivo mais baixo na pilha de driver.

Um driver de filtro do sistema de arquivos normalmente usa IoGetLowerDeviceObject para determinar se ele já está anexado à pilha de driver de filtro encadeada acima de um determinado objeto de dispositivo do sistema de arquivos. Primeiro, o filtro chama IoGetAttachedDeviceReference para obter um ponteiro para o objeto de dispositivo mais alto da pilha. Em seguida, ele chama IoGetLowerDeviceObject repetidamente para percorrer a pilha de driver, verificando cada objeto do dispositivo para ver se o objeto pertence ao driver de filtro.

IoGetLowerDeviceObject incrementa a contagem de referência no objeto de dispositivo de nível inferior seguinte se houver um. Assim, cada chamada para IoGetLowerDeviceObject que não retorna NULL deve ser correspondida por uma chamada subsequente ObDereferenceObject.

Requisitos

Requisito Valor
de cliente com suporte mínimo Pacote cumulativo de atualizações do Windows 2000 SP4; Windows XP
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte também

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject