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 |
---|---|
|
I dati dell'oggetto sono disponibili chiamando il metodo GetObjectDataOnClearChannel . |
|
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 |
---|---|
|
Il chiamante non è autorizzato a usare questa interfaccia. |
|
Il chiamante non dispone dei diritti necessari per eseguire l'operazione richiesta. |
|
Il codice di autenticazione del messaggio non è valido. |
|
Il metodo non è riuscito. Terminare l'interazione con il provider di contenuti. |
|
Un parametro non è valido o è un puntatore NULL . |
|
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 |