ディスクボリューム上で利用可能な領域に関する情報、すなわち領域総量、空き領域総量、および呼び出し側スレッドに関連付けられたユーザーが利用可能な空き領域総量を取得する。(Unicode)
GetDiskFreeSpaceExW lpDirectoryName, lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes
lpDirectoryName : [wstr] ディスク上のディレクトリ。このパラメータが NULL の場合、関数は現在のディスクのルートを使う。このパラメータが UNC 名の場合、末尾にバックスラッシュを含めなければならない(例: "\\\\MyServer\\MyShare\\")。このパラメータはディスク上のルートディレクトリを指定する必要はない。関数はディスク上の任意のディレクトリを受け付ける。呼び出し側のアプリケーションはこのディレクトリに対する FILE_LIST_DIRECTORY アクセス権を持っていなければならない。 lpFreeBytesAvailableToCaller : [var] 呼び出し側スレッドに関連付けられたユーザーが利用可能な、ディスク上の空きバイト総数を受け取る変数へのポインタ。このパラメータは NULL でもよい。ユーザーごとのクォータが使われている場合、この値はディスク上の空きバイト総数より小さくなることがある。 lpTotalNumberOfBytes : [var] 呼び出し側スレッドに関連付けられたユーザーが利用可能な、ディスク上のバイト総数を受け取る変数へのポインタ。このパラメータは NULL でもよい。ユーザーごとのクォータが使われている場合、この値はディスク上のバイト総数より小さくなることがある。ディスクまたはボリュームのバイト総数を判定するには IOCTL_DISK_GET_LENGTH_INFO を使う。 lpTotalNumberOfFreeBytes : [var] ディスク上の空きバイト総数を受け取る変数へのポインタ。このパラメータは NULL でもよい。
(プラグイン / モジュール : kernel32.dll)
ディスクボリューム上で利用可能な領域に関する情報、すなわち領域総量、空き領域総量、および呼び出し側スレッドに関連付けられたユーザーが利用可能な空き領域総量を取得する。(Unicode) [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 である。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] この関数で取得される値は ULARGE_INTEGER 型である。これらの値を 32 ビットに切り詰めてはならない。GetDiskFreeSpaceEx 関数は、CD-RW ドライブ内の未書き込み CD でない限り、すべての CD 要求に対して lpTotalNumberOfFreeBytes と lpFreeBytesAvailable に 0 を返す。シンボリックリンクの動作: パスがシンボリックリンクを指している場合、操作はターゲットに対して実行される。 > [!NOTE] > fileapi.h ヘッダでは GetDiskFreeSpaceEx が、UNICODE プリプロセッサ定数の定義に応じて自動的に ANSI 版または Unicode 版を選択するエイリアスとして定義されている。エンコーディング中立のエイリアスを中立でないコードと混在させるとコンパイルや実行時のエラーになる可能性がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |