Metodo IPropertyStorage::WritePropertyNames (propidlbase.h)
Il metodo WritePropertyNames assegna i 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 devono essere impostati i nomi.
[in] rglpwstrName
Matrice di nuovi nomi da assegnare agli ID delle proprietà corrispondenti nella matrice rgpropid . Questi nomi non possono superare i 255 caratteri (non incluso il terminatore NULL ).
Valore restituito
Questo metodo supporta il valore restituito standard E_UNEXPECTED, oltre al seguente:
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 delle proprietà passati al metodo nella matrice rgpropid . Associa ogni nome stringa nella matrice rglpwstrName con il rispettivo ID proprietà in rgpropid. È valido in modo esplicito definire un nome per un ID proprietà non attualmente 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). Vale a dire, è possibile usare il metodo WritePropertyNames per eseguire il mapping di un nome esistente a un nuovo ID proprietà oppure per eseguire il mapping di un nuovo nome a un ID 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 sono ID proprietà) all'interno del set di proprietà.
L'archiviazione dei nomi delle proprietà stringa mantiene il caso. A meno che PROPSETFLAG_CASE_SENSITIVE non venga passato a IPropertySetStorage::Create, i nomi dei set di proprietà non sono distinzione tra maiuscole e minuscole per impostazione predefinita. Con i set di proprietà senza distinzione tra maiuscole e minuscole, le stringhe di nome 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 ha proprietà locali, l'utente corrente viene assunto per impostazione predefinita. 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 l'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
Requisito | Valore |
---|---|
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 | propidlbase.h (include Objbase.h, Propidlbase.h) |
Libreria | Uuid.lib |
DLL | Ole32.dll |
Vedi anche
IPropertyStorage::ReadMultiple
IPropertyStorage::ReadPropertyNames