NtOpenEnlistment 함수(wdm.h)
ZwOpenEnlistment 루틴은 기존 인리스트먼트 개체대한 핸들을 가져옵니다.
통사론
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenEnlistment(
[out] PHANDLE EnlistmentHandle,
[in] ACCESS_MASK DesiredAccess,
[in] HANDLE ResourceManagerHandle,
[in] LPGUID EnlistmentGuid,
[in, optional] POBJECT_ATTRIBUTES ObjectAttributes
);
매개 변수
[out] EnlistmentHandle
ZwOpenEnlistment 호출이 성공하면 인리스트먼트 개체에 대한 핸들을 수신하는 호출자 할당 변수에 대한 포인터입니다.
[in] DesiredAccess
인리스트먼트 개체에 대한 요청된 액세스를 지정하는 ACCESS_MASK형식화된 값입니다. 이 매개 변수를 지정하는 방법에 대한 자세한 내용은 ZwCreateEnlistmentDesiredAccess 매개 변수를 참조하세요. 이 매개 변수는 0일 수 없습니다.
[in] ResourceManagerHandle
ZwCreateResourceManager 또는 ZwOpenResourceManager대한 이전 호출로 얻은 리소스 관리자 개체에 대한 핸들입니다.
[in] EnlistmentGuid
인리스트먼트를 식별하는 GUID에 대한 포인터입니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
[in, optional] ObjectAttributes
개체의 특성을 지정하는 OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. InitializeObjectAttributes 루틴을 사용하여 이 구조를 초기화하지만 해당 루틴의 InitializedAttributes 및 특성 매개 변수만 지정합니다. 호출자가 시스템 스레드 컨텍스트에서 실행되고 있지 않으면 Attributes 매개 변수에서 OBJ_KERNEL_HANDLE 플래그를 설정해야 합니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
반환 값
ZwOpenEnlistment 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 이 루틴이 다음 값 중 하나를 반환할 수 있습니다.
반환 코드 | 묘사 |
---|---|
|
개체 핸들이 잘못되었습니다. |
|
호출자는 인리스트먼트 개체에 대한 적절한 액세스 권한이 없습니다. |
|
DesiredAccess 매개 변수의 값이 0이거나 EnlistmentGuid 매개 변수의 값이 NULL . |
|
EnlistmentGuid 매개 변수가 지정하는 인리스트먼트는 RmHandle 매개 변수가 지정하는 리소스 관리자에 대해 존재하지 않습니다. |
|
DesiredAccess 매개 변수의 값이 잘못되었습니다. |
루틴은 다른NTSTATUS 값을 반환할 수 있습니다.
발언
일반적으로 TPS 구성 요소는 이전에 ZwCreateEnlistment호출한 다른 TPS 구성 요소에서 인리스트먼트 GUID를 수신한 후 ZwOpenEnlistment 호출합니다. 대부분의 TPS 디자인은 ZwOpenEnlistment호출할 필요가 없습니다.
ZwOpenEnlistment 호출하는 리소스 관리자는 결국 ZwClose 호출하여 개체 핸들을 닫아야 합니다.
ZwOpenEnlistment대한 자세한 내용은 인리스트먼트 개체를 참조하세요.
NtOpenEnlistment 및 ZwOpenEnlistment 동일한 Windows 네이티브 시스템 서비스 루틴의 두 가지 버전입니다.
커널 모드 드라이버의 호출의 경우 NtXxx 및 ZwXxx 버전의 Windows Native System Services 루틴은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. NtXxxZwXxx 루틴 버전 간의 관계에 대한 자세한 내용은 네이티브 시스템 서비스 루틴 Nt 및 Zw 버전 사용참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 운영 체제 버전에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs, PowerIrpDDis |
참고 항목
네이티브 시스템 서비스 루틴 Nt 및 Zw 버전 사용