LoadResource 関数 (libloaderapi.h)

メモリ内の指定したリソースの最初のバイトへのポインターを取得するために使用できるハンドルを取得します。

構文

HGLOBAL LoadResource(
  [in, optional] HMODULE hModule,
  [in]           HRSRC   hResInfo
);

パラメーター

[in, optional] hModule

種類: HMODULE

実行可能ファイルにリソースが含まれているモジュールへのハンドル。 hModuleNULL の場合、システムは、現在のプロセスの作成に使用されたモジュールからリソースを読み込みます。

[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

関連項目

概念

Findresource

FindResourceEx

LoadLibrary

LoadModule

LockResource

その他のリソース

リファレンス

リソース