PSLookupPropertyHandlerCLSID 函式 (propsys.h)
取得每部電腦已註冊檔案屬性處理常式 (CLSID) 類別識別碼。
語法
PSSTDAPI PSLookupPropertyHandlerCLSID(
[in] PCWSTR pszFilePath,
[out] CLSID *pclsid
);
參數
[in] pszFilePath
類型: PCWSTR
Null 終止的 Unicode 緩衝區指標,其中包含要求其屬性處理常式 CLSID 之檔案的絕對路徑。
[out] pclsid
類型: CLSID*
當此函式傳回時,會包含所要求的屬性處理常式 CLSID。
傳回值
類型: PSSTDAPI
如果成功,則傳回 S_OK ,否則傳回錯誤值。
備註
如需如何註冊處理常式的資訊,請參閱 初始化屬性處理常式。
此函式只會傳回在 HKEY_LOCAL_MACHINE下註冊的處理常式。
大部分呼叫的應用程式都不需要呼叫這個方法,或使用 CoCreateInstance 直接建立屬性處理常式。 相反地,呼叫應用程式應該使用 IShellItem2::GetPropertyStore 在 Windows Vista 上建立 Shell 專案的屬性存放區。 IShellItem2::GetPropertyStore 提供 Shell 專案的最大可用屬性集,以及自訂要傳回之屬性的最大選項。
如果未為指定的檔案註冊任何屬性處理常式,此函式會傳回錯誤碼。 發生這種情況時,可能仍然可以從 從 IShellItem2::GetPropertyStore傳回的屬性存放區讀取特定檔案系統屬性。
需要從程式碼建立屬性處理常式且必須在 Windows Vista 和 Windows XP 上執行的應用程式可以呼叫 PSGetItemPropertyHandler ,透過 Microsoft Windows Desktop Search (WDS) 可轉散發套件來建立 Shell 專案的屬性存放區。
範例
下列範例會示範如何使用 PSLookupPropertyHandlerCLSID作為較大程式的一部分。
CLSID clsid;
HRESULT hr = PSLookupPropertyHandlerCLSID(L"C:\\windows\\system32\\shell32.dll", &clsid);
if (SUCCEEDED(hr))
{
// clsid contains the CLSID of the property handler used for
// C:\windows\system32\shell32.dll.
}
需求
最低支援的用戶端 | Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 SP1 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | propsys.h |
程式庫 | Propsys.lib |
Dll | Propsys.dll (6.0 版或更新版本) |
可轉散發套件 | Windows 桌面搜尋 (WDS) 3.0 |