ILockBytes::WriteAt-Methode (objidl.h)

Die WriteAt-Methode schreibt die angegebene Anzahl von Bytes ab einem angegebenen Offset vom Anfang des Bytearrays.

Syntax

HRESULT WriteAt(
  [in]  ULARGE_INTEGER ulOffset,
  [in]  const void     *pv,
  [in]  ULONG          cb,
  [out] ULONG          *pcbWritten
);

Parameter

[in] ulOffset

Gibt den Startpunkt vom Anfang des Bytearrays für die zu schreibenden Daten an.

[in] pv

Zeiger auf den Puffer, der die zu schreibenden Daten enthält.

[in] cb

Gibt die Anzahl von Datenbytes an, die versucht werden sollen, in das Bytearray zu schreiben.

[out] pcbWritten

Zeiger auf einen Speicherort, an dem diese Methode die tatsächliche Anzahl von Bytes angibt, die in das Bytearray geschrieben werden. Sie können diesen Zeiger auf NULL festlegen, um anzugeben, dass Sie an diesem Wert nicht interessiert sind. In diesem Fall stellt diese Methode nicht die tatsächliche Anzahl der geschriebenen Bytes bereit.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK Gibt an, dass die angegebene Anzahl von Bytes geschrieben wurde.
E_FAIL Während des Schreibvorgangs ist ein allgemeiner Fehler aufgetreten.
E_PENDING Nur asynchroner Speicher: Ein Teil oder alle zu schreibenden Daten sind derzeit nicht verfügbar.
STG_E_ACCESSDENIED Der Aufrufer verfügt nicht über genügend Berechtigungen zum Schreiben dieses Bytearrays.
STG_E_WRITEFAULT Die Anzahl der zu schreibenden Bytes entspricht nicht der Anzahl der Bytes, die tatsächlich geschrieben wurden.
STG_E_MEDIUMFULL Der Schreibvorgang wurde nicht abgeschlossen, da auf dem Speichergerät kein Speicherplatz mehr vorhanden ist. Die tatsächliche Anzahl der geschriebenen Bytes wird weiterhin in pcbWritten zurückgegeben.

Hinweise

ILockBytes::WriteAt schreibt die angegebenen Daten an der angegebenen Position im Bytearray. Die Anzahl der tatsächlich geschriebenen Bytes muss immer in pcbWritten zurückgegeben werden, auch wenn ein Fehler zurückgegeben wird. Wenn die Byteanzahl null Bytes beträgt, hat der Schreibvorgang keine Auswirkung.

Wenn ulOffset am Ende des Bytearrays liegt und cb größer als 0 ist, erhöht ILockBytes::WriteAt die Größe des Bytearrays. Die in das Bytearray geschriebenen Füllbytes werden nicht für einen bestimmten Wert initialisiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objidl.h
Bibliothek Uuid.lib
DLL Ole32.dll

Weitere Informationen

ILockBytes – File-Based Implementierung

ILockBytes – Globale Speicherimplementierung

ILockBytes::ReadAt

ILockBytes::SetSize