Freigeben über


IDiscRecorder2Ex::SendCommandNoData-Methode (imapi2.h)

Sendet einen MMC-Befehl an das Aufzeichnungsgerät. Verwenden Sie diese Funktion, wenn kein Datenpuffer an das Gerät gesendet oder vom Gerät empfangen wird.

Syntax

HRESULT SendCommandNoData(
  [in]  BYTE      *Cdb,
  [in]  ULONG     CdbSize,
  [out] BYTE [18] SenseBuffer,
  [in]  ULONG     Timeout
);

Parameter

[in] Cdb

Befehlspaket, das an das Gerät gesendet werden soll.

[in] CdbSize

Größe des zu sendenden Befehlspakets in Bytes. Muss zwischen 6 und 16 Byte betragen.

[out] SenseBuffer

Vom Aufzeichnungsgerät zurückgegebene Daten werden erfasst.

[in] Timeout

Zeitlimit in Sekunden, bis der Befehl send ein Ergebnis empfängt.

Rückgabewert

S_OK oder einer der folgenden Werte kann bei Erfolg zurückgegeben werden, aber als Ergebnis der Implementierung können andere Erfolgscodes zurückgegeben werden:

Rückgabecode Beschreibung
S_IMAPI_COMMAND_HAS_SENSE_DATA
Das Gerät schlägt den Befehl fehl, gibt aber Sense-Daten zurück.

Wert: 0x00AA0200

 

Die folgenden Fehlercodes werden häufig bei Einem Vorgangsfehler zurückgegeben, stellen jedoch nicht die einzigen möglichen Fehlerwerte dar:

Rückgabecode Beschreibung
E_POINTER
Der Zeiger ist ungültig.

Wert: 0x80004003

E_FAIL
Unspezifizierter Fehler.

Wert: 0x80004005

E_IMAPI_RECORDER_GET_CONFIGURATION_NOT_SUPPORTED
Das Laufwerk unterstützt den BEFEHL GET CONFIGURATION nicht.

Wert: 0xC0AA020C

E_IMAPI_RECORDER_NO_SUCH_FEATURE
Die angeforderte Featureseite wird vom Gerät nicht unterstützt.

Wert: 0xC0AA020A

E_OUTOFMEMORY
Fehler beim Zuordnen des erforderlichen Arbeitsspeichers.

Wert: 0x8007000E

E_IMAPI_RECORDER_FEATURE_IS_NOT_CURRENT
Die angeforderte Featureseite wird unterstützt, aber nicht als aktuell markiert.

Wert: 0xC0AA020B

E_IMAPI_RECORDER_COMMAND_TIMEOUT
Das Gerät konnte den Befehl nicht innerhalb des Timeoutzeitraums annehmen. Dies kann darauf zurückzuführen sein, dass das Gerät in einen inkonsistenten Zustand versetzt wurde, 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
Das Medium wird kopfüber eingefügt.

Wert: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
Das Laufwerk hat gemeldet, dass es gerade bereit ist. Versuchen Sie es 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 zeitintensiven Vorgang 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, weil 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 "pufferunterlauffrei" aktivieren, kann dieses Problem behoben werden.

Wert: 0xC0AA0300

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

Wert: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
Die DVD-Struktur ist nicht vorhanden. Dies kann durch inkompatibles Verwendetes 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 MODE SELECT-Befehl bereitgestellt wurden, nicht unterstützt wurde.

Wert: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
Das Laufwerk hat gemeldet, dass die Medien schreibgeschützt sind.

Wert: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
Die Geschwindigkeit der Medien 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 gerät, das diesem Recorder während des letzten Vorgangs zugeordnet ist, wurde ausschließlich gesperrt, sodass dieser Vorgang fehlgeschlagen ist.

Wert: 0xC0AA0210

Hinweise

Ausführliche Informationen zum Inhalt des Befehlspakets und der Sense-Daten finden Sie in der neuesten Überarbeitung der MMC-Spezifikation unter ftp://ftp.t10.org/t10/drafts/mmc5.

Clientdefinierte Befehle (CDBs), die mit dieser Methode verwendet werden, müssen zwischen 6 und 16 Bytes lang sein. Darüber hinaus muss die Größe der einzelnen Befehle mit der Größe übereinstimmen, die durch den Vorgangscode definiert wird, wie in der folgenden Tabelle definiert.

CDB-Vorgangscodebereich CDB-Gruppe Erforderliche CDB-Größe
0x00 – 0x1F 0 6 Byte
0x20 – 0x3F 1 10 Bytes
0x40 – 0x5F 2 10 Bytes
0x60 – 0x7F 3 Erzwingt in Zukunft standardspezifische Größenanforderungen für diesen Opcodebereich.
0x80 – 0x9F 4 16 Bytes
0xA0 – 0xBF 5 12 Bytes
0xC0 – 0xDF 6 Vendor Unique – Beliebige Zulässige Größe
0xE0 – 0xFF 7 Vendor Unique – Beliebige Zulässige Größe
 

Einige sehr frühe Geräte verwendeten herstellerspezifische Opcodes, und daher können einige Opcodes nicht auf diese Weise überprüft werden. Die folgenden Opcodes sind weiterhin gültig und überprüfen nur, ob die Größe zwischen 6 und 16 Bytes liegt:

0x02, 0x05, 0x06, 0x09, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x14, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x29, 0x2C, 0x2D

Anforderungen

Anforderung Wert
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

IDiscRecorder2Ex

IDiscRecorder2Ex::SendCommandGetDataFromDevice

IDiscRecorder2Ex::SendCommandSendDataToDevice