共用方式為


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

另請參閱

IShellItem2::GetPropertyStore

PSGetItemPropertyHandler