ディスクボリュームのディスク領域情報を取得する。(Unicode)
SHGetDiskFreeSpaceExW pszDirectoryName, pulFreeBytesAvailableToCaller, pulTotalNumberOfBytes, pulTotalNumberOfFreeBytes
pszDirectoryName : [wstr] 型: LPCTSTR サイズ情報を取得するボリュームを指定する null 終端文字列。ドライブ文字、UNC 名、またはフォルダのパスのいずれかを指定できる。現在のドライブを表すために NULL を使用することはできない。 pulFreeBytesAvailableToCaller : [var] 型: ULARGE_INTEGER* 呼び出し側アプリケーションが利用可能なボリューム上のバイト数を受け取る値へのポインター。オペレーティングシステムがユーザーごとのクォータを実装している場合、この値はボリューム上の空きバイトの総数より少ない場合がある。 pulTotalNumberOfBytes : [var] 型: ULARGE_INTEGER* ボリュームの総サイズ (バイト単位) を受け取る値へのポインター。 pulTotalNumberOfFreeBytes : [var] 型: ULARGE_INTEGER* ボリューム上の空き領域のバイト数を受け取る値へのポインター。
(プラグイン / モジュール : shell32.dll)
ディスクボリュームのディスク領域情報を取得する。(Unicode) [戻り値] 型: BOOL 成功した場合は TRUE を、それ以外の場合は FALSE を返す。 [備考] 類似名の関数 SHGetDiskFreeSpace は単に SHGetDiskFreeSpaceEx のエイリアスである。SHGetDiskFreeSpace を呼び出すと実際にはこの関数が呼ばれる。この関数は、オペレーティングシステムで利用可能であれば GetDiskFreeSpaceEx 関数を呼び出す。GetDiskFreeSpaceEx が利用できない場合は、GetDiskFreeSpace 関数を呼び出して戻り値を加工することでエミュレートする。詳細は GetDiskFreeSpaceEx のドキュメントを参照。 > [!NOTE] > shellapi.h ヘッダーは SHGetDiskFreeSpaceEx を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI 版または Unicode 版を自動的に選択するエイリアスとして定義している。エンコーディング中立なエイリアスとそうでないコードを混在して使用すると、コンパイルや実行時のエラーにつながる不一致が発生する場合がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | shell32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の shell32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_shell32_gen2.hs |