GetMappedFileNameA 함수(psapi.h)
지정된 주소가 지정된 프로세스의 주소 공간에 있는 메모리 매핑된 파일 내에 있는지 확인합니다. 이 경우 함수는 메모리 매핑 파일의 이름을 반환합니다.
구문
DWORD GetMappedFileNameA(
[in] HANDLE hProcess,
[in] LPVOID lpv,
[out] LPSTR lpFilename,
[in] DWORD nSize
);
매개 변수
[in] hProcess
프로세스에 대한 핸들입니다. 핸들에는 PROCESS_QUERY_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.
[in] lpv
확인할 주소입니다.
[out] lpFilename
lpv에서 지정한 주소가 속한 메모리 매핑 파일의 이름을 수신하는 버퍼에 대한 포인터입니다.
[in] nSize
lpFilename 버퍼의 크기(문자)입니다.
반환 값
함수가 성공하면 반환 값은 버퍼에 복사된 문자열의 길이를 문자 단위로 지정합니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
Windows 7 및 Windows Server 2008 R2부터 Psapi.h는 PSAPI 함수에 대한 버전 번호를 설정합니다. PSAPI 버전 번호는 함수를 호출하는 데 사용되는 이름과 프로그램이 로드해야 하는 라이브러리에 영향을 줍니다.
PSAPI_VERSION 2 이상인 경우 이 함수는 Psapi.h에서 K32GetMappedFileName으로 정의되고 Kernel32.lib 및 Kernel32.dll 내보냅니다. PSAPI_VERSION 1이면 이 함수는 Psapi.h에서 GetMappedFileName으로 정의되고 Psapi.lib에서 내보내고 K32GetMappedFileName을 호출하는 래퍼로 Psapi.dll.
이전 버전의 Windows 및 Windows 7 이상 버전에서 실행해야 하는 프로그램은 항상 이 함수를 GetMappedFileName으로 호출해야 합니다. 기호의 올바른 해상도를 보장하려면 TARGETLIBS 매크로에 Psapi.lib를 추가하고 -DPSAPI_VERSION=1로 프로그램을 컴파일합니다. 런타임 동적 연결을 사용하려면 Psapi.dll 로드합니다.
Windows Server 2012 이 함수는 다음 기술에서 지원됩니다.
기술 | 지원됨 |
---|---|
SMB(서버 메시지 블록) 3.0 프로토콜 | Yes |
SMB 3.0 TFO(투명 장애 조치(failover)) | Yes |
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 | Yes |
CsvFS(클러스터 공유 볼륨 파일 시스템) | Yes |
ReFS(Resilient File System) | 예 |
예제
예제는 파일 핸들에서 파일 이름 가져오기를 참조하세요.
참고
psapi.h 헤더는 GETMappedFileName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | psapi.h |
라이브러리 | Windows 7 및 Windows Server 2008 R2의 Kernel32.lib; Windows 7 및 Windows Server 2008 R2의 Psapi.lib(PSAPI_VERSION=1인 경우) Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Psapi.lib |
DLL | Windows 7 및 Windows Server 2008 R2의 Kernel32.dll Windows 7 및 Windows Server 2008 R2의 Psapi.dll(PSAPI_VERSION=1인 경우) Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Psapi.dll |