SetupQuerySpaceRequiredOnDriveA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、引き続きデバイス ドライバーのインストールに使用されます。
SetupQuerySpaceRequiredOnDrive 関数は、ディスク領域の一覧を調べて、特定のドライブに一覧表示されているすべてのファイル操作を実行するために必要な領域を決定します。
構文
WINSETUPAPI BOOL SetupQuerySpaceRequiredOnDriveA(
[in] HDSKSPC DiskSpace,
[in] PCSTR DriveSpec,
[out] LONGLONG *SpaceRequired,
[in] PVOID Reserved1,
[in] UINT Reserved2
);
パラメーター
[in] DiskSpace
ディスク領域の一覧へのハンドル。
[in] DriveSpec
空き領域情報が返されるドライブを指定する null で終わる文字列へのポインター。
これは、"x:" または "\server\share" の形式である必要があります。
[out] SpaceRequired
関数が成功した場合、このパラメーターは 、DriveSpec が指定するドライブのディスク領域の一覧に記載されているすべてのファイル操作を処理するために必要な追加の領域を受け取ります。
SetupQuerySpaceRequiredOnDrive 関数は、ターゲット ドライブ上のファイルの既存のバージョンを確認することで、ターゲット ドライブに必要な追加の領域を計算します。
たとえば、ファイル操作によって 2000 バイトのファイル (FIRST.EXE) がディレクトリ C:\MYPROG にコピーされた場合、 SetupQuerySpaceRequiredOnDrive 関数は、そのディレクトリ内の既存のバージョンのファイルを自動的にチェックします。 既存のバージョンの C:\MYPROG\FIRST.EXE のファイル サイズが 500 バイトの場合、その操作に必要なドライブ C に必要な追加の領域は 1500 バイトです。
追加の領域が不要な場合、またはターゲット ドライブ上の領域が解放されている場合は、受け取った値は 0 (ゼロ) または負の値にすることができます。
前の例 FIRST.EXE がドライブ C から削除されている場合、必要な領域の量は 2,000 バイト、またはドライブ C で解放された領域です。
既存のバージョンのファイル サイズが 5000 バイトの場合、それを 2000 バイトの FIRST.EXE に置き換えるために必要なディスク領域は 3,000 バイトです。
ファイル サイズは、ディスク クラスターの境界に丸められます。
[in] Reserved1
予約;は 0 (ゼロ) である必要があります。
[in] Reserved2
予約;は 0 (ゼロ) である必要があります。
戻り値
関数が成功した場合、戻り値は 0 以外の値で、 SpaceRequired は現在のディスク領域の一覧に記載されているファイル操作に必要な領域を受け取ります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
リターン コード | 説明 |
---|---|
|
指定したドライブがディスク領域の一覧にありません。 |
|
指定された DiskSpace ハンドルが無効です。 |
|
指定された DriveSpec 文字列が無効です。 |
注釈
注意
setupapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupQuerySpaceRequiredOnDrive を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | setupapi.h |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |