LoadResource 関数 (libloaderapi.h)
メモリ内の指定したリソースの最初のバイトへのポインターを取得するために使用できるハンドルを取得します。
構文
HGLOBAL LoadResource(
[in, optional] HMODULE hModule,
[in] HRSRC hResInfo
);
パラメーター
[in, optional] hModule
種類: HMODULE
実行可能ファイルにリソースが含まれているモジュールへのハンドル。 hModule が NULL の場合、システムは、現在のプロセスの作成に使用されたモジュールからリソースを読み込みます。
[in] hResInfo
種類: HRSRC
読み込まれるリソースへのハンドル。 このハンドルは、FindResource または FindResourceEx 関数によって返されます。
戻り値
種類: HGLOBAL
関数が成功した場合、戻り値はリソースに関連付けられているデータへのハンドルです。
関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
LoadResource の戻り値の型は、関数がグローバル メモリ ブロックにハンドルを返すのではなく、下位互換性のために HGLOBAL です。 このハンドルを GlobalLock または GlobalFree 関数に渡さないでください。 リソース データの最初のバイトへのポインターを取得するには、 LockResource 関数を呼び出します。リソースのサイズを取得するには、 SizeofResource を呼び出します。
GlobalSize は、リソース HGLOBAL に対して 0 を返します。 その結果、HGLOBAL のサイズを決定するために GlobalSize に依存するすべての API は正しく機能しません。 たとえば、CreateStreamOnHGlobal の代わりに SHCreateMemStream を使用します。
リソースをすぐに使用するには、アプリケーションで次のリソース固有の関数を使用して、1 回の呼び出しでリソースを検索して読み込む必要があります。
機能 | アクション | リソースを削除するには |
---|---|---|
FormatMessage | メッセージ テーブル エントリを読み込んで書式設定する | 操作は不要です |
LoadAccelerators | アクセラレータ テーブルを読み込みます | DestroyAcceleratorTable |
LoadBitmap | ビットマップ リソースを読み込みます | DeleteObject |
LoadCursor | カーソル リソースを読み込みます | DestroyCursor |
LoadIcon | アイコン リソースを読み込みます | DestroyIcon |
LoadMenu | メニュー リソースを読み込みます | DestroyMenu |
LoadString | 文字列リソースを読み込みます | 操作は不要です |
たとえば、アプリケーションでは LoadIcon 関数を使用して、画面に表示するアイコンを読み込み、完了したら DestroyIcon を 読み込むことができます。
例
例については、「 リソースの更新」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | libloaderapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |
関連項目
概念
その他のリソース
リファレンス