다음을 통해 공유


IoGetDeviceAttachmentBaseRef 함수(ntifs.h)

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

통사론

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

매개 변수

[in] DeviceObject

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

반환 값

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

발언

파일 시스템 필터 드라이버는 일반적으로 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