Freigeben über


PSLookupPropertyHandlerCLSID-Funktion (propsys.h)

Ruft den Klassenbezeichner (CLSID) eines pro Computer registrierten Dateieigenschaftenhandlers ab.

Syntax

PSSTDAPI PSLookupPropertyHandlerCLSID(
  [in]  PCWSTR pszFilePath,
  [out] CLSID  *pclsid
);

Parameter

[in] pszFilePath

Typ: PCWSTR

Zeiger auf einen mit NULL beendeten Unicode-Puffer, der den absoluten Pfad der Datei enthält, deren Eigenschaftshandler CLSID angefordert wird.

[out] pclsid

Typ: CLSID*

Wenn diese Funktion zurückgegeben wird, enthält die angeforderte Eigenschaftenhandler-CLSID.

Rückgabewert

Typ: PSSTDAPI

Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück.

Hinweise

Informationen zum Registrieren ihres Handlers finden Sie unter Initialisieren von Eigenschaftenhandlern.

Diese Funktion gibt nur die Handler zurück, die unter HKEY_LOCAL_MACHINE registriert sind.

Die meisten aufrufenden Anwendungen sollten diese Methode nicht aufrufen oder CoCreateInstance verwenden, um einen Eigenschaftenhandler direkt zu erstellen. Stattdessen sollten aufrufende Anwendungen IShellItem2::GetPropertyStore verwenden, um einen Eigenschaftenspeicher für ein Shellelement unter Windows Vista zu erstellen. IShellItem2::GetPropertyStore bietet den größten Satz verfügbarer Eigenschaften für ein Shellelement und die meisten Optionen zum Anpassen der zurückzugebenden Eigenschaften.

Wenn für die angegebene Datei kein Eigenschaftenhandler registriert ist, gibt diese Funktion einen Fehlercode zurück. In diesem Fall ist es möglicherweise weiterhin möglich, bestimmte Dateisystemeigenschaften aus dem Eigenschaftenspeicher zu lesen, der von IShellItem2::GetPropertyStore zurückgegeben wird.

Anwendungen, die einen Eigenschaftenhandler aus Code erstellen müssen und die sowohl unter Windows Vista als auch unter Windows XP ausgeführt werden müssen, können PSGetItemPropertyHandler aufrufen, um einen Eigenschaftenspeicher für ein Shellelement über die verteilbare Microsoft Windows Desktop Search (WDS) zu erstellen.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird die Verwendung von PSLookupPropertyHandlerCLSID veranschaulicht.

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.
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile propsys.h
Bibliothek Propsys.lib
DLL Propsys.dll (Version 6.0 oder höher)
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

IShellItem2::GetPropertyStore

PSGetItemPropertyHandler