AssocQueryStringByKeyA 函式 (shlwapi.h)
從指定的機碼開始,搜尋並擷取登錄中的檔案關聯相關字串。
語法
LWSTDAPI AssocQueryStringByKeyA(
[in] ASSOCF flags,
[in] ASSOCSTR str,
[in] HKEY hkAssoc,
[in, optional] LPCSTR pszExtra,
[out, optional] LPSTR pszOut,
[in, out] DWORD *pcchOut
);
參數
[in] flags
類型:ASSOCF
可用來控制搜尋的旗標。 它可以是 ASSOCF 值
[in] str
類型:ASSOCSTR
ASSOCSTR 值,指定要傳回的字串類型。
[in] hkAssoc
類型:HKEY
將做為根索引鍵的索引鍵 HKEY 值。 搜尋只會在此機碼下方尋找。
[in, optional] pszExtra
類型:LPCTSTR
選擇性 Null 終止字串的指標,其中包含字串位置的其他資訊。 通常會設定為 Shell 動詞指令,例如 開啟。 如果未使用此參數,請將此參數設定為 NULL。
[out, optional] pszOut
類型:LPTSTR
用來傳回所要求字串之 Null 終止字串的指標。 將此參數設定為 NULL 擷取所需的緩衝區大小。
[in, out] pcchOut
類型:DWORD*
在專案上指定 pszOut 緩衝區
如果在 旗標中設定 ASSOCF_NOTRUNCATE 旗標,而且 pszOut 中指定的緩衝區太小,則函式會傳回E_POINTER,並將值設定為所需的緩衝區大小。
如果 pszOutNULL,則函式會傳回 S_FALSE,pcchOut 指向所需的緩衝區大小。
傳回值
類型:HRESULT
傳回標準 COM 錯誤值,包括下列專案:
錯誤 | 意義 |
---|---|
S_OK | 成功。 |
E_POINTER | pszOut 緩衝區太小,無法保存整個字串。 |
S_FALSE | pszOutNULL。 pcchOut 包含所需的緩衝區大小。 |
言論
此函式是 IQueryAssociations 介面的包裝函式。 其旨在簡化使用此介面的程式。 如需檔案關聯函式運作方式的進一步討論,請參閱 IQueryAssociations。
注意
shlwapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 AssocQueryStringByKey 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlwapi.h |
連結庫 | Shlwapi.lib |
DLL | Shlwapi.dll 版 (5.0 版或更新版本) |