共用方式為


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),其中 ID 是代表預先定義資源類型的整數值。 如需預先定義的資源類型清單,請參閱 資源類型。 如需詳細資訊,請參閱下方的<<備註> 一節。

[in] lpEnumFunc

類型:ENUMRESNAMEPROC

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

[in] lParam

類型:LONG_PTR

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

傳回值

類型:BOOL

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

言論

如果 IS_INTRESOURCElpszTypeTRUE,則 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

另請參閱

概念

參考