Compartilhar via


Função IoGetDeviceAttachmentBaseRef (ntifs.h)

A rotina de IoGetDeviceAttachmentBaseRef retorna um ponteiro para o objeto de dispositivo de nível mais baixo em um sistema de arquivos ou pilha de driver de dispositivo.

Sintaxe

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

Parâmetros

[in] DeviceObject

Um ponteiro para um objeto de dispositivo na pilha.

Valor de retorno

IoGetDeviceAttachmentBaseRef retorna um ponteiro para o objeto do dispositivo na parte inferior do sistema de arquivos ou da pilha do driver do dispositivo. Se o objeto de dispositivo fornecido não estiver anexado a uma pilha de driver, IoGetDeviceAttachmentBaseRef retornará o ponteiro do objeto do dispositivo em DeviceObject.

Observações

Um driver de filtro do sistema de arquivos normalmente chama IoGetDeviceAttachmentBaseRef para obter o objeto de dispositivo de nível mais baixo em uma pilha de driver do sistema de arquivos. Geralmente, isso é feito quando o driver de filtro recebe uma notificação de que um sistema de arquivos se registrou ou não foi registrado como um sistema de arquivos ativo. A rotina de retorno de chamada de notificação do driver de filtro chama IoGetDeviceAttachmentBaseRef para obter um ponteiro para o objeto do dispositivo de controle do sistema de arquivos e, em seguida, chama ObQueryNameString para recuperar o nome desse objeto para fins de depuração.

IoGetDeviceAttachmentBaseRef incrementa a contagem de referência no objeto do dispositivo na parte inferior da pilha. Portanto, cada chamada bem-sucedida para IoGetDeviceAttachmentBaseRef deve ser correspondida por uma chamada subsequente para 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

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString