Freigeben über


SHGetDataFromIDListW-Funktion (shlobj_core.h)

Ruft erweiterte Eigenschaftendaten aus einer relativen Bezeichnerliste ab.

Syntax

SHSTDAPI SHGetDataFromIDListW(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Parameter

[in] psf

Typ: IShellFolder-*

Die Adresse des übergeordneten IShellFolder--Schnittstelle. Dies muss das direkte übergeordnete Element der ITEMIDLIST- Struktur sein, auf die vom pidl-Parameter verwiesen wird.

[in] pidl

Typ: PCUITEMID_CHILD

Ein Zeiger auf eine ITEMIDLIST- Struktur, die das Objekt relativ zum in psfangegebenen Ordner identifiziert.

nFormat

Typ: int

Das Format, in dem die Daten angefordert werden. Dieser Parameter muss auf einen der folgenden Werte festgelegt werden.

SHGDFIL_FINDDATA

Format, das für Dateisystemobjekte verwendet wird. Der parameter pv ist die Adresse einer WIN32_FIND_DATA Struktur.

SHGDFIL_NETRESOURCE

Format, das für Netzwerkressourcen verwendet wird. Der parameter pv ist die Adresse einer NETRESOURCE- Struktur.

SHGDFIL_DESCRIPTIONID

Version 4.71. Format, das für Netzwerkressourcen verwendet wird. Der pv Parameter ist die Adresse einer SHDESCRIPTIONID- Struktur.

[out] pv

Typ: void*

Ein Zeiger auf einen Puffer, der, wenn diese Funktion erfolgreich zurückgegeben wird, die angeforderten Daten empfängt. Das Format dieses Puffers wird durch nFormat-bestimmt.

Wenn nFormat-SHGDFIL_NETRESOURCEist, gibt es zwei mögliche Fälle. Wenn der Puffer groß genug ist, werden die Zeichenfolgeninformationen der Nettoressource (Felder für den Netzwerknamen, lokalen Namen, Anbieter und Kommentare) in den Puffer eingefügt. Wenn der Puffer nicht groß genug ist, wird nur die Nettoressourcenstruktur in den Puffer eingefügt, und die Zeichenfolgeninformationszeiger werden NULL-.

cb

Typ: int

Größe des Puffers bei pv-in Byte.

Rückgabewert

Typ: HRESULT-

Gibt S_OK zurück, wenn dies erfolgreich ist oder andernfalls E_INVALIDARG.

Bemerkungen

Diese Funktion extrahiert nur Informationen, die im Zeiger auf eine Elementbezeichnerliste (PIDL) vorhanden sind. Da der Inhalt einer PIDL von dem Ordnerobjekt abhängt, das die PIDL erstellt hat, besteht keine Garantie dafür, dass alle angeforderten Informationen verfügbar sind. Darüber hinaus spiegelt die zurückgegebenen Informationen den Status des Objekts zum Zeitpunkt der Erstellung der PIDL wider. Der aktuelle Status des Objekts kann unterschiedlich sein. Wenn Sie z. B. nFormat- auf SHGDFIL_FINDDATAfestlegen, kann die Funktion nur einigen Elementen der WIN32_FIND_DATA Struktur aussagekräftige Werte zuweisen. Die verbleibenden Elemente werden auf Null festgelegt. Um vollständige aktuelle Informationen zu einer Dateisystemdatei oder einem Ordner abzurufen, verwenden Sie Standard-Dateisystemfunktionen wie GetFileTime- oder FindFirstFile-.

E_INVALIDARG wird zurückgegeben, wenn der psf, pidl, pvoder cb Parameter nicht mit dem parameter nFormat übereinstimmt oder wenn nFormat keine der oben gezeigten spezifischen SHGDFIL_ Werte ist.

Anmerkung

Der header shlobj_core.h definiert SHGetDataFromIDList als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shlobj_core.h (einschließlich Shlobj.h, Shlobj_core.h)
Library Shell32.lib
DLL- Shell32.dll (Version 4.0 oder höher)
API-Satz ext-ms-win-shell-shell32-l1-2-1 (eingeführt in Windows 10, Version 10.0.10240)