FindResourceW 関数 (libloaderapi.h)

指定したモジュール内の指定した型と名前を持つリソースの場所を決定します。

言語を指定するには、 FindResourceEx 関数を使用します。

構文

HRSRC FindResourceW(
  [in, optional] HMODULE hModule,
  [in]           LPCWSTR lpName,
  [in]           LPCWSTR lpType
);

パラメーター

[in, optional] hModule

種類: HMODULE

移植可能な実行可能ファイルまたは付属の MUI ファイルにリソースが含まれているモジュールへのハンドル。 このパラメーターが NULL の場合、関数は現在のプロセスの作成に使用されるモジュールを検索します。

[in] lpName

型: LPCTSTR

リソースの名前。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID はリソースの整数識別子です。 詳細については、以下の「解説」セクションを参照してください。

[in] lpType

型: LPCTSTR

リソースの種類。 または、ポインターではなく、このパラメーターに MAKEINTRESOURCE(ID) を指定できます。ここで、ID は指定された の整数識別子です。

リソースの種類。 標準のリソースの種類については、「 リソースの種類」を参照してください。 詳細については、以下の「解説」セクションを参照してください。

戻り値

種類: HRSRC

関数が成功した場合、戻り値は指定されたリソースの情報ブロックへのハンドルです。 リソースへのハンドルを取得するには、このハンドルを LoadResource 関数に渡します。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

x = lpName または lpType の場合、IS_INTRESOURCEが TRUE の場合、x は指定されたリソースの名前または型の整数識別子を指定します。 それ以外の場合、これらのパラメーターは null で終わる文字列への長いポインターです。 文字列の最初の文字がシャープ記号 (#)の場合、残りの文字は、リソースの名前または型の整数識別子を指定する 10 進数を表します。 たとえば、文字列 "#258" は整数識別子 258 を表します。

リソースに必要なメモリの量を減らすために、アプリケーションは名前ではなく整数識別子で参照する必要があります。

アプリケーションは FindResource を 使用して任意の種類のリソースを検索できますが、この関数は、アプリケーションが LoadResource を後続の呼び出しで LockResource に呼び出すことによってバイナリ リソース データにアクセスする必要がある場合にのみ使用する必要があります。

リソースをすぐに使用するには、アプリケーションで次のいずれかのリソース固有の関数を使用してリソースを検索し、データをより使いやすい形式に変換する必要があります。

機能 アクション
FormatMessage メッセージ テーブル エントリを読み込んで書式設定します。
LoadAccelerators アクセラレータ テーブルを読み込みます。
LoadBitmap ビットマップ リソースを読み込みます。
LoadCursor カーソル リソースを読み込みます。
LoadIcon アイコン リソースを読み込みます。
LoadMenu メニュー リソースを読み込みます。
LoadString 文字列テーブル エントリを読み込みます。

たとえば、アプリケーションでは LoadIcon 関数を使用して、画面に表示するアイコンを読み込むことができます。 ただし、アイコンを読み込んで別のアプリケーションにデータをコピーする場合は、アプリケーションで FindResource と LoadResource を使用する必要があります。

文字列リソースは、セクションごとに最大 16 個の文字列のセクションに格納されます。 各セクションの文字列は、カウントされた (必ずしも null で終わるとは限らない) Unicode 文字列のシーケンスとして格納されます。 LoadString 関数は、対応するセクションから文字列リソースを抽出します。

例

例については、「 リソースの更新」を参照してください。

要件

要件 値
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー libloaderapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

概念

FindResourceEx
FormatMessage
IS_INTRESOURCE
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadResource
LoadString
LockResource

その他のリソース

リファレンス

リソース
SizeofResource