Freigeben über


IByteBuffer::SetSize-Methode

[Die SetSize-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die IStream-Schnittstelle bietet ähnliche Funktionen.]

Die SetSize-Methode ändert die Größe des Streamobjekts.

Syntax

HRESULT SetSize(
  [in] LONG libNewSize
);

Parameter

libNewSize [in]

Neue Größe des Datenstroms als Anzahl von Bytes

Rückgabewert

Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt an, dass der Aufruf erfolgreich war.

Bemerkungen

Die IByteBuffer::SetSize-Methode ändert die Größe des Streamobjekts. Rufen Sie diese Methode auf, um den Speicherplatz für den Stream vorab zu belegen. Wenn der libNewSize-Parameter größer als die aktuelle Streamgröße ist, wird der Datenstrom auf die angegebene Größe erweitert, indem der dazwischen liegende Bereich mit Bytes mit undefiniertem Wert gefüllt wird. Dieser Vorgang ähnelt der IByteBuffer::Write-Methode , wenn sich der Suchzeiger am aktuellen Datenstromende befindet.

Wenn der libNewSize-Parameter kleiner als der aktuelle Stream ist, wird der Stream auf die angegebene Größe abgeschnitten.

Der Suchzeiger ist von der Änderung der Streamgröße nicht betroffen.

Der Aufruf von IByteBuffer::SetSize kann eine effektive Möglichkeit sein, einen großen Teil zusammenhängenden Speicherplatzes zu erhalten.

Beispiele

Das folgende Beispiel zeigt das Festlegen der Puffergröße.

LONG     lNewSize = 256;
HRESULT  hr;

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
Scardssp.h
Typbibliothek
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer ist definiert als E126F8FE-A7AF-11D0-B88A-00C04FD424B9