Metodo IStorage::OpenStream (objidl.h)
Il metodo OpenStream apre un oggetto flusso esistente all'interno di questo oggetto di archiviazione nella modalità di accesso specificata.
Sintassi
HRESULT OpenStream(
[in] const OLECHAR *pwcsName,
[in] void *reserved1,
[in] DWORD grfMode,
[in] DWORD reserved2,
[out] IStream **ppstm
);
Parametri
[in] pwcsName
Puntatore a una stringa Unicode con terminazione Null a caratteri wide contenente il nome del flusso da aprire. I caratteri da 000 a 01f, che fungono da primo carattere del nome del flusso/archivio, sono riservati all'OLE. Si tratta di una limitazione del file composto, non della restrizione di un archivio strutturato.
[in] reserved1
Riservato per uso futuro; deve essere NULL.
[in] grfMode
Specifica la modalità di accesso da assegnare al flusso aperto. Per altre informazioni e descrizioni dei valori possibili, vedere Costanti STGM. Le altre modalità scelte devono almeno specificare STGM_SHARE_EXCLUSIVE quando si chiama questo metodo nell'implementazione del file composto.
[in] reserved2
Riservato per utilizzi futuri; deve essere zero.
[out] ppstm
Puntatore alla variabile del puntatore IStream che riceve il puntatore dell'interfaccia all'oggetto flusso appena aperto. Se si verifica un errore, *ppstm deve essere impostato su NULL.
Valore restituito
Questo metodo può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
S_OK | Il flusso è stato aperto correttamente. |
E_PENDING | Solo archiviazione asincrona: parte o tutti i dati del flusso non sono attualmente disponibili. |
STG_E_ACCESSDENIED | Autorizzazioni non sufficienti per aprire il flusso. |
STG_E_FILENOTFOUND | Il flusso con il nome specificato non esiste. |
STG_E_INSUFFICIENTMEMORY | Il flusso non è stato aperto a causa di una mancanza di memoria. |
STG_E_INVALIDFLAG | Il valore specificato per il parametro grfMode non è un valore di costanti STGM valido. |
STG_E_INVALIDFUNCTION | La combinazione specificata di flag nel parametro grfMode non è supportata; ad esempio, quando questo metodo viene chiamato senza il flag STGM_SHARE_EXCLUSIVE. |
STG_E_INVALIDNAME | Valore non valido per pwcsName. |
STG_E_INVALIDPOINTER | Il puntatore specificato per l'oggetto flusso non è valido. |
STG_E_INVALIDPARAMETER | Uno dei parametri non è valido. |
STG_E_REVERTED | L'oggetto di archiviazione è stato invalidato da un'operazione di ripristino sopra di essa nell'albero delle transazioni. |
STG_E_TOOMANYOPENFILES | Il flusso non è stato aperto perché sono presenti troppi file aperti. |
Commenti
IStorage::OpenStream apre un oggetto flusso esistente all'interno di questo oggetto di archiviazione nella modalità di accesso specificata in grfMode. Esistono restrizioni sulle autorizzazioni che possono essere concesse in grfMode. Ad esempio, le autorizzazioni per questo oggetto di archiviazione limitano le autorizzazioni per i flussi. In generale, le restrizioni di accesso per i flussi devono essere più rigide rispetto a quelle nelle risorse di archiviazione padre. I flussi di file composti devono essere aperti con STGM_SHARE_EXCLUSIVE.
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 | objidl.h |
Libreria | Uuid.lib |
DLL | Ole32.dll |