SHLoadIndirectString 函式 (shlwapi.h)
當以間接字串的形式指定該資源時,擷取指定的文字資源 (以 '@' 符號開頭的字串) 。
語法
LWSTDAPI SHLoadIndirectString(
[in] PCWSTR pszSource,
[out] PWSTR pszOutBuf,
[in] UINT cchOutBuf,
void **ppvReserved
);
參數
[in] pszSource
類型: PCWSTR
緩衝區的指標,其中包含要從中擷取資源的間接字串。 此字串應該以 『@' 符號開頭,並使用一節中討論的其中一個窗體。 此函式會成功接受不是以 『@』 符號開頭的字串,但字串只會未變更傳遞至 pszOutBuf。
[out] pszOutBuf
類型: PWSTR
緩衝區的指標,當此函式成功傳回時,會收到文字資源。 pszOutBuf 和 pszSource 可以指向相同的緩衝區,在此情況下,將會覆寫原始字串。
[in] cchOutBuf
類型: UINT
pszOutBuf 所指向的緩衝區大小,以字元為單位。
ppvReserved
類型: void**
未使用;設定為 NULL。
傳回值
類型: HRESULT
如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
您可以以數種形式提供間接字串,每個形式都有自己的解譯:
-
檔名和資源標識符 ''' 語法@filename,資源 '''
字串會從名為 的檔案擷取,並使用 資源 值作為定位器。 如果資源值是零或更大,數位就會成為二進位檔案中字串的索引。 如果數位是負數,它會變成資源標識符。 擷取的字串會複製到輸出緩衝區,而函式會傳回S_OK。
-
具有版本修飾 詞 ''' 語法的檔名和資源標識符,@filename,resource;v2 '''
當資源變更,但仍使用與舊資源相同的索引或標識符時,可以使用此表單。 如果沒有版本修飾詞,多語系使用者介面 (MUI) 快取將無法辨識資源已變更且不會重新整理。 藉由附加版本修飾詞,值會顯示為新的資源,並新增至快取。 請注意,建議您針對新的資源使用新的標識碼或索引,而且只有在無法這麼做時才使用版本修飾詞。
-
PRI 檔案路徑和資源標識符 ''' 語法 @{PRIFilepath?resource} '''
封裝資源索引 (PRI) 是 Windows 8 中引進的二進位格式,其中包含索引的資源或資源的參考。 .pri 檔案會配套為應用程式套件的一部分。 如需 .pri 檔案的詳細資訊,請參閱 在 Windows 市集應用程式中建立和擷取資源。
字串會使用 資源 作為定位器,從名為 的 .pri 檔案中擷取。 擷取的字串會複製到輸出緩衝區,而函式會傳回S_OK。 字串會根據目前的Shell環境或 ResourceContext進行擷取。
此處顯示這種間接字串的範例。
@{C:\Program Files\WindowsApps\Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe\resources.pri? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
-
套件名稱和資源標識符 ''' 語法 @{PackageFullName?resource} '''
字串會從儲存在 PackageFullName 所識別套件之應用程式根目錄中的 Resources.pri 檔案擷取,並使用 資源 作為定位器。 擷取的字串會複製到輸出緩衝區,而函式會傳回S_OK。 字串會根據應用程式的環境或 ResourceContext 進行擷取。
注意 此字串必須參考為目前使用者安裝的套件。 如果沒有,呼叫將會失敗。@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/manifestAppDescription}
在下一個範例中,完整參考名稱會指定命名空間來限制查閱。
@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (5.5 版或更新版本) |