次の方法で共有


SetupGetFileCompressionInfoExA 関数 (setupapi.h)

[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。

SetupGetFileCompressionInfoEx 関数は、圧縮される可能性があるファイルを調べ、圧縮の種類、ファイルの完全なパス (ファイル名を含む)、圧縮されたサイズ、および圧縮されていないターゲット ファイルのサイズを取得します。 関数の呼び出し元は、調べるファイルの名前を渡し、返されたファイル名とパスを受け取るバッファーとバッファー サイズの場所へのポインターを渡します。

返されるパスとファイル名のバッファーのサイズを確認するには、Null と 0 を含む ActualSourceFileNameLen 指定、ActualSourceFileNameBuffer を使用して SetupGetFileCompressionInfoEx 呼び出すことができます。 この関数は成功し、戻り値 RequiredBufferLenで塗りつぶされます。

構文

WINSETUPAPI BOOL SetupGetFileCompressionInfoExA(
  [in]      PCSTR  SourceFileName,
  [in, out] PSTR   ActualSourceFileNameBuffer,
  [in, out] DWORD  ActualSourceFileNameBufferLen,
  [out]     PDWORD RequiredBufferLen,
  [out]     PDWORD SourceFileSize,
  [out]     PDWORD TargetFileSize,
  [out]     PUINT  CompressionType
);

パラメーター

[in] SourceFileName

調べる圧縮される可能性があるファイルのファイル名。 ファイルがソース メディア上で名前とまったく同じでない場合、セットアップでは最大 2 つの代替名が検索されます。 例えば;セットアップで F:\x86\cmd.exeが見つからない場合は、F:\mpis\cmd.ex_ を検索し、その名前が見つからない場合は F:\x86\cmd.ex$ を検索します。

[in, out] ActualSourceFileNameBuffer

このパラメーターが NULLでない場合に、実際のファイル名とパスを受け取るバッファーへのポインター。 これは、関数がNO_ERRORを返す場合にのみ有効です。

[in, out] ActualSourceFileNameBufferLen

ActualSourceFileNameBufferで指定 バッファーのサイズ (文字数)。 通常は、MAX_PATHのバッファー サイズを使用します。 ActualSourceFileNameLen 小さすぎる場合、関数はERROR_INSUFFICIENT_BUFFERで失敗します。 ActualSourceFileNameBuffer が NULL場合、ActualSourceFileNameLen には 0 を含む必要があります。

[out] RequiredBufferLen

このパラメーターが NULLでない場合は、ファイル名のサイズと、終端 NULLを含む完全パス。 ActualSourceFileNameBuffer が NULL 、ActualSourceFileNameLen が 0 の場合、関数は成功しますが、RequiredBufferLen入力します。 このパラメーターは、関数がNO_ERRORまたはERROR_INSUFFICIENT_BUFFERを返す場合にのみ有効です。

[out] SourceFileSize

この関数が現在の形式でファイルのサイズを返す変数へのポインター。これは、ActualSourceFileNameBufferによって指定されたファイルの現在のサイズ 。 サイズは、ソース ファイルを調べることによって決まります。INF ファイルから取得されません。 ソース ファイルのサイズは、関数がNO_ERRORまたはERROR_INSUFFICIENT_BUFFERを返す場合にのみ有効です。

[out] TargetFileSize

この関数が圧縮されていないかコピーされるときにファイルが占有するサイズを返す変数へのポインター。 ファイルが圧縮されていない場合、この値は SourceFileSizeと同じになります。 サイズは、ファイルを調べることによって決定されます。INF ファイルから取得されません。 ターゲット ファイルサイズは、関数がNO_ERRORまたはERROR_INSUFFICIENT_BUFFERを返す場合にのみ有効です。

[out] CompressionType

この関数が ActualSourceFileNameで使用される圧縮の種類を示す値 返す変数へのポインター。 圧縮の種類は、関数がNO_ERRORまたはERROR_INSUFFICIENT_BUFFERを返す場合にのみ有効です。 このパラメーター値には、次のいずれかのフラグを指定できます。

FILE_COMPRESSION_NONE

ソース ファイルは、認識された圧縮アルゴリズムでは圧縮されません。

FILE_COMPRESSION_WINLZA

ソース ファイルは LZ 圧縮で圧縮されます。

FILE_COMPRESSION_MSZIP

ソース ファイルは MSZIP 圧縮で圧縮されます。

戻り値

関数が成功した場合、戻り値は TRUE (0 以外)

関数が失敗した場合、戻り値は FALSE (ゼロ) 。 この関数は、次のいずれかの システム エラー コード返すこともできます。

拡張エラー情報を取得するには、GetLastError呼び出します。

備考

SetupGetFileCompressionInfoEx は物理ファイルを調べることで圧縮を決定するため、セットアップ アプリケーションは SetupGetFileCompressionInfoEx呼び出す前にファイルが存在することを確認する必要があります。

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupGetFileCompressionInfoEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー setupapi.h
ライブラリ Setupapi.lib
DLL Setupapi.dll

関連項目

Functions

の概要

SetupDecompressOrCopyFile の