Bagikan melalui


Fungsi GetBinaryTypeA (winbase.h)

Menentukan apakah file adalah file yang dapat dieksekusi (.exe), dan jika demikian, subsistem mana yang menjalankan file yang dapat dieksekusi.

Sintaksis

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

Parameter

[in] lpApplicationName

Jalur lengkap file yang jenisnya dapat dieksekusi akan ditentukan.

Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.

Ujung

Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.

[out] lpBinaryType

Penunjuk ke variabel untuk menerima informasi tentang jenis file yang dapat dieksekusi yang ditentukan oleh lpApplicationName. Konstanta berikut didefinisikan.

Nilai Arti
SCS_32BIT_BINARY
0
Aplikasi berbasis Windows 32-bit
SCS_64BIT_BINARY
6
Aplikasi berbasis Windows 64-bit.
SCS_DOS_BINARY
1
Aplikasi berbasis MS-DOS –
SCS_OS216_BINARY
5
Aplikasi berbasis OS/2 16-bit
SCS_PIF_BINARY
3
File PIF yang menjalankan aplikasi berbasis MS-DOS –
SCS_POSIX_BINARY
4
POSIX – aplikasi berbasis
SCS_WOW_BINARY
2
Aplikasi berbasis Windows 16-bit

Mengembalikan nilai

Jika file dapat dieksekusi, nilai yang dikembalikan bukan nol. Fungsi mengatur variabel yang ditunjukkan oleh lpBinaryType untuk menunjukkan jenis file yang dapat dieksekusi.

Jika file tidak dapat dieksekusi, atau jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError. Jika file adalah DLL, kode kesalahan terakhir adalah ERROR_BAD_EXE_FORMAT.

Komentar

Sebagai alternatif, Anda dapat memperoleh informasi yang sama dengan memanggil fungsi SHGetFileInfo, meneruskan bendera SHGFI_EXETYPE di parameter uFlags.

Perilaku tautan simbolis—Jika jalur menunjuk ke tautan simbolis, file target akan digunakan.

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Ya
Failover Transparan (TFO) SMB 3.0 Ya
SMB 3.0 dengan Scale-out File Shares (SO) Ya
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya
 

Nota

Header winbase.h mendefinisikan GetBinaryType sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

File Management Functions

SHGetFileInfo

Tautan Simbolis