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::ReadMultiple
IPropertyStorage::ReadPropertyNames