Condividi tramite


Metodo IDiscFormat2Data::Write (imapi2.h)

Scrive il flusso di dati nel dispositivo.

Nota Per l'esito positivo della scrittura, le dimensioni del flusso passato devono essere un multiplo delle dimensioni del settore, 2048. Sono incluse operazioni che usano flussi associati alle immagini iso non create da IMAPI.

 

Sintassi

HRESULT Write(
  [in] IStream *data
);

Parametri

[in] data

Interfaccia IStream del flusso di dati da scrivere.

Valore restituito

S_OK viene restituito in caso di esito positivo, ma altri codici di esito positivo possono essere restituiti in seguito all'implementazione. 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_IMAPI_RECORDER_COMMAND_TIMEOUT
Il dispositivo non è riuscito a accettare il comando entro il periodo di timeout. Questo può essere causato dal dispositivo che ha immesso uno stato incoerente o il valore di timeout per il comando potrebbe essere aumentato.

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 sottosopra.

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
Nel dispositivo non sono presenti supporti.

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 esegue un'operazione a esecuzione prolungata, ad esempio il completamento di una scrittura. L'unità potrebbe non essere utilizzabile per un lungo periodo di tempo.

Valore: 0xC0AA0207

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

Valore: 0xC0AA0300

E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE
Il supporto non è compatibile o di formato fisico sconosciuto.

Valore: 0xC0AA0203

E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT
La struttura DVD non è presente. Ciò può essere causato da unità/media incompatibili usate.

Valore: 0xC0AA020E

E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE
Il dispositivo ha segnalato che la pagina della 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. Questo 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 specificati 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'errore di questa operazione.

Valore: 0xC0AA0210

E_IMAPI_UNEXPECTED_RESPONSE_FROM_DEVICE
La scrittura non è riuscita perché l'unità ha restituito informazioni sull'errore che non è stato possibile recuperare.

Valore: 0xC0AA0301

E_IMAPI_RECORDER_REQUIRED
La richiesta richiede che sia selezionato un registratore di dischi corrente.

Valore: 0xC0AA0003

S_IMAPI_ROTATIONADJUSTED
Il tipo di rotazione richiesto non è supportato dall'unità e il tipo di rotazione è stato modificato.

Valore: 0x00AA0005

S_IMAPI_SPEEDADJUSTED
La velocità di scrittura richiesta non è supportata dall'unità e la velocità è stata modificata.

Valore: 0x00AA0004

S_IMAPI_BOTHADJUSTED
La velocità di scrittura e il tipo di rotazione richiesti non sono stati supportati dall'unità e sono stati entrambi regolati.

Valore: 0x00AA0006

E_IMAPI_DF2DATA_RECORDER_NOT_SUPPORTED
Questo dispositivo non supporta le operazioni richieste da questo formato disco.

Valore: 0xC0AA0407

E_IMAPI_REQUEST_CANCELLED
La richiesta è stata annullata.

Valore: 0xC0AA0002

E_IMAPI_DF2DATA_WRITE_IN_PROGRESS
Attualmente è in corso un'operazione di scrittura.

Valore: 0xC0AA0400

E_IMAPI_DF2DATA_STREAM_NOT_SUPPORTED
Le dimensioni dell'oggetto IStream specificato non sono valide. Le dimensioni devono essere un multiplo delle dimensioni del settore, 2048.

Valore: 0xC0AA0403

E_IMAPI_DF2DATA_MEDIA_IS_NOT_SUPPORTED
Il tipo di supporto corrente non è supportato.

Valore: (HRESULT)0xC0AA0406

E_INVALIDARG
Uno o più argomenti non sono validi.

Valore: 0x80070057

E_POINTER
Puntatore non valido.

Valore: 0x80004003

E_FAIL
Errore non specificato.

Valore: 0x80004005

E_OUTOFMEMORY
Impossibile allocare la memoria necessaria.

Valore: 0x8007000E

E_NOTIMPL
Non implementato.

Valore: 0x80004001

Commenti

Prima di chiamare questo metodo, è necessario chiamare i metodi seguenti:

È anche consigliabile chiamare i metodi seguenti se i valori predefiniti non sono appropriati per l'applicazione: Questo metodo è sincrono, il che significa che il controllo non viene restituito finché l'IStream specificato non viene registrato nel supporto. Per determinare lo stato di avanzamento dell'operazione di scrittura, è necessario implementare l'interfaccia DDiscFormat2DataEvents . Per esempi che illustrano come implementare un gestore eventi in uno script, vedere Monitoraggio dello stato di avanzamento con eventi.

Nei dischi registrati in sequenza, l'IStream fornito viene registrato come nuova sessione. Nei dischi riscrivibili, l'IStream fornito viene sempre registrato a partire dal settore 0, ma l'oggetto che fornisce l'interfaccia IStream può anche fornire l'interfaccia IBlockRangeList che elenca i settori che devono essere registrati. L'interfaccia IBlockRangeList viene usata per evitare di riscrivere i settori che non sono stati modificati negli scenari multisessione. Se l'oggetto che fornisce IStream non fornisce IBlockRangeList, si presuppone che l'intero IStream debba essere registrato.

Requisiti

   
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

DDiscFormat2DataEvents

IDiscFormat2Data

IDiscFormat2Data::CancelWrite