다음을 통해 공유


ZwOpenSymbolicLinkObject 함수(wdm.h)

ZwOpenSymbolicLinkObject 루틴은 기존 기호 링크를 엽니다.

구문

NTSYSAPI NTSTATUS ZwOpenSymbolicLinkObject(
  [out] PHANDLE            LinkHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

매개 변수

[out] LinkHandle

기호 링크 개체에 대한 핸들을 수신하는 HANDLE 변수에 대한 포인터입니다.

[in] DesiredAccess

개체에 대한 요청된 액세스를 결정하는 ACCESS_MASK 값을 지정합니다. 호출자는 일반적으로 GENERIC_READ 지정하므로 핸들을 ZwQuerySymbolicLinkObject에 전달할 수 있습니다.

[in] ObjectAttributes

개체 이름 및 기타 특성을 지정하는 OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. InitializeObjectAttributes를 사용하여 이 구조를 초기화합니다. 호출자가 시스템 스레드 컨텍스트에서 실행되고 있지 않으면 InitializeObjectAttributes를 호출할 때 OBJ_KERNEL_HANDLE 특성을 설정해야 합니다.

반환 값

ZwOpenSymbolicLinkObject는 성공 또는 적절한 오류 상태 STATUS_SUCCESS 반환합니다.

설명

LinkHandle에서 가리키는 핸들이 더 이상 사용되지 않으면 드라이버는 ZwClose를 호출하여 닫아야 합니다.

호출자가 시스템 스레드 컨텍스트에서 실행되고 있지 않으면 호출자가 만드는 핸들이 프라이빗 핸들인지 확인해야 합니다. 그렇지 않으면 드라이버가 실행 중인 컨텍스트의 프로세스에서 핸들에 액세스할 수 있습니다. 자세한 내용은 개체 핸들을 참조하세요.

ZwOpenSymbolicLinkObject 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwOpenSymbolicLinkObject" 대신 "NtOpenSymbolicLinkObject"라는 이름을 사용해야 합니다.

NtOpenSymbolicLinkObjectZwOpenSymbolicLinkObject 는 동일한 Windows 네이티브 시스템 서비스 루틴의 두 가지 버전입니다. Windows 커널의 NtOpenSymbolicLinkObject 루틴은 커널 모드 드라이버에서 직접 액세스할 수 없습니다. 그러나 커널 모드 드라이버는 ZwOpenSymbolicLinkObject 루틴을 호출하여 이 루틴에 간접적으로 액세스할 수 있습니다.

커널 모드 드라이버에서 호출하는 경우 Windows 네이티브 시스템 서비스 루틴의 NtXxxZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 NtXxx 버전과 ZwXxx 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

추가 정보

ACCESS_MASK

InitializeObjectAttributes

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용

ZwQuerySymbolicLinkObject