IByteBuffer::Write-Methode

[Die Write-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. 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 eine angegebene Zahl aus Bytes ab dem aktuellen Suchzeiger 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 0 (null) ist.

cb [ In]

Anzahl der Datenbytes, die in den Stream geschrieben werden sollen. Dieser Parameter kann 0 (null) sein.

wwwwritten [ out]

Adresse einer LONG-Variablen, in die diese Methode die tatsächliche Anzahl von Bytes schreibt, die in das Streamobjekt geschrieben wurden. 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 parameter pwwritten zurückgegeben. Wenn die Byteanzahl 0 Bytes beträgt, hat der Schreibvorgang keine Auswirkungen.

Wenn sich der Suchzeiger derzeit hinter dem Ende des Streams befindet und die Byteanzahl ungleich 0 (null) ist, erhöht diese Methode die Größe des Streams auf den Suchzeiger und schreibt die angegebenen Bytes beginnend beim Suchzeiger. Die in den Stream geschriebenen Füllbytes werden nicht mit einem bestimmten Wert initialisiert. Dies entspricht dem Verhalten am Ende der Datei im MS-DOS FAT-Dateisystem.

Mit einer Byteanzahl von 0 (null) und einem Suchzeiger hinter dem Ende des Streams erstellt diese Methode nicht die Füllbytes, um den Stream auf den Suchzeiger zu erhöhen. In diesem Fall müssen Sie die IByteBuffer::SetSize-Methode aufrufen, um die Größe des Streams zu erhöhen und die Füllbytes zu schreiben.

Der Parameter "layoutWritten" 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");

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-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 als E126F8FE-A7AF-11D0-B88A-00C04FD424B9 definiert.