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 |
|
Typbibliothek |
|
DLL |
|
IID |
IID_IByteBuffer ist definiert als E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |