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 |