Metodo IPropertySetStorage::Create (propidl.h)

Il metodo Create crea e apre una nuova proprietà impostata 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 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 .

Valore restituito

Questo metodo supporta il valore restituito standard E_UNEXPECTED, nonché quanto segue:

Commenti

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.

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 propidl.h (include Objbase.h)
Libreria Uuid.lib
DLL Ole32.dll

Vedi anche

IPropertySetStorage

IPropertySetStorage::Open

Costanti PROPSETFLAG

Esempi

Esempio stgCreatePropSetStg

Esempio WriteRead