メモリ内の指定したリソースの最初のバイトへのポインターを取得するために使用できるハンドルを取得します。
構文
HGLOBAL LoadResource(
[in, optional] HMODULE hModule,
[in] HRSRC hResInfo
);
パラメーター
[in, optional] hModule
型: HMODULE
実行可能ファイルにリソースが含まれているモジュールのハンドル。 hModule が NULL の場合、システムは、現在のプロセスの作成に使用されたモジュールからリソースを読み込みます。
[in] hResInfo
型: HRSRC
読み込むリソースへのハンドル。 このハンドルは、 FindResource または FindResourceEx 関数によって返されます。
戻り値
型: HGLOBAL
関数が成功した場合、戻り値はリソースに関連付けられているデータへのハンドルです。
関数が失敗した場合、戻り値は NULL
注釈
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 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | libloaderapi.h (Windows.h を含む) |
図書館 | カーネル32.lib |
DLL | Kernel32.dll |