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 |