Partager via


IByteBuffer::SetSize, méthode

[La méthode SetSize peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. L’interface IStream fournit des fonctionnalités similaires.]

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

Syntaxe

HRESULT SetSize(
  [in] LONG libNewSize
);

Paramètres

libNewSize [in]

Nouvelle taille du flux en nombre d’octets

Valeur retournée

La valeur de retour est un HRESULT. La valeur S_OK indique que l’appel a réussi.

Notes

La méthode IByteBuffer::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 IByteBuffer::Write si le pointeur de recherche dépasse la fin du flux actuel.

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 IByteBuffer::SetSize peut être un moyen efficace d’obtenir un grand segment d’espace contigu.

Exemples

L’exemple suivant montre comment définir la taille de la mémoire tampon.

LONG     lNewSize = 256;
HRESULT  hr;

// Change the buffer size.
hr = pIByteBuff->SetSize(lNewSize);
if (FAILED(hr))
  printf("Failed IByteBuffer::SetSize\n");

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin de la prise en charge des clients
Windows XP
Fin de la prise en charge des serveurs
Windows Server 2003
En-tête
Scardssp.h
Bibliothèque de types
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9