IByteBuffer::Write-Methode
[Die Write-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 Write-Methode schreibt ab dem aktuellen Suchzeiger eine angegebene Zahl aus Bytes in das Streamobjekt.
Syntax
HRESULT Write(
[in] BYTE *pByte,
[in] LONG cb,
[out] LONG *pcbWritten
);
Parameter
-
pByte [in]
-
Adresse des Puffers, der die Daten enthält, die in den Stream geschrieben werden sollen. Ein gültiger Zeiger muss für diesen Parameter bereitgestellt werden, auch wenn cb null ist.
-
cb [in]
-
Anzahl der Datenbytes, die versucht werden sollen, in den Stream zu schreiben. Dieser Parameter kann null sein.
-
pcbWritten [out]
-
Adresse einer LONG-Variablen , in der diese Methode die tatsächliche Anzahl von Bytes schreibt, die in das Streamobjekt geschrieben werden. Der Aufrufer kann diesen Zeiger auf NULL festlegen. In diesem Fall stellt diese Methode nicht die tatsächliche Anzahl der geschriebenen Bytes bereit.
Rückgabewert
Der Rückgabewert ist ein HRESULT. Der Wert S_OK gibt an, dass der Aufruf erfolgreich war.
Bemerkungen
Die IByteBuffer::Write-Methode schreibt die angegebenen Daten in ein Streamobjekt. Der Suchzeiger wird für die Anzahl der tatsächlich geschriebenen Bytes angepasst. Die Anzahl der tatsächlich geschriebenen Bytes wird im pcbWritten-Parameter zurückgegeben. Wenn die Byteanzahl null Bytes beträgt, hat der Schreibvorgang keine Auswirkungen.
Wenn sich der Suchzeiger derzeit am Ende des Datenstroms befindet und die Byteanzahl ungleich null ist, erhöht diese Methode die Größe des Datenstroms auf den Suchzeiger und schreibt die angegebenen Bytes ab dem Suchzeiger. Die in den Stream geschriebenen Füllbytes werden nicht für einen bestimmten Wert initialisiert. Dies entspricht dem Verhalten zum Dateiende im MS-DOS FAT-Dateisystem.
Mit einer Byteanzahl von 0 (null) und einem Suchzeiger über das Ende des Datenstroms hinaus erstellt diese Methode keine Füllbytes, um den Datenstrom auf den Suchzeiger zu erhöhen. In diesem Fall müssen Sie die IByteBuffer::SetSize-Methode aufrufen, um die Größe des Datenstroms zu erhöhen und die Füllbytes zu schreiben.
Der pcbWritten-Parameter kann auch dann einen Wert aufweisen, wenn ein Fehler auftritt.
In der von COM bereitgestellten Implementierung sind Streamobjekte nicht sparse. Alle Füllbytes werden schließlich auf dem Datenträger zugeordnet und dem Stream zugewiesen.
Beispiele
Das folgende Beispiel zeigt das Schreiben von Bytes in das Streamobjekt.
LONG lWrite;
HRESULT hr;
// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
64,
&lWrite);
if (FAILED(hr))
printf("Failed IByteBuffer::Write\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 |