Condividi tramite


Metodo IDiscRecorder2Ex::SendCommandNoData (imapi2.h)

Invia un comando MMC al dispositivo di registrazione. Usare questa funzione quando non viene inviato alcun buffer di dati né ricevuto dal dispositivo.

Sintassi

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

Parametri

[in] Cdb

Pacchetto di comando da inviare al dispositivo.

[in] CdbSize

Dimensioni, in byte, del pacchetto di comando da inviare. Deve essere compreso tra 6 e 16 byte.

[out] SenseBuffer

Dati di rilevamento restituiti dal dispositivo di registrazione.

[in] Timeout

Limite di tempo, espresso in secondi, consentito al comando send di ricevere un risultato.

Valore restituito

S_OK o uno dei valori seguenti può essere restituito in caso di esito positivo, ma altri codici di esito positivo possono essere restituiti in seguito all'implementazione:

Codice restituito Descrizione
S_IMAPI_COMMAND_HAS_SENSE_DATA
Il dispositivo non riesce il comando, ma restituisce i dati di senso.

Valore: 0x00AA0200

 

I codici di errore seguenti vengono comunemente restituiti in caso di errore dell'operazione, ma non rappresentano gli unici valori di errore possibili:

Codice restituito Descrizione
E_POINTER
Puntatore non valido.

Valore: 0x80004003

E_FAIL
Errore non specificato.

Valore: 0x80004005

E_IMAPI_RECORDER_GET_CONFIGURATION_NOT_SUPPORTED
L'unità non supporta il comando GET CONFIGURATION.

Valore: 0xC0AA020C

E_IMAPI_RECORDER_NO_SUCH_FEATURE
La pagina di funzionalità richiesta non è supportata dal dispositivo.

Valore: 0xC0AA020A

E_OUTOFMEMORY
Impossibile allocare la memoria richiesta.

Valore: 0x8007000E

E_IMAPI_RECORDER_FEATURE_IS_NOT_CURRENT
La pagina di funzionalità richiesta è supportata, ma non è contrassegnata come corrente.

Valore: 0xC0AA020B

E_IMAPI_RECORDER_COMMAND_TIMEOUT
Il dispositivo non è riuscito ad accettare il comando entro il periodo di timeout. Ciò può essere causato dall'immissione di uno stato incoerente del dispositivo oppure potrebbe essere necessario aumentare il valore di timeout per il comando.

Valore: 0xC0AA020D

E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE
Il dispositivo ha segnalato dati imprevisti o non validi per un comando.

Valore: 0xC0AA02FF

E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN
Il supporto viene inserito a capovolto.

Valore: 0xC0AA0204

E_IMAPI_RECORDER_MEDIA_BECOMING_READY
L'unità ha segnalato che è in fase di preparazione. Riprovare la richiesta in un secondo momento.

Valore: 0xC0AA0205

E_IMAPI_RECORDER_MEDIA_NO_MEDIA
Non sono presenti supporti nel dispositivo.

Valore: 0xC0AA0202

E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS
Il supporto è attualmente formattato. Attendere il completamento del formato prima di tentare di usare il supporto.

Valore: 0xC0AA0206

E_IMAPI_RECORDER_MEDIA_BUSY
L'unità ha segnalato che sta eseguendo un'operazione a esecuzione prolungata, ad esempio il completamento di una scrittura. L'unità può essere inutilizzabile per un lungo periodo di tempo.

Valore: 0xC0AA0207

E_IMAPI_LOSS_OF_STREAMING
La scrittura non è riuscita perché l'unità non ha ricevuto dati abbastanza rapidamente per continuare la scrittura. Lo spostamento dei dati di origine nel computer locale, la riduzione della velocità di scrittura o l'abilitazione di un'impostazione "buffer underrun free" può risolvere questo problema.

Valore: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
Il supporto non è compatibile o con un formato fisico sconosciuto.

Valore: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
La struttura DVD non è presente. Ciò può essere causato dall'uso di unità/supporto incompatibili.

Valore: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
Il dispositivo ha segnalato che la pagina in modalità richiesta (e tipo) non è presente.

Valore: 0xC0AA0201

E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS
L'unità ha segnalato che la combinazione di parametri forniti nella pagina della modalità per un comando MODE SELECT non è supportata.

Valore: 0xC0AA0208

E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED
L'unità ha segnalato che il supporto è protetto da scrittura.

Valore: 0xC0AA0209

E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH
La velocità del supporto non è compatibile con il dispositivo. Ciò può essere causato dall'uso di supporti di velocità superiori o inferiori rispetto all'intervallo di velocità supportato dal dispositivo.

Valore: 0xC0AA020F

HRESULT_FROM_WIN32(ERROR_INVALID_HANDLE)
L'handle specificato non è valido.

Valore: 6

HRESULT_FROM_WIN32(ERROR_DEV_NOT_EXIST)
La risorsa di rete o il dispositivo specificato non sono più disponibili.

Valore: 55

E_IMAPI_RECORDER_LOCKED
Il dispositivo associato a questo registratore durante l'ultima operazione è stato bloccato esclusivamente, causando l'esito negativo di questa operazione.

Valore: 0xC0AA0210

Commenti

Per informazioni dettagliate sul contenuto del pacchetto di comando e dei dati di senso, vedere la revisione più recente della specifica MMC in ftp://ftp.t10.org/t10/drafts/mmc5.

I comandi definiti dal client (CDB) usati con questo metodo devono essere compresi tra 6 e 16 byte di lunghezza. Inoltre, le dimensioni di ogni comando devono corrispondere alle dimensioni definite dal codice dell'operazione, come definito nella tabella seguente.

Intervallo di codice dell'operazione CDB Gruppo CDB Dimensioni CDB richieste
0x00 — 0x1F 0 6 byte
0x20 — 0x3F 1 10 byte
0x40 — 0x5F 2 10 byte
0x60 — 0x7F 3 Applica i requisiti di dimensione specificati standard per questo intervallo di opcode in futuro.
0x80 — 0x9F 4 16 byte
0xA0 — 0xBF 5 12 byte
0xC0 — 0xDF 6 Fornitore univoco - Qualsiasi dimensione consentita
0xE0 — 0xFF 7 Fornitore univoco - Qualsiasi dimensione consentita
 

Alcuni dispositivi molto presto usati opcode univoci fornitore e pertanto alcuni opcode non possono essere convalidati in questo modo. I codici opcode seguenti sono ancora validi e verificare solo che le dimensioni siano comprese tra 6 e 16 byte:

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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista, Windows XP con SP2 [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione imapi2.h

Vedi anche

IDiscRecorder2Ex

IDiscRecorder2Ex::SendCommandGetDataFromDevice

IDiscRecorder2Ex::SendCommandSendDataToDevice