IoVolumeDeviceToDosName 함수(ntddk.h)

IoVolumeDeviceToDosName 루틴은 파일 시스템 볼륨을 나타내는 지정된 디바이스 개체에 대한 MS-DOS 경로를 반환합니다.

구문

NTSTATUS IoVolumeDeviceToDosName(
  [in]  PVOID           VolumeDeviceObject,
  [out] PUNICODE_STRING DosName
);

매개 변수

[in] VolumeDeviceObject

스토리지 클래스 드라이버에서 만든 볼륨 디바이스 개체를 나타내는 디바이스 개체에 대한 포인터입니다.

[out] DosName

호출자가 할당한 UNICODE_STRING 구조체에 대한 포인터입니다. 호출에 성공하면 IoVolumeDeviceToDosName 은 이 구조체의 Length, MaximumLengthBuffer 멤버의 값을 설정합니다. 종료할 때 Buffer 멤버는 VolumeDeviceObject로 지정된 볼륨 디바이스 개체의 MS-DOS 경로를 포함하는 와이드 문자 null로 끝나는 문자열을 가리킵니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

IoVolumeDeviceToDosName 은 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 값 Description
STATUS_INVALID_PARAMETER 호출자가 전달한 잘못된 매개 변수 값으로 인해 루틴이 실패했습니다.
STATUS_INSUFFICIENT_RESOURCES 루틴이 이 작업에 필요한 리소스를 할당하지 못했습니다.

설명

IoVolumeDeviceToDosNameDosName 매개 변수가 가리키는 UNICODE_STRING 구조체의 Buffer 멤버가 가리키는 문자열 버를 할당합니다. 이 버퍼가 더 이상 필요하지 않으면 이 루틴의 호출자는 ExFreePool 루틴을 호출하여 버퍼를 해제해야 합니다.

Windows Vista부터 이 루틴을 호출하기 전에 APC를 사용하지 않도록 설정해야 합니다. KeAreAllApcsDisabled 루틴을 사용하여 APC가 비활성화되지 않은지 확인할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING