Condividi tramite


Metodo ISCPSecureExchange3::TransferContainerDataOnClearChannel (mswmdm.h)

Il metodo TransferContainerDataOnClearChannel trasferisce i dati dei file del contenitore al provider di contenuti tramite il canale non crittografato. Il provider di contenuti suddivide internamente il contenitore e segnala quali parti del contenuto sono disponibili man mano che vengono estratte dal contenitore.

Questo metodo è identico a ISCPSecureExchange::TransferContainerData , ad eccezione del fatto che i parametri passati a questo metodo non sono crittografati. Di conseguenza, questo metodo è più efficiente.

Sintassi

HRESULT TransferContainerDataOnClearChannel(
  IMDSPDevice    *pDevice,
  BYTE           *pData,
  DWORD          dwSize,
  IWMDMProgress3 *pProgressCallback,
  UINT           *pfuReadyFlags
);

Parametri

pDevice

Puntatore a un oggetto dispositivo.

pData

Puntatore a un buffer che contiene i dati correnti trasferiti dal file del contenitore.

dwSize

Contiene il numero di byte nel buffer.

pProgressCallback

Callback di stato in cui il provider di contenuti può segnalare lo stato di avanzamento di qualsiasi passaggio che potrebbe essere necessario eseguire. Il passaggio verrà identificato dal parametro EventId dei metodi IWMDMProgress3 .

pfuReadyFlags

Flag che indica quali parti del file del contenitore sono pronte per la lettura. Questo parametro è incluso nel codice di autenticazione del messaggio di output. I flag seguenti indicano cosa è pronto.

Valore Significato
WMDM_SCP_TRANSFER_OBJECTDATA
I dati dell'oggetto sono disponibili chiamando il metodo GetObjectDataOnClearChannel .
WMDM_SCP_NO_MORE_CHANGES
Il provider di contenuti ha stabilito che non richiede ulteriori elaborazioni e/o modifiche del file da trasferire. Windows Media Gestione dispositivi può trasferire direttamente il resto del file nel dispositivo.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se il metodo ha esito negativo, restituisce un codice di errore HRESULT .

Codice restituito Descrizione
WMDM_E_NOT_CERTIFIED
Il chiamante non è autorizzato a usare questa interfaccia.
WMDM_E_NORIGHTS
Il chiamante non dispone dei diritti necessari per eseguire l'operazione richiesta.
WMDM_E_MAC_CHECK_FAILED
Il codice di autenticazione del messaggio non è valido.
S_FALSE
Il metodo non è riuscito. Terminare l'interazione con il provider di contenuti.
E_INVALIDARG
Un parametro non è valido o è un puntatore NULL .
E_FAIL
Si è verificato un errore non specificato.

Commenti

Windows Media Gestione dispositivi chiama ripetutamente questo metodo, trasferendo i dati dal file del contenitore al provider di contenuti. Windows Media Gestione dispositivi chiama infine questo metodo con dwSize impostato su zero per indicare che non contiene più dati da trasferire. Poiché il provider di contenuti raccoglie i dati ed estrae i vari oggetti da esso, restituisce a Windows Media Gestione dispositivi quali oggetti, se presenti, sono disponibili dopo ogni chiamata. Se non sono disponibili oggetti, il provider di contenuti restituisce S_OK con il parametro pfuReadyFlags impostato su zero. Quando il provider di contenuti ha determinato che non richiede ulteriori elaborazioni e/o modifiche del file da trasferire, viene restituito il flag WMDM_SCP_NO_MORE_CHANGES. Windows Media Gestione dispositivi può quindi trasferire direttamente il resto del file nel dispositivo.

I dati oggetto vengono trasferiti dal provider di contenuti chiamando il metodo GetObjectDataOnClearChannel . Windows Media Gestione dispositivi chiama ripetutamente GetObjectDataOnClearChannel fino a quando non restituisce zero nel terzo parametro, pdwsize.

Il metodo ISCPSecureExchange::TransferComplete (o TransferCompleteForDevice se una sessione è attiva) viene chiamato da Windows Media Gestione dispositivi per segnalare la fine di un trasferimento dei dati.

Windows Media Gestione dispositivi passa il callback di stato fornito dall'applicazione al provider di contenuti nel parametro pProgressCallback. Il provider di contenuti può usare questo parametro per fornire una notifica sullo stato di avanzamento per tutti i passaggi da eseguire. Il passaggio stesso è identificato da EventId, che è il primo parametro dei metodi di IWMDMProgress3. Un'implementazione specifica del provider di contenuti definirà i valori EventId per le applicazioni da usare.

Questo metodo è identico a ISCPSecureExchange::TransferContainerData , ad eccezione del fatto che i parametri passati a questo metodo non sono crittografati. Di conseguenza, questo metodo è più efficiente.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Interfaccia ISCPSecureExchange3

ISCPSecureExchange::TransferContainerData