다음을 통해 공유


QueryDosDeviceW 함수(fileapi.h)

MS-DOS 디바이스 이름에 대한 정보를 검색합니다. 함수는 특정 MS-DOS 디바이스 이름에 대한 현재 매핑을 가져올 수 있습니다. 함수는 모든 기존 MS-DOS 디바이스 이름 목록을 가져올 수도 있습니다.

MS-DOS 디바이스 이름은 개체 네임스페이스에 접합으로 저장됩니다. MS-DOS 경로를 해당 경로로 변환하는 코드는 이러한 접합을 사용하여 MS-DOS 디바이스 및 드라이브 문자를 매핑합니다. QueryDosDevice 함수를 사용하면 애플리케이션이 MS-DOS 디바이스 네임스페이스를 구현하는 데 사용되는 접합의 이름과 각 특정 접합의 값을 쿼리할 수 있습니다.

구문

DWORD QueryDosDeviceW(
  [in, optional] LPCWSTR lpDeviceName,
  [out]          LPWSTR  lpTargetPath,
  [in]           DWORD   ucchMax
);

매개 변수

[in, optional] lpDeviceName

쿼리의 대상을 지정하는 MS-DOS 디바이스 이름 문자열입니다. 디바이스 이름에 후행 백슬래시가 있을 수 없습니다. 예를 들어 "C:\"가 아닌 "C:"를 사용합니다.

이 매개 변수는 NULL일 수 있습니다. 이 경우 QueryDosDevice 함수는 모든 기존 MS-DOS 디바이스 이름 목록을 lpTargetPath가 가리키는 버퍼에 저장합니다.

[out] lpTargetPath

쿼리 결과를 수신할 버퍼에 대한 포인터입니다. 함수는 이 버퍼를 하나 이상의 null로 끝나는 문자열로 채웁니다. 마지막 null로 종료된 문자열 뒤에 추가 NULL이 잇습니다.

lpDeviceNameNULL이 아닌 경우 함수는 lpDeviceName으로 지정된 특정 MS-DOS 디바이스에 대한 정보를 검색합니다. 버퍼에 저장된 첫 번째 null 종료 문자열은 디바이스에 대한 현재 매핑입니다. 다른 null로 끝나는 문자열은 디바이스에 대한 삭제되지 않은 이전 매핑을 나타냅니다.

lpDeviceNameNULL인 경우 함수는 모든 기존 MS-DOS 디바이스 이름 목록을 검색합니다. 버퍼에 저장된 각 null로 끝나는 문자열은 기존 MS-DOS 디바이스의 이름입니다(예: \Device\HarddiskVolume1 또는 \Device\Floppy0).

[in] ucchMax

lpTargetPath가 가리키는 버퍼에 저장할 수 있는 최대 TCHAR 수입니다.

반환 값

함수가 성공하면 반환 값은 lpTargetPath가 가리키는 버퍼에 저장된 TCHAR의 수입니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

버퍼가 너무 작으면 함수가 실패하고 마지막 오류 코드가 ERROR_INSUFFICIENT_BUFFER.

설명

DefineDosDevice 함수를 사용하면 애플리케이션이 MS-DOS 디바이스 네임스페이스를 구현하는 데 사용되는 접합을 만들고 수정할 수 있습니다.

Windows Server 2003 및 Windows XP: QueryDosDevice 는 먼저 로컬 MS-DOS 디바이스 네임스페이스에서 지정된 디바이스 이름을 검색합니다. 디바이스 이름을 찾을 수 없는 경우 함수는 전역 MS-DOS 디바이스 네임스페이스를 검색합니다.

모든 기존 MS-DOS 디바이스 이름을 쿼리할 때 반환되는 디바이스 이름 목록은 "LocalSystem" 컨텍스트에서 실행 중인지 여부에 따라 달라집니다. 그렇다면 전역 MS-DOS 디바이스 네임스페이스에 포함된 디바이스 이름만 반환됩니다. 실행 중이 아닌 경우에는 전역 및 로컬 MS-DOS 디바이스 네임스페이스의 디바이스 이름 연결이 반환됩니다. 두 네임스페이스에 디바이스 이름이 있으면 QueryDosDevice가 로컬 MS-DOS 디바이스 네임스페이스의 항목을 반환합니다.

전역 및 로컬 MS-DOS 디바이스 네임스페이스 및 MS-DOS 디바이스 이름의 접근성 변경에 대한 자세한 내용은 MS DOS 디바이스 이름 정의를 참조하세요.

Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜 No
SMB 3.0 TFO(투명 장애 조치(failover)) No
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 No
CsvFS(클러스터 공유 볼륨 파일 시스템) Yes
ReFS(Resilient File System) Yes
 

SMB는 볼륨 관리 기능을 지원하지 않습니다.

예제

예를 들어 파일 핸들에서 파일 이름 가져오기 또는 볼륨 경로 표시를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 fileapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

DefineDosDevice

볼륨 관리 함수