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 |