Partager via


Méthode IStream::SetSize (objidl.h)

La méthode SetSize modifie la taille de l’objet de flux.

Syntaxe

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Paramètres

[in] libNewSize

Spécifie la nouvelle taille, en octets, du flux.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK La taille de l’objet de flux a été modifiée.
E_PENDING Stockage asynchrone uniquement : une partie ou la totalité des données du flux n’est actuellement pas disponible.
STG_E_MEDIUMFULL La taille du flux n’est pas modifiée, car il n’y a plus d’espace sur le périphérique de stockage.
STG_E_INVALIDFUNCTION La valeur du paramètre libNewSize n’est pas prise en charge par l’implémentation. Tous les flux ne prennent pas en charge plus de 232 octets. Si un flux ne prend pas en charge plus de 232 octets, le type de données DWORD élevé de libNewSize doit être égal à zéro. Si elle n’est pas nulle, l’implémentation peut retourner STG_E_INVALIDFUNCTION. En général, les implémentations COM de l’interface IStream ne prennent pas en charge les flux de plus de 232 octets.
STG_E_REVERTED L’objet a été invalidé par une opération de rétablissement au-dessus de lui dans l’arborescence des transactions.

Notes

IStream::SetSize modifie la taille de l’objet de flux. Appelez cette méthode pour préallouer l’espace pour le flux. Si le paramètre libNewSize est supérieur à la taille actuelle du flux, le flux est étendu à la taille indiquée en remplissant l’espace intermédiaire avec des octets de valeur non définie. Cette opération est similaire à la méthode ISequentialStream::Write si le pointeur de recherche dépasse la fin actuelle du flux.

Si le paramètre libNewSize est plus petit que le flux actuel, le flux est tronqué à la taille indiquée.

Le pointeur de recherche n’est pas affecté par la modification de la taille du flux.

L’appel de IStream::SetSize peut être un moyen efficace d’obtenir un grand segment d’espace contigu.

Spécifications

   
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

Voir aussi

ISequentialStream::Write

IStream

IStream - Implémentation de fichier composé