Metodo IPropertyStorage::WritePropertyNames (propidl.h)

Il metodo WritePropertyNames assegna nomi IPropertyStorage stringa a una matrice specificata di ID proprietà nel set di proprietà corrente.

Sintassi

HRESULT WritePropertyNames(
  [in] ULONG             cpropid,
  [in] const PROPID []   rgpropid,
  [in] const LPOLESTR [] rglpwstrName
);

Parametri

[in] cpropid

Dimensione dell'input della matrice rgpropid. Può essere pari a zero. Tuttavia, rendendo zero, questo metodo diventa non operativo.

[in] rgpropid

Matrice degli ID delle proprietà per i quali impostare i nomi.

[in] rglpwstrName

Matrice di nuovi nomi da assegnare agli ID di proprietà corrispondenti nella matrice rgpropid . Questi nomi non possono superare i 255 caratteri (non incluso il carattere di terminazione NULL ).

Valore restituito

Questo metodo supporta il valore restituito standard E_UNEXPECTED, oltre ai seguenti:

Commenti

Per altre informazioni sui set di proprietà e sulla gestione della memoria, vedere Gestione dei set di proprietà.

IPropertyStorage::WritePropertyNames assegna nomi di stringa agli ID proprietà passati al metodo nella matrice rgpropid . Associa ogni nome stringa nella matrice rglpwstrName al rispettivo ID proprietà in rgpropid. È esplicitamente valida per definire un nome per un ID di proprietà attualmente non presente nell'oggetto di archiviazione delle proprietà.

È anche valido modificare il mapping per un nome stringa esistente (determinato da una corrispondenza senza distinzione tra maiuscole e minuscole). In altre parole, è possibile utilizzare il metodo WritePropertyNames per eseguire il mapping di un nome esistente a un nuovo ID di proprietà o per eseguire il mapping di un nuovo nome a un ID di proprietà che ha già un nome nel dizionario. In entrambi i casi, il mapping originale viene eliminato. I nomi delle proprietà devono essere univoci (come gli ID proprietà) all'interno del set di proprietà.

L'archiviazione dei nomi di proprietà stringa mantiene la distinzione tra maiuscole e minuscole. A meno che non venga passato PROPSETFLAG_CASE_SENSITIVE a IPropertySetStorage::Create, i nomi dei set di proprietà non fanno distinzione tra maiuscole e minuscole per impostazione predefinita. Con i set di proprietà senza distinzione tra maiuscole e minuscole, le stringhe dei nomi passate dal chiamante vengono interpretate in base alle impostazioni locali del set di proprietà, come specificato dalla proprietà PID_LOCALE . Se il set di proprietà non dispone di alcuna proprietà delle impostazioni locali, per impostazione predefinita viene utilizzato l'utente corrente. I nomi delle proprietà stringa sono limitati a 128 caratteri. I nomi delle proprietà che iniziano con i caratteri Unicode binari 0x0001 tramite 0x001F sono riservati per uso futuro.

Se il valore di un elemento nel parametro della matrice rgpropid è impostato su 0xffffffff (PID_ILLEGAL), il nome corrispondente viene ignorato da IPropertyStorage::WritePropertyNames. Ad esempio, se questo metodo viene chiamato con un parametro cpropid pari a 3, ma il primo elemento della matrice , rgpropid[1], è impostato su PID_ILLEGAL, vengono scritti solo due nomi di proprietà. L'elemento rgpropid[1] viene ignorato.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione propidl.h (include Objbase.h, Propidlbase.h)
Libreria Uuid.lib
DLL Ole32.dll

Vedi anche

IPropertyStorage

IPropertyStorage::ReadMultiple

IPropertyStorage::ReadPropertyNames

IPropertyStorage::WriteMultiple

Esempi

Esempio WriteRead