Share via


Funzione AssocGetDetailsOfPropKey (shlobj_core.h)

Recupera il valore per una determinata chiave di proprietà usando le informazioni sull'associazione di file fornite dalle estensioni dello spazio dei nomi.

Sintassi

SHSTDAPI AssocGetDetailsOfPropKey(
  [in]  IShellFolder      *psf,
  [in]  PCUITEMID_CHILD   pidl,
  [in]  const PROPERTYKEY *pkey,
  [out] VARIANT           *pv,
  [out] BOOL              *pfFoundPropKey
);

Parametri

[in] psf

Tipo: IShellFolder*

Puntatore alla cartella della shell per cui vengono recuperati i dettagli della chiave di proprietà dell'associazione file.

[in] pidl

Tipo: PCUITEMID_CHILD

PIDL dell'elemento figlio per il quale vengono richieste le associazioni di file.

[in] pkey

Tipo: PROPERTYKEY*

Puntatore alla chiave della proprietà da recuperare.

[out] pv

Tipo: VARIANT*

Quando questa funzione viene restituita, contiene i dettagli della chiave della proprietà specificata.

[out] pfFoundPropKey

Tipo: BOOL*

Quando questa funzione viene restituita, contiene un flag TRUE se la chiave della proprietà è stata trovata; in caso contrario, FALSE.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione deve essere usata solo dagli implementatori delle estensioni dello spazio dei nomiIShellFolder. Altre applicazioni chiamanti devono usare IShellFolder2::GetDetailsEx per ottenere un valore per PROPERTYKEY. Questa funzione deve essere usata dagli implementatori delle estensioni dello spazio dei nomi IShellFolder .

L'estensione dello spazio dei nomi fornita deve supportare l'uso di questa API in uno dei tre modi seguenti.

  1. Se le estensioni dello spazio dei nomi fornite supportano il recupero di un'interfaccia IQueryAssociations per l'elemento implementando IShellFolder::GetUIObjectOf(..., IID_IQueryAssociations, ...), AssocGetDetailsOfPropKey userà l'API delle associazioni di file fornita per recuperare il valore per la chiave della proprietà.
  2. Se l'estensione dello spazio dei nomi fornita restituisce SFGAO_FILESYSTEM per l'elemento da IShellFolder::GetAttributesOf e fornisce un nome di analisi per l'elemento, AssocGetDetailsOfPropKey userà le associazioni del file system standard per recuperare il valore per la chiave della proprietà.
  3. Se l'estensione dello spazio dei nomi specificata restituisce SFGAO_FOLDER | SFGAO_BROWSABLE per l'elemento da IShellFolder::GetAttributesOf, AssocGetDetailsOfPropKey userà l'associazione di file per le cartelle (ASSOCCLASS_FOLDER) per recuperare il valore per la chiave della proprietà.
Se ShellFolder implementato contiene elementi estendibili tramite il meccanismo di associazioni di file, è possibile usare questa funzione per recuperare PropertyKeys dichiarati per una determinata associazione di file. Ad esempio, se una determinata cartella shell determina un riquadro dei dettagli e si desidera che le proprietà visualizzate in tale riquadro siano regolate dalle estensioni di nome di file di terze parti, è possibile usare questa funzione per restituire PKEY_PropList_PreviewDetails. Questa chiave ha un valore dichiarato nel Registro di sistema per l'estensione del nome file con un elenco delimitato da punto e virgola di proprietà. Nel Registro di sistema è presente un elenco di proprietà definite dall'estensione del nome file. Questo elenco include, ma non è limitato ai seguenti:
  • PKEY_PropList_PreviewDetails
  • PKEY_PropList_PreviewTitle
  • PKEY_PropList_FullDetails
  • PKEY_PropList_TileInfo
  • PKEY_PropList_ExtendedTileInfo
  • PKEY_PropList_InfoTip
  • PKEY_PropList_QuickTip
  • PKEY_PropList_FileOperationPrompt
  • PKEY_PropList_ConflictPrompt
  • PKEY_PropList_SetDefaultsFor
  • PKEY_PropList_NonPersonal
  • PKEY_NewMenuPreferredTypes
  • PKEY_NewMenuAllowedTypes

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h (includere Shlobj.h)
DLL Shell32.dll