GetDiskFreeSpaceExW

ディスクボリューム上で利用可能な領域に関する情報、すなわち領域総量、空き領域総量、および呼び出し側スレッドに関連付けられたユーザーが利用可能な空き領域総量を取得する。(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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs