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 |
---|---|
|
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 |
---|---|
|
Der Zeiger ist ungültig.
Wert: 0x80004003 |
|
Unspezifizierter Fehler.
Wert: 0x80004005 |
|
Das Laufwerk unterstützt den BEFEHL GET CONFIGURATION nicht.
Wert: 0xC0AA020C |
|
Die angeforderte Featureseite wird vom Gerät nicht unterstützt.
Wert: 0xC0AA020A |
|
Fehler beim Zuordnen des erforderlichen Arbeitsspeichers.
Wert: 0x8007000E |
|
Die angeforderte Featureseite wird unterstützt, aber nicht als aktuell markiert.
Wert: 0xC0AA020B |
|
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 |
|
Das Gerät hat unerwartete oder ungültige Daten für einen Befehl gemeldet.
Wert: 0xC0AA02FF |
|
Das Medium wird kopfüber eingefügt.
Wert: 0xC0AA0204 |
|
Das Laufwerk hat gemeldet, dass es gerade bereit ist. Versuchen Sie es später erneut.
Wert: 0xC0AA0205 |
|
Das Gerät enthält keine Medien.
Wert: 0xC0AA0202 |
|
Die Medien werden derzeit formatiert. Warten Sie, bis das Format abgeschlossen ist, bevor Sie versuchen, die Medien zu verwenden.
Wert: 0xC0AA0206 |
|
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 |
|
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 |
|
Die Medien sind nicht kompatibel oder haben ein unbekanntes physisches Format.
Wert: 0xC0AA0203 |
|
Die DVD-Struktur ist nicht vorhanden. Dies kann durch inkompatibles Verwendetes Laufwerk/Medium verursacht werden.
Wert: 0xC0AA020E |
|
Das Gerät hat gemeldet, dass die angeforderte Modusseite (und der Typ) nicht vorhanden sind.
Wert: 0xC0AA0201 |
|
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 |
|
Das Laufwerk hat gemeldet, dass die Medien schreibgeschützt sind.
Wert: 0xC0AA0209 |
|
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 |
|
Das angegebene Handle ist ungültig.
Wert: 6 |
|
Die angegebene Netzwerkressource oder das angegebene Gerät ist nicht mehr verfügbar.
Wert: 55 |
|
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 |