IoVolumeDeviceToDosName 함수(ntddk.h)
IoVolumeDeviceToDosName 루틴은 파일 시스템 볼륨을 나타내는 지정된 디바이스 개체에 대한 MS-DOS 경로를 반환합니다.
구문
NTSTATUS IoVolumeDeviceToDosName(
[in] PVOID VolumeDeviceObject,
[out] PUNICODE_STRING DosName
);
매개 변수
[in] VolumeDeviceObject
스토리지 클래스 드라이버에서 만든 볼륨 디바이스 개체를 나타내는 디바이스 개체에 대한 포인터입니다.
[out] DosName
호출자가 할당한 UNICODE_STRING 구조체에 대한 포인터입니다. 호출에 성공하면 IoVolumeDeviceToDosName 은 이 구조체의 Length, MaximumLength 및 Buffer 멤버의 값을 설정합니다. 종료할 때 Buffer 멤버는 VolumeDeviceObject로 지정된 볼륨 디바이스 개체의 MS-DOS 경로를 포함하는 와이드 문자 null로 끝나는 문자열을 가리킵니다. 자세한 내용은 설명 부분을 참조하세요.
반환 값
IoVolumeDeviceToDosName 은 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 값 | Description |
---|---|
STATUS_INVALID_PARAMETER | 호출자가 전달한 잘못된 매개 변수 값으로 인해 루틴이 실패했습니다. |
STATUS_INSUFFICIENT_RESOURCES | 루틴이 이 작업에 필요한 리소스를 할당하지 못했습니다. |
설명
IoVolumeDeviceToDosName은 DosName 매개 변수가 가리키는 UNICODE_STRING 구조체의 Buffer 멤버가 가리키는 문자열 버퍼를 할당합니다. 이 버퍼가 더 이상 필요하지 않으면 이 루틴의 호출자는 ExFreePool 루틴을 호출하여 버퍼를 해제해야 합니다.
Windows Vista부터 이 루틴을 호출하기 전에 APC를 사용하지 않도록 설정해야 합니다. KeAreAllApcsDisabled 루틴을 사용하여 APC가 비활성화되지 않은지 확인할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |