ZwCreateDirectoryObject 함수(wdm.h)

ZwCreateDirectoryObject 루틴은 개체 디렉터리 개체를 만들거나 엽니다.

구문

NTSYSAPI NTSTATUS ZwCreateDirectoryObject(
  [out] PHANDLE            DirectoryHandle,
  [in]  ACCESS_MASK        DesiredAccess,
  [in]  POBJECT_ATTRIBUTES ObjectAttributes
);

매개 변수

[out] DirectoryHandle

개체 디렉터리에 대한 핸들을 수신하는 HANDLE 변수에 대한 포인터입니다.

[in] DesiredAccess

개체에 대한 요청된 액세스를 결정하는 ACCESS_MASK 값을 지정합니다. 호출자는 모든 유형의 개체에 대해 정의된 액세스 권한( ACCESS_MASK 참조) 외에도 개체 디렉터리에 특정한 다음 액세스 권한 중 하나 이상을 지정할 수 있습니다.

ACCESS_MASK 플래그 액세스 유형
DIRECTORY_QUERY 쿼리
DIRECTORY_TRAVERSE 이름 조회
DIRECTORY_CREATE_OBJECT 이름 만들기
DIRECTORY_CREATE_SUBDIRECTORY 하위 디렉터리 만들기
DIRECTORY_ALL_ACCESS 앞의 모든 형식

[in] ObjectAttributes

InitializeObjectAttributes를 호출하여 이미 초기화해야 하는 개체의 특성을 포함하는 OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다.

반환 값

ZwCreateDirectoryObject 는 NTSTATUS 값을 반환합니다. 가능한 반환 값은 다음과 같습니다.

설명

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

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

시스템은 개체 디렉터리를 사용하여 디바이스 개체와 같은 다른 유형의 개체를 구성합니다. 자세한 내용은 개체 디렉터리를 참조하세요.

시스템은 대신 파일 개체로 표시되는 파일 시스템 디렉터리를 나타내는 개체 디렉터리 개체를 사용하지 않습니다.

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

커널 모드 드라이버에서 호출하는 경우 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 버전 사용

ZwClose