다음을 통해 공유


IoGetDeviceAttachmentBaseRef 함수(ntifs.h)

IoGetDeviceAttachmentBaseRef 루틴은 파일 시스템 또는 디바이스 드라이버 스택에서 가장 낮은 수준의 디바이스 개체에 대한 포인터를 반환합니다.

구문

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

매개 변수

[in] DeviceObject

스택의 디바이스 개체에 대한 포인터입니다.

반환 값

IoGetDeviceAttachmentBaseRef 는 파일 시스템 또는 디바이스 드라이버 스택의 맨 아래에 있는 디바이스 개체에 대한 포인터를 반환합니다. 지정된 디바이스 개체가 드라이버 스택에 연결되지 않은 경우 IoGetDeviceAttachmentBaseRefDeviceObject에서 디바이스 개체 포인터를 반환합니다.

설명

파일 시스템 필터 드라이버는 일반적으로 IoGetDeviceAttachmentBaseRef 를 호출하여 파일 시스템 드라이버 스택에서 가장 낮은 수준의 디바이스 개체를 가져옵니다. 이 작업은 종종 필터 드라이버가 파일 시스템이 활성 파일 시스템으로 등록 또는 등록 취소되었다는 알림을 받을 때 수행됩니다. 필터 드라이버의 알림 콜백 루틴은 IoGetDeviceAttachmentBaseRef 를 호출하여 파일 시스템의 제어 디바이스 개체에 대한 포인터를 가져옵니다. 그런 다음 ObQueryNameString 을 호출하여 디버깅을 위해 이 개체의 이름을 검색합니다.

IoGetDeviceAttachmentBaseRef 는 스택 아래쪽의 디바이스 개체에 대한 참조 수를 증가합니다. 따라서 IoGetDeviceAttachmentBaseRef 에 대한 모든 성공적인 호출은 ObDereferenceObject에 대한 후속 호출과 일치해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 SP4 업데이트 롤업; Windows XP
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

추가 정보

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString