Condividi tramite


Metodo IMDSPDirectTransfer::TransferToDevice (mswmdm.h)

Il metodo TransferToDevice viene chiamato da Windows Media Gestione dispositivi per delegare il contenuto di trasferimento del contenuto al provider di servizi. L'origine può essere specificata come file o come interfaccia operativa.

Sintassi

HRESULT TransferToDevice(
  [in]  LPCWSTR        pwszSourceFilePath,
  [in]  IWMDMOperation *pSourceOperation,
  [in]  UINT           fuFlags,
  [in]  LPWSTR         pwszDestinationName,
  [in]  IWMDMMetaData  *pSourceMetaData,
  [in]  IWMDMProgress  *pTransferProgress,
  [out] IMDSPStorage   **ppNewObject
);

Parametri

[in] pwszSourceFilePath

Nome del file di origine. Il valore contenuto in questo parametro deve essere ignorato se viene specificato WMDM_CONTENT_OPERATIONINTERFACE.

[in] pSourceOperation

Puntatore all'interfaccia dell'operazione che funge da origine. Il valore contenuto in questo parametro deve essere ignorato a meno che non venga specificato WMDM_CONTENT_OPERATIONINTERFACE.

[in] fuFlags

Flag che influiscono sul comportamento di questo metodo. Il parametro fuFlags deve essere uno dei valori seguenti.

Valore Descrizione
WMDM_CONTENT_FILE L'origine è un file.
WMDM_CONTENT_FOLDER L'origine è una cartella.
WMDM_FILE_CREATE_OVERWRITE Sovrascrivere il file di destinazione, se già esistente.

[in] pwszDestinationName

Il contenuto deve essere trasferito al dispositivo con questo nome. Questo parametro è obbligatorio.

[in] pSourceMetaData

Puntatore all'interfaccia dei metadati. L'oggetto metadati contiene le proprietà di origine. Questo parametro è facoltativo e,

[in] pTransferProgress

Interfaccia di callback di stato. Il provider di servizi deve aggiornare le informazioni durante lo stato del trasferimento. Questo parametro è facoltativo e,

[out] ppNewObject

Oggetto di archiviazione appena creato. Questo parametro è facoltativo e, Può essere NULL se il chiamante non deve avere il nuovo oggetto restituito.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Una delle seguenti condizioni è vera:
  1. Vengono specificati sia pwszSourceFileName che pSourceOperation ;

  2. pwszDestinationName non è specificato;

  3. fuFlags non valido.

HRESULT_FROM_WIN32(ERROR_DISK_FULL)
Lo spazio su disco è insufficiente.
HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)
Il file esiste già e WMDM_FILE_CREATE_OVERWRITE non è stato specificato. Se il dispositivo consente nomi di file duplicati, potrebbe essere accettabile e questo errore non deve essere restituito.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
Il trasferimento del contenuto specificato non è supportato nel dispositivo.

Commenti

Windows Media Gestione dispositivi query per l'interfaccia IMDSPDirectTransfer durante ogni trasferimento.

Se il provider di servizi supporta l'interfaccia IMDSPDirectTransfer, Windows Media Gestione dispositivi delega semplicemente il trasferimento del contenuto al provider di servizi. In questo caso, Windows Media Gestione dispositivi non esegue alcuna elaborazione del contenuto prima di inviarlo al provider di servizi. Il provider di servizi ottiene il controllo completo dell'origine.

Se il provider di servizi non supporta l'interfaccia IMDSPDirectTransfer, Windows Media Gestione dispositivi elabora i file di origine e invia pacchetti di byte al provider di servizi. Inoltre, per il contenuto protetto, Windows Media Gestione dispositivi chiama il provider di contenuti sicuri per elaborare il contenuto prima di inviarlo al provider di servizi.

Se IMDSPDirectTransfer è supportato, Windows Media Gestione dispositivi delega la gestione del contenuto al provider di servizi. Ciò offre flessibilità al provider di servizi per la gestione del contenuto. In questo caso, il provider di servizi è responsabile della gestione del contenuto protetto.

Requisiti

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

Vedi anche

Interfaccia IMDSPDirectTransfer

IMDSPObject::Close

IMDSPObject::Open

IMDSPObject::Write

Interfaccia IWMDMMetaData

Interfaccia IWMDMOperation

Interfaccia IWMDMProgress

Interfaccia IWMDMStorageControl