GetBinaryTypeW

ファイルが実行可能(.exe)ファイルかどうか、そうである場合にどのサブシステムが実行ファイルを実行するかを判定する。(Unicode)

GetBinaryTypeW lpApplicationName, lpBinaryType

lpApplicationName : [wstr] 実行ファイル種別を判定するファイルのフルパス。この関数の ANSI 版では、名前は MAX_PATH 文字に制限される。この上限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼び出し、パスの先頭に "\\?\" を付ける。詳細は Naming a File を参照。
lpBinaryType : [var] lpApplicationName で指定したファイルの実行ファイル種別に関する情報を受け取る変数へのポインタ。次の定数が定義されている。

(プラグイン / モジュール : kernel32.dll)

解説

ファイルが実行可能(.exe)ファイルかどうか、そうである場合にどのサブシステムが実行ファイルを実行するかを判定する。(Unicode)

[戻り値]
ファイルが実行可能な場合、戻り値は 0 以外である。関数は lpBinaryType
が指す変数にファイルの実行ファイル種別を設定する。ファイルが実行可能でない場合、または関数が失敗した場合、戻り値は 0
である。拡張エラー情報を取得するには GetLastError を呼ぶ。ファイルが DLL の場合、最後のエラーコードは
ERROR_BAD_EXE_FORMAT になる。

[備考]
代替手段として、SHGetFileInfo 関数を呼び出し、uFlags パラメータに SHGFI_EXETYPE
フラグを渡すことで同じ情報を取得できる。シンボリックリンクの動作:
パスがシンボリックリンクを指している場合、ターゲットファイルが使用される。Windows 8 および Windows Server
2012 では、この関数は次の技術によりサポートされる。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs