Condividi tramite


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

Vedere anche

IPropertySetStorage

IPropertySetStorage::Open

costanti PROPSETFLAG

esempi di

di esempio StgCreatePropSetStg

writeread sample