Méthode IStorage ::OpenStream (objidl.h)
La méthode OpenStream ouvre un objet de flux existant dans cet objet de stockage dans le mode d’accès spécifié.
Syntaxe
HRESULT OpenStream(
[in] const OLECHAR *pwcsName,
[in] void *reserved1,
[in] DWORD grfMode,
[in] DWORD reserved2,
[out] IStream **ppstm
);
Paramètres
[in] pwcsName
Pointeur vers une chaîne Unicode de caractères larges terminée par un caractère null qui contient le nom du flux à ouvrir. Les caractères 000 à 01f qui servent de premier caractère au nom de flux/de stockage, sont réservés pour être utilisés par OLE. Il s'agit d'une restriction de fichier composé, pas d'une restriction de stockage de mémoire.
[in] reserved1
Réservé pour une utilisation ultérieure ; doit être NULL.
[in] grfMode
Spécifie le mode d’accès à affecter au flux ouvert. Pour plus d’informations et des descriptions des valeurs possibles, consultez Constantes STGM. Les autres modes que vous choisissez doivent au moins spécifier STGM_SHARE_EXCLUSIVE lors de l’appel de cette méthode dans l’implémentation de fichier composé.
[in] reserved2
Réservé pour une future utilisation ; doit être nul.
[out] ppstm
Pointeur vers la variable pointeur IStream qui reçoit le pointeur d’interface vers l’objet de flux qui vient d’être ouvert. Si une erreur se produit, *ppstm doit être défini sur NULL.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
S_OK | Le flux a été correctement ouvert. |
E_PENDING | Stockage asynchrone uniquement : une partie ou la totalité des données de flux n’est actuellement pas disponible. |
STG_E_ACCESSDENIED | Autorisations insuffisantes pour ouvrir le flux. |
STG_E_FILENOTFOUND | Le flux portant le nom spécifié n’existe pas. |
STG_E_INSUFFICIENTMEMORY | Le flux n’a pas été ouvert en raison d’un manque de mémoire. |
STG_E_INVALIDFLAG | La valeur spécifiée pour le paramètre grfMode n’est pas une valeur de constantes STGM valide. |
STG_E_INVALIDFUNCTION | La combinaison spécifiée d’indicateurs dans le paramètre grfMode n’est pas prise en charge ; par exemple, lorsque cette méthode est appelée sans l’indicateur STGM_SHARE_EXCLUSIVE. |
STG_E_INVALIDNAME | Valeur non valide pour pwcsName. |
STG_E_INVALIDPOINTER | Le pointeur spécifié pour l’objet de flux n’était pas valide. |
STG_E_INVALIDPARAMETER | L’un des paramètres n’était pas valide. |
STG_E_REVERTED | L’objet de stockage a été invalidé par une opération de rétablissement au-dessus de lui dans l’arborescence des transactions. |
STG_E_TOOMANYOPENFILES | Le flux n’a pas été ouvert, car il y a trop de fichiers ouverts. |
Remarques
IStorage ::OpenStream ouvre un objet de flux existant dans cet objet de stockage dans le mode d’accès spécifié dans grfMode. Il existe des restrictions sur les autorisations qui peuvent être données dans grfMode. Par exemple, les autorisations sur cet objet de stockage limitent les autorisations sur ses flux. En général, les restrictions d’accès sur les flux doivent être plus strictes que celles sur leurs stockages parents. Les flux de fichiers composés doivent être ouverts avec STGM_SHARE_EXCLUSIVE.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | objidl.h |
Bibliothèque | Uuid.lib |
DLL | Ole32.dll |