共用方式為


EnumResourceNamesA 函式 (libloaderapi.h)

列舉二進位模組內指定型別的資源。 針對 Windows Vista 和更新版本,這通常是 語言中性可 攜式可執行檔 (LN 檔案) ,而且列舉也會包含對應語言特定資源檔 (.mui 檔案) 包含可當地語系化語言資源的資源。 hModule 也可以指定 .mui 檔案,在此情況下,只會搜尋該檔案的資源。

語法

BOOL EnumResourceNamesA(
  [in, optional] HMODULE          hModule,
  [in]           LPCSTR           lpType,
  [in]           ENUMRESNAMEPROCA lpEnumFunc,
  [in]           LONG_PTR         lParam
);

參數

[in, optional] hModule

類型: HMODULE

要搜尋之模組的句柄。 從 Windows Vista 開始,如果這是 LN 檔案,則如果搜尋中包含任何存在) ,則 (適當的 .mui 檔案。

如果此參數為 NULL,這相當於將句柄傳入用來建立目前進程的模組。

[in] lpType

類型: LPCTSTR

要列舉名稱的資源類型。 或者,這個參數可以是 MAKEINTRESOURCE (標識碼) ,其中ID是代表預先定義資源類型的整數值。 如需預先定義的資源類型清單,請參閱 資源類型。 如需詳細資訊,請參閱下面的<備註>一節。

[in] lpEnumFunc

類型: ENUMRESNAMEPROC

要針對每個列舉資源名稱或標識符呼叫之回調函式的指標。 如需詳細資訊,請參閱 ENUMRESNAMEPROC

[in] lParam

類型: LONG_PTR

傳遞至回調函式的應用程式定義值。 此參數可用於錯誤檢查。

傳回值

類型: BOOL

如果函式成功,則傳回值為 TRUE;如果函式找不到所指定類型的資源,則傳回值為 TRUE ;如果函式因其他原因而失敗,則傳回值為 FALSE 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果 IS_INTRESOURCE (lpszType) 為 TRUE則 lpszType 會指定指定指定資源類型的整數識別碼。 否則,它是 Null 終止字串的指標。 如果字串的第一個字元是井字型大小 (#) ,則其餘字元代表指定資源類型的整數標識符的十進位數。 例如,字串 “#258” 代表標識碼 258。

針對找到的每個資源, EnumResourceNames 會呼叫應用程式定義的回調函式 lpEnumFunc、傳遞其找到的每個資源名稱或標識碼,以及傳遞給 EnumResourceNames 的各種其他參數。

或者,應用程式可以呼叫 EnumResourceNamesEx,以更精確地控制列舉的資源。

如果資源具有標識碼,則會將標識符傳遞至回呼函式;否則,資源名稱會傳遞至回調函式。 如需詳細資訊,請參閱 ENUMRESNAMEPROC

EnumResourceNames 函式會繼續列舉資源,直到回呼函式傳回 FALSE 或已列舉所有資源為止。

從 Windows Vista 開始,如果 hModule 指定 LN 檔案,則列舉的資源可以位於 LN 檔案或與其相關聯的 .mui 檔案中。 如果找不到 .mui 檔案,則只會傳回 LN 檔案中的資源。 搜尋 .mui 檔案的順序是一般的資源載入器搜尋順序;如需詳細資訊 ,請參閱使用者介面語言管理 。 找到一個適當的 .mui 檔案之後,.mui 檔案搜尋就會停止。 因為對應至單一 LN 檔案的所有 .mui 檔案都有相同的資源類型,所以只需要列舉找到 .mui 檔案中的資源。

列舉永遠不會包含重複專案:如果具有相同名稱的資源同時包含在 LN 檔案和 .mui 檔案中,則只會列舉資源一次。

範例

如需範例,請參閱 建立資源清單

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 libloaderapi.h
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

概念

參考