Freigeben über


IDiscFormat2Data::Write-Methode (imapi2.h)

Schreibt den Datenstrom auf das Gerät.

Hinweis Für einen erfolgreichen Schreibvorgang muss die Größe des übergebenen Datenstroms ein Vielfaches der Sektorgröße 2048 sein. Dies schließt Vorgänge ein, die Streams verwenden, die iso-Images zugeordnet sind, die nicht von IMAPI erstellt wurden.

 

Syntax

HRESULT Write(
  [in] IStream *data
);

Parameter

[in] data

Eine IStream-Schnittstelle des zu schreibenden Datenstroms.

Rückgabewert

S_OK wird bei Erfolg zurückgegeben, aber andere Erfolgscodes können als Ergebnis der Implementierung zurückgegeben werden. Die folgenden Fehlercodes werden häufig bei Vorgangsfehlern zurückgegeben, stellen aber nicht die einzigen möglichen Fehlerwerte dar:

Rückgabecode Beschreibung
E_IMAPI_RECORDER_COMMAND_TIMEOUT
Das Gerät konnte den Befehl innerhalb des Timeoutzeitraums nicht annehmen. Dies kann dadurch verursacht werden, dass das Gerät einen inkonsistenten Zustand eingegeben hat, oder der Timeoutwert für den Befehl muss möglicherweise erhöht werden.

Wert: 0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
Das Gerät hat unerwartete oder ungültige Daten für einen Befehl gemeldet.

Wert: 0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
Die Medien werden kopfüber eingefügt.

Wert: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
Das Laufwerk hat gemeldet, dass es gerade bereit ist. Versuchen Sie die Anforderung später erneut.

Wert: 0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
Das Gerät enthält keine Medien.

Wert: 0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
Die Medien werden derzeit formatiert. Warten Sie, bis das Format abgeschlossen ist, bevor Sie versuchen, die Medien zu verwenden.

Wert: 0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
Das Laufwerk hat gemeldet, dass es einen Vorgang mit langer Ausführung ausführt, z. B. das Beenden eines Schreibvorgangs. Das Laufwerk kann für einen längeren Zeitraum unbrauchbar sein.

Wert: 0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
Fehler beim Schreiben, da das Laufwerk daten nicht schnell genug empfangen hat, um mit dem Schreiben fortzufahren. Wenn Sie die Quelldaten auf den lokalen Computer verschieben, die Schreibgeschwindigkeit verringern oder die Einstellung "Pufferunterlauf frei" aktivieren, kann dieses Problem behoben werden.

Wert: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
Die Medien sind nicht kompatibel oder haben kein unbekanntes physisches Format.

Wert: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
Die DVD-Struktur ist nicht vorhanden. Dies kann durch inkompatibles Laufwerk/Medium verursacht werden.

Wert: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
Das Gerät hat gemeldet, dass die angeforderte Modusseite (und der Typ) nicht vorhanden sind.

Wert: 0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
Das Laufwerk meldete, dass die Kombination von Parametern, die auf der Modusseite für einen MODUS SELECT-Befehl bereitgestellt wurden, nicht unterstützt wurde.

Wert: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
Das Laufwerk meldete, dass das Medium schreibgeschützt ist.

Wert: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
Die Geschwindigkeit des Mediums ist mit dem Gerät nicht kompatibel. Dies kann durch die Verwendung von Medien mit höherer oder niedrigerer Geschwindigkeit als der vom Gerät unterstützte Geschwindigkeitsbereich verursacht werden.

Wert: 0xC0AA020F

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
Das angegebene Handle ist ungültig.

Wert: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
Die angegebene Netzwerkressource oder das angegebene Gerät ist nicht mehr verfügbar.

Wert: 55

E_IMAPI_RECORDER_LOCKED
Das diesem Rekorder während des letzten Vorgangs zugeordnete Gerät wurde ausschließlich gesperrt, sodass dieser Vorgang nicht erfolgreich war.

Wert: 0xC0AA0210

E_IMAPI_UNEXPECTED_RESPONSE_FROM_DEVICE
Fehler beim Schreiben, weil das Laufwerk Fehlerinformationen zurückgegeben hat, die nicht wiederhergestellt werden konnten.

Wert: 0xC0AA0301

E_IMAPI_RECORDER_REQUIRED
Für die Anforderung muss ein aktueller Discrecorder ausgewählt werden.

Wert: 0xC0AA0003

S_IMAPI_ROTATIONADJUSTED
Der angeforderte Rotationstyp wurde vom Laufwerk nicht unterstützt, und der Rotationstyp wurde angepasst.

Wert: 0x00AA0005

S_IMAPI_SPEEDADJUSTED
Die angeforderte Schreibgeschwindigkeit wurde vom Laufwerk nicht unterstützt, und die Geschwindigkeit wurde angepasst.

Wert: 0x00AA0004

S_IMAPI_BOTHADJUSTED
Die angeforderte Schreibgeschwindigkeit und der angeforderte Drehungstyp wurden vom Laufwerk nicht unterstützt, und beide wurden angepasst.

Wert: 0x00AA0006

E_IMAPI_DF2DATA_RECORDER_NOT_SUPPORTED
Dieses Gerät unterstützt nicht die Vorgänge, die für dieses Datenträgerformat erforderlich sind.

Wert: 0xC0AA0407

E_IMAPI_REQUEST_CANCELLED
Die Anforderung wurde abgebrochen.

Wert: 0xC0AA0002

E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
Derzeit wird ein Schreibvorgang ausgeführt.

Wert: 0xC0AA0400

E_IMAPI_DF2DATA_STREAM_NOT_SUPPORTED
Die Größe des bereitgestellten IStream-Objekts ist ungültig. Die Größe muss ein Vielfaches der Sektorgröße 2048 sein.

Wert: 0xC0AA0403

E_IMAPI_DF2DATA_MEDIA_IS_NOT_SUPPORTED
Der aktuelle Medientyp wird nicht unterstützt.

Wert: (HRESULT)0xC0AA0406

E_INVALIDARG
Mindestens ein Argument ist ungültig.

Wert: 0x80070057

E_POINTER
Der Zeiger ist ungültig.

Wert: 0x80004003

E_FAIL
Unspezifizierter Fehler.

Wert: 0x80004005

E_OUTOFMEMORY
Fehler beim Zuordnen des erforderlichen Arbeitsspeichers.

Wert: 0x8007000E

E_NOTIMPL
Nicht implementiert.

Wert: 0x80004001

Hinweise

Bevor Sie diese Methode aufrufen, müssen Sie die folgenden Methoden aufrufen:

Sie sollten auch erwägen, die folgenden Methoden aufzurufen, wenn deren Standardwerte für Ihre Anwendung nicht geeignet sind: Diese Methode ist synchron. Dies bedeutet, dass die Steuerung erst zurückgegeben wird, wenn der bereitgestellte IStream auf den Medien aufgezeichnet wird. Um den Fortschritt des Schreibvorgangs zu bestimmen, müssen Sie die DDiscFormat2DataEvents-Schnittstelle implementieren. Beispiele zum Implementieren eines Ereignishandlers in einem Skript finden Sie unter Überwachen des Fortschritts mit Ereignissen.

Auf sequenziell aufgezeichneten Datenträgern wird der bereitgestellte IStream als neue Sitzung aufgezeichnet. Auf wiederbeschreibbaren Datenträgern wird der bereitgestellte IStream immer ab Sektor 0 aufgezeichnet, aber das Objekt, das die IStream-Schnittstelle bereitstellt, kann auch die IBlockRangeList-Schnittstelle bereitstellen, die die Sektoren auflistet, die aufgezeichnet werden müssen. Die IBlockRangeList-Schnittstelle wird verwendet, um das Umschreiben von Sektoren zu vermeiden, die sich in Multisessionszenarien nicht geändert haben. Wenn das Objekt, das IStream bereitstellt, IBlockRangeList nicht bereitstellt, wird davon ausgegangen, dass der gesamte IStream aufgezeichnet werden muss.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile imapi2.h

Weitere Informationen

DDiscFormat2DataEvents

IDiscFormat2Data

IDiscFormat2Data::CancelWrite