Condividi tramite


Interazione con IMAPI

I passaggi seguenti descrivono un'interazione tipica tra un'applicazione e IMAPI.

  1. Creare un'istanza di MSDiscMasterObj (usando CoCreateInstance, puntatori intelligenti da un'importazione e così via) e richiedere l'interfaccia IDiscMaster .
  2. Acquisire l'accesso a IMAPI chiamando IDiscMaster::Open. Se questa chiamata ha esito positivo, l'applicazione ha accesso completo a tutte le interfacce e ai metodi implementati in MSDiscMasterObj.
  3. Recuperare l'enumeratore del formato master del disco usando EnumDiscMasterFormats. Enumerare il set di formati supportati dall'oggetto master del disco, quindi selezionare il formato attivo. I formati restituiti dall'enumeratore sono gli ID delle interfacce per IJolietDiscMaster e IRedbookDiscMaster.
  4. Recuperare l'enumeratore del registratore di dischi usando EnumDiscRecorders. Enumerare l'elenco dei registratori di dischi supportati (specifici del formato attivo), quindi selezionare il registratore attivo. L'interfaccia IDiscRecorder rappresenta un dispositivo fisico.
  5. Usare IDiscMaster::P rogressAdvise per registrare i callback dello stato.
  6. Usare l'interfaccia per il formato selezionato per compilare il contenuto. Le compilazioni di contenuto in modo incrementale, quindi è possibile aggiungere il contenuto di tracce o cartelle a un pezzo di disco in base a un pezzo. La compilazione di questo contenuto viene chiamata gestione temporanea di un'immagine. Il contenuto dell'immagine in fase non può essere eliminato in modo incrementale (non è possibile rimuovere una traccia aggiunta), ma è possibile cancellare il contenuto di un'immagine in fase in modo che la gestione temporanea possa ricominciare. Usare IDiscMaster::ClearFormatContent per riavviare la gestione temporanea.

**Per audio: **

  1. Usare IRedbookDiscMaster::CreateAudioTrack per indicare che viene avviata una nuova traccia audio nel disco.
  2. Usare IRedbookDiscMaster::AddAudioTrackBlocks per aggiungere dati audio non elaborati a una traccia. L'applicazione può usare GetAvailableAudioTrackBlocks, GetTotalAudioBlocks e GetUsedAudioBlocks per recuperare informazioni statistiche.
  3. Usare IRedbookDiscMaster::CloseAudioTrack per chiudere una traccia audio.
  4. Ripetere i passaggi da 1 a 3 fino a quando non sono state scritte tutte le tracce audio.

**Per i dati: **

  1. Usare IJolietDiscMaster::AddData per aggiungere il contenuto di una cartella all'immagine. Gli elementi all'interno di una cartella vengono inseriti nella radice del file di immagine. Usare GetTotalDataBlocks e GetUsedDataBlocks per recuperare informazioni statistiche.
  2. Ripetere il passaggio precedente fino a quando non è stato aggiunto spazio o tutti i dati.

**Per tutti i dischi: **

  1. Usare IDiscMaster::RecordDisc per registrare il disco.
  2. Chiudere la sessione IMAPI usando IDiscMaster::Close. La chiusura della sessione cancella il contenuto dello stash del disco.