UpdateResourceA 関数 (winbase.h)
ポータブル実行可能ファイル (PE) ファイル内のリソースを追加、削除、または置き換えます。 リソース構成 (RC Config) データを含むファイルのリソース更新には、言語に依存しない (LN) ファイルと言語固有リソース (.mui) ファイル
構文
BOOL UpdateResourceA(
[in] HANDLE hUpdate,
[in] LPCSTR lpType,
[in] LPCSTR lpName,
[in] WORD wLanguage,
[in, optional] LPVOID lpData,
[in] DWORD cb
);
パラメーター
[in] hUpdate
型: HANDLE
BeginUpdateResource 関数によって返されるモジュール ハンドル。更新するファイルを参照します。
[in] lpType
型: LPCTSTR
更新するリソースの種類。 または、ポインターではなく、このパラメーターを MAKEINTRESOURCE(ID)
定義済みのリソースの種類の一覧については、「リソースの種類の
[in] lpName
型: LPCTSTR
更新するリソースの名前。 または、ポインターではなく、このパラメーターを MAKEINTRESOURCE(ID)
[in] wLanguage
型: word
更新するリソースの 言語識別子。 言語識別子を構成する主言語識別子とサブ言語識別子の一覧については、MAKELANGID マクロ
[in, optional] lpData
型: LPVOID
hUpdateによって示されるファイル
lpData
[in] cb
型: DWORD
lpDataのリソース データ
戻り値
型: BOOL
成功した場合
備考
この関数を呼び出す前に、リソース ファイルを読み込まないことをお勧めします。 ただし、そのファイルが既に読み込まれている場合、エラーは返されません。
アプリケーション UpdateResource を繰り返し使用して、リソース データに変更を加えることができます。
この関数は、コードとリソースの両方を含むモジュール内のリソースを更新できます。
windows 7 より前の
Windows Vista 以降: 前述のように、RC 構成データを含むファイルのリソース更新には、LN ファイルと .mui ファイルの制限があります。 制限は次のとおりです。
アクション | LN ファイル | .mui ファイル |
---|---|---|
1. LN または .mui ファイルに存在しない新しいタイプを追加します。 | LN ファイルに型を追加し、言語に依存しない (ローカライズ不可) として扱い、RC Config データに新しい型または項目を追加する | 許可される追加機能は、ファイル バージョン、RC 構成データ、サイド バイ サイド アセンブリ XML マニフェストの種類のみです。 |
2. 既存の種類に新しいリソース項目を追加します。 | RC 構成データを使用して、この LN ファイルに関連付けられている .mui ファイルにタイプが存在するかどうかを確認します。 .mui ファイルに型が存在しない場合は、項目を追加し、新しい項目をローカライズ不可として扱います。 .mui ファイルに型が存在する場合、追加は許可されません。 | 追加できるのは、ファイル バージョン、RC 構成データ、Side-by-side Assembly XML マニフェストの項目のみです。 |
3. リソース項目を更新します。 | RC 構成データを使用して、LN ファイルに関連付けられている .mui ファイルにタイプが存在するかどうかを確認します。 種類が .mui ファイルに存在しない場合、このリソース項目の更新は LN ファイルで許可されます。 それ以外の場合、この LN ファイルに関連付けられている .mui ファイルに型が存在する場合、この更新は許可されません。 | 許可される更新プログラムは、ファイル バージョン、RC 構成データ、サイド バイ サイド アセンブリ XML マニフェストの項目のみです。 |
4. 新しい言語の型/項目を追加します。 | 禁じられた。 | 禁じられた。 |
5. 既存の型/項目を削除します。 | ケース 3 と同様に動作します。 RC 構成データを使用して、LN ファイルに関連付けられている .mui ファイルにタイプが存在するかどうかを確認します。 そうでない場合は、LN ファイルからのタイプ/項目の削除が許可されます。 それ以外の場合、この LN ファイルに関連付けられている .mui ファイルに型/項目が存在する場合、削除は許可されません。 | 削除できる唯一の種類は、ファイル バージョン、RC 構成データ、Side-by-side Assembly XML マニフェストです。また、これらの型の項目のみを削除できます。 |
6. RC 構成データに含まれていない型 (バージョン、Side-by-side Assembly XML Manifest、RC Config データ自体など) を追加/削除/更新します。 | 許可。 | 許可。 |
7. TYPELIB、reginst など、ローカライズできないデータのその他の更新。 | LN ファイルのタイプまたは項目を更新し、ローカライズ不可能として扱い、RC Config データに新しいタイプまたは項目を追加します。 | 適用されません。 |
8. RC 構成データを追加します。 | 実行できますが、RC 構成データの整合性がチェックされません。 | 実行できますが、RC 構成データの整合性がチェックされません。 |
例
例については、「リソースの更新を
手記
winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして UpdateResource を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winbase.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
BeginUpdateResource の
概念
EndUpdateResource の
LoadIcon の
LockResource の
MAKEINTRESOURCE を
MAKELANGID を
その他のリソース を
リファレンス