Função IoGetDeviceAttachmentBaseRef (ntifs.h)

A rotina 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.

Retornar valor

IoGetDeviceAttachmentBaseRef retorna um ponteiro para o objeto do dispositivo na parte inferior do sistema de arquivos ou da pilha de driver de 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.

Comentários

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 registrou ou cancelou o registro 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 de 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
Cliente mínimo com suporte Pacote cumulativo de atualizações do Windows 2000 SP4; Windows XP
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Confira também

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString