GetDiskFreeSpaceExA 関数 (fileapi.h)
ディスク ボリュームで使用可能な領域の量 (合計領域、空き領域の合計、呼び出し元スレッドに関連付けられているユーザーが使用できる空き領域の合計) に関する情報を取得します。
構文
BOOL GetDiskFreeSpaceExA(
[in, optional] LPCSTR lpDirectoryName,
[out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,
[out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,
[out, optional] PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
パラメーター
[in, optional] lpDirectoryName
ディスク上のディレクトリ。
このパラメーターが NULL の場合、関数は現在のディスクのルートを使用します。
このパラメーターが UNC 名の場合は、末尾の円記号 ("\\MyServer\MyShare\" など) を含める必要があります。
このパラメーターは、ディスク上のルート ディレクトリを指定する必要はありません。 関数は、ディスク上の任意のディレクトリを受け入れます。
呼び出し元のアプリケーションには、 このFILE_LIST_DIRECTORY アクセス権が必要です
"sample" ディレクトリに含まれています。
[out, optional] lpFreeBytesAvailableToCaller
呼び出し元スレッドに関連付けられているユーザーが使用できるディスク上の空きバイトの合計数を受け取る変数へのポインター。
このパラメーターは、NULL でもかまいません。
ユーザーごとのクォータが使用されている場合、この値はディスク上の空きバイトの合計数より小さい場合があります。
[out, optional] lpTotalNumberOfBytes
呼び出し元スレッドに関連付けられているユーザーが使用できるディスク上の合計バイト数を受け取る変数へのポインター。
このパラメーターは、NULL でもかまいません。
ユーザーごとのクォータが使用されている場合、この値はディスク上の合計バイト数より小さい可能性があります。
ディスクまたはボリュームの合計バイト数を確認するには、 IOCTL_DISK_GET_LENGTH_INFOを使用します。
[out, optional] lpTotalNumberOfFreeBytes
ディスク上の空きバイトの合計数を受け取る変数へのポインター。
このパラメーターは、NULL でもかまいません。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
この関数によって取得される値は、 ULARGE_INTEGER型です。 これらの値を 32 ビットに切り捨てないでください。
GetDiskFreeSpaceEx 関数は、ディスクが CD-RW ドライブ内の書き込みされていない CD でない限り、すべての CD 要求に対して lpTotalNumberOfFreeBytes および lpFreeBytesAvailable に対してゼロ (0) を返します。
シンボリック リンクの動作 — パスがシンボリック リンクを指している場合、操作はターゲットに対して実行されます。
Note
fileapi.h ヘッダーは、GetDiskFreeSpaceEx をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | fileapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |