Metodo IPropertySetStorage::Create (propidl.h)
Il metodo Create crea e apre una nuova proprietà impostata nell'oggetto di archiviazione del set di proprietà.
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
[in] rfmtid
FmTID del set di proprietà da creare. Per informazioni sugli FMTID noti e predefiniti in Platform SDK, vedere Identificatori di formato set di proprietà predefiniti.
[in] pclsid
Puntatore all'identificatore di classe iniziale CLSID per questo set di proprietà. Può essere NULL, nel qual caso è impostato su tutti gli zero. CLSID è CLSID di una classe che visualizza e/o fornisce l'accesso a livello di codice ai valori delle proprietà. Se non esiste una classe di questo tipo, è consigliabile usare FMTID.
[in] grfFlags
Valori delle costanti PROPSETFLAG.
[in] grfMode
Modalità di accesso in cui il set di proprietà appena creato deve essere aperto, tratto da determinati valori di STGM_Constants, come descritto nella sezione Osservazioni seguente.
[out] ppprstg
Puntatore alla variabile di output che riceve il puntatore dell'interfaccia IPropertyStorage .
Questo metodo supporta il valore restituito standard E_UNEXPECTED, nonché quanto segue:
IPropertySetStorage::Create crea e apre un nuovo oggetto subobject del set di proprietà (che supporta l'interfaccia IPropertyStorage ) contenuto in questo oggetto di archiviazione del set di proprietà. Il set di proprietà contiene automaticamente le proprietà ID della tabella codici e delle impostazioni locali. Questi sono impostati rispettivamente su Unicode e sul valore predefinito dell'utente corrente.
Il parametro grfFlags è una combinazione di valori presi dalle costanti PROPSETFLAG. Se viene usato il valore PROPSETFLAG_ANSI da questa enumerazione, la tabella codici è impostata sul valore predefinito del sistema corrente anziché Unicode.
Il parametro grfMode specifica la modalità di accesso in cui deve essere aperto il set appena creato. I valori per questo parametro sono come nel parametro grfMode in IPropertySetStorage::Open, con l'aggiunta dei valori elencati nella tabella seguente.
Valore | Significato |
---|---|
STGM_FAILIFTHERE | Se esiste un altro set di proprietà con il parametro fmtid specificato, la chiamata ha esito negativo. Si tratta dell'azione predefinita; ovvero, a meno che non sia specificato STGM_CREATE, STGM_FAILIFTHERE è implicito. |
STGM_CREATE | Se esiste già un'altra proprietà impostata con il parametro fmtid specificato, viene rimossa e sostituita con questa nuova. |
Il set di proprietà creato è semplice per impostazione predefinita, ma il chiamante può richiedere una proprietà nonsimple impostata specificando il valore PROPSETFLAG_NONSIMPLE nel parametro grfFlags . Per altre informazioni sui set di proprietà semplici e nonsimple, vedere Archiviazione e oggetti Stream per un set di proprietà.
Questo metodo è soggetto ai vincoli dei set di proprietà IStorage::CreateStream (per i set di proprietà semplici) o IStorage::CreateStorage (per i set di proprietà nonsimple). Ad esempio, quando si usa l'implementazione file composta IPropertySetStorage-Compound, specificare STGM_SHARE_EXCLUSIVE nel parametro grfMode su IPropertySetStorage::Create. Al contrario, se si usa l'implementazione autonoma IPropertySetStorage,IPropertySetStorage::Create è soggetta a vincoli che si applicano al chiamante specificato per IStorage.
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 | propidl.h (include Objbase.h) |
Libreria | Uuid.lib |
DLL | Ole32.dll |