Freigeben über


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