GetBinaryTypeA 함수(winbase.h)

파일이 실행 파일(.exe) 파일인지 여부와 파일인 경우 실행 파일을 실행하는 하위 시스템을 결정합니다.

통사론

BOOL GetBinaryTypeA(
  [in]  LPCSTR  lpApplicationName,
  [out] LPDWORD lpBinaryType
);

매개 변수

[in] lpApplicationName

실행 형식을 확인할 파일의 전체 경로입니다.

기본적으로 이름은 MAX_PATH 문자로 제한됩니다. 이 제한을 32,767자로 확장하려면 경로 앞에 "\\?\"를 추가합니다. 자세한 내용은 이름 지정 파일, 경로 및 네임스페이스참조하세요.

팁

Windows 10 버전 1607부터 "\\?\" 앞에 추가하지 않고 MAX_PATH 제한을 제거하도록 옵트인할 수 있습니다. 자세한 내용은 명명 파일, 경로 및 네임스페이스의 "최대 경로 길이 제한" 섹션을.

[out] lpBinaryType

lpApplicationName지정된 파일의 실행 형식에 대한 정보를 수신하는 변수에 대한 포인터입니다. 다음 상수가 정의됩니다.

값 의미
SCS_32BIT_BINARY
0
32비트 Windows 기반 애플리케이션
SCS_64BIT_BINARY
6
64비트 Windows 기반 애플리케이션.
SCS_DOS_BINARY
1
MS-DOS - 기반 애플리케이션
SCS_OS216_BINARY
5
16비트 OS/2 기반 애플리케이션
SCS_PIF_BINARY
3
MS-DOS 기반 애플리케이션을 실행하는 PIF 파일
SCS_POSIX_BINARY
4
POSIX – 기반 애플리케이션
SCS_WOW_BINARY
2
16비트 Windows 기반 애플리케이션

반환 값

파일이 실행 가능한 경우 반환 값은 0이 아닌 값입니다. 이 함수는 lpBinaryType 가리키는 변수를 설정하여 파일의 실행 형식을 나타냅니다.

파일이 실행 가능하지 않거나 함수가 실패하는 경우 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다. 파일이 DLL이면 마지막 오류 코드가 ERROR_BAD_EXE_FORMAT.

발언

또는 SHGetFileInfo 함수를 호출하고 uFlags 매개 변수에 SHGFI_EXETYPE 플래그를 전달하여 동일한 정보를 얻을 수 있습니다.

바로 가기 링크 동작 - 경로가 기호 링크를 가리키는 경우 대상 파일이 사용됩니다.

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

기술 지원
SMB(서버 메시지 블록) 3.0 프로토콜 예
SMB 3.0 TFO(투명한 장애 조치(failover) 예
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 예
CsvFS(클러스터 공유 볼륨 파일 시스템) 예
ReFS(복원 파일 시스템) 예
 

메모

winbase.h 헤더는 GETBinaryType을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

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

참고 항목

파일 관리 함수

SHGetFileInfo

기호 링크