Metodo IPropertySetStorage::Create (propidl.h)
Il metodo Create crea e apre un nuovo set di proprietà nell'oggetto di archiviazione del set di proprietà.
Sintassi
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Parametri
[in] rfmtid
FMTID del set di proprietà da creare. Per informazioni sui valori FMTID noti e predefiniti in Platform SDK, vedere identificatori di formato del 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 zere. CLSID è il 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
I valori delle costanti PROPSETFLAG.
[in] grfMode
Modalità di accesso in cui il set di proprietà appena creato deve essere aperto, ricavato 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.
Valore restituito
Questo metodo supporta il valore restituito standard E_UNEXPECTED, nonché quanto segue:
Osservazioni
IPropertySetStorage::Create crea e apre un nuovo oggetto secondario del set di proprietà (che supporta l'interfaccia IPropertyStorage) contenuta in questo oggetto di archiviazione del set di proprietà. Il set di proprietà contiene automaticamente le proprietà dell'ID tabella codici e delle impostazioni locali. Questi valori sono impostati rispettivamente su Unicode e sull'utente corrente predefinito.
Il parametro grfFlags è una combinazione di valori ricavati da costanti PROPSETFLAG. Se viene utilizzato il valore PROPSETFLAG_ANSI di questa enumerazione, la tabella codici viene impostata sull'impostazione predefinita del sistema corrente anziché su 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 per IPropertySetStorage::Open, con l'aggiunta dei valori elencati nella tabella seguente.
Valore | Significato |
---|---|
STGM_FAILIFTHERE | Se esiste un'altra proprietà impostata con il parametro fmtid specificato, la chiamata non riesce. Questa è l'azione predefinita; ovvero, a meno che non venga 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 proprietà. |
Il set di proprietà creato è semplice per impostazione predefinita, ma il chiamante può richiedere un set di proprietà nonsimple specificando il valore PROPSETFLAG_NONSIMPLE nel parametro grfFlags. Per altre informazioni sui set di proprietà semplici e non semplici, vedere Oggetti di archiviazione e flusso per un set di proprietà.
Questo metodo è soggetto ai vincoli del IStorage::CreateStream (per i set di proprietà semplici) o IStorage::CreateStorage (per i set di proprietà non semplici). Ad esempio, quando si usa il implementazione del fileIPropertySetStorage-Compound , specificare STGM_SHARE_EXCLUSIVE nel parametro grfMode per IPropertySetStorage::Create. Viceversa, se si usa il IPropertySetStorage-Stand-alone Implementation, IPropertySetStorage::Create è soggetto a vincoli applicabili al chiamante specificato IStorage.
Fabbisogno
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 | Finestre |
intestazione | propidl.h (include Objbase.h) |
libreria | Uuid.lib |
dll | Ole32.dll |