다음을 통해 공유


ObfReferenceObject 함수(wdm.h)

ObfReferenceObject 루틴은 지정된 개체에 대한 참조 수를 증가합니다.

구문

LONG_PTR ObfReferenceObject(
  [in] PVOID Object
);

매개 변수

[in] Object

개체에 대한 포인터입니다. 호출자는 개체를 만들 때 또는 개체를 연 후 ObReferenceObjectByHandle 에 대한 이전 호출에서 이 매개 변수를 얻었습니다.

반환 값

ObfReferenceObject 는 시스템 사용을 위해 예약된 값을 반환합니다. 드라이버는 이 값을 VOID로 처리해야 합니다.

설명

ObfReferenceObjectObReferenceObjectByHandleObReferenceObjectByPointer 처럼 지정된 개체에 대한 액세스 검사를 수행하지 않고 개체에 대한 포인터 참조 수를 증가합니다.

ObfReferenceObject 는 적어도 드라이버가 상호, ObDereferenceObject를 호출하거나 지정된 개체를 닫을 때까지 개체 삭제를 방지합니다. 호출자는 개체를 사용하여 수행되는 즉시 ObDereferenceObject 를 사용하여 참조 수를 감소시켜야 합니다.

개체에 대한 참조 수가 0에 도달하면 커널 모드 구성 요소가 시스템에서 개체를 제거할 수 있습니다. 그러나 드라이버는 만든 개체만 제거할 수 있으며 드라이버는 만들지 않은 개체를 제거하려고 시도해서는 안 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), TargetRelationNeedsRef(wdm)

추가 정보

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose