다음을 통해 공유


IoGetAttachedDeviceReference 함수(ntifs.h)

IoGetAttachedDeviceReference 루틴은 드라이버 스택에서 가장 높은 수준의 디바이스 개체에 대한 포인터를 반환하고 해당 개체에 대한 참조 수를 증분합니다.

구문

PDEVICE_OBJECT IoGetAttachedDeviceReference(
  [in] PDEVICE_OBJECT DeviceObject
);

매개 변수

[in] DeviceObject

맨 위에 연결된 디바이스 개체가 검색되는 디바이스 개체에 대한 포인터입니다.

반환 값

IoGetAttachedDeviceReference 는 개체에 대한 참조 수를 증분한 후 연결된 디바이스 개체 스택에서 가장 높은 수준의 디바이스 개체에 대한 포인터를 반환합니다.

설명

DeviceObject의 디바이스 개체에 연결된 디바이스 개체가 없으면 DeviceObject 및 반환된 포인터가 같습니다.

디바이스 드라이버 작성기는 이 호출에 필요한 모든 작업을 완료했을 때 이 루틴에서 반환된 디바이스 개체 포인터를 사용하여 ObDereferenceObject 를 호출하는지 확인해야 합니다. 이렇게 하지 않으면 시스템이 미해결 참조 횟수 때문에 디바이스 개체를 해제하거나 삭제하지 못하게 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000
대상 플랫폼 유니버설
헤더 ntifs.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 DanglingDeviceObjectReference(wdm), HwStorPortProhibitedDDDIs(storport)

추가 정보

ObDereferenceObject