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 네이티브 시스템 서비스 루틴의 NtXxx 및 ZwXxx 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 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) |