SHGetDiskFreeSpaceExW

ディスクボリュームのディスク領域情報を取得する。(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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の shell32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_shell32_gen2.hs