Compartir a través de


Método IMDSPDirectTransfer::TransferToDevice (mswmdm.h)

Windows Media llama al método TransferToDevice Administrador de dispositivos para delegar contenido de transferencia de contenido al proveedor de servicios. El origen se puede especificar como un archivo o como una interfaz de operación.

Sintaxis

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

Parámetros

[in] pwszSourceFilePath

Nombre del archivo de origen. El valor contenido en este parámetro debe omitirse si se especifica WMDM_CONTENT_OPERATIONINTERFACE.

[in] pSourceOperation

Puntero de interfaz de operación que actúa como origen. El valor contenido en este parámetro debe omitirse a menos que se especifique WMDM_CONTENT_OPERATIONINTERFACE.

[in] fuFlags

Marcas que afectan al comportamiento de este método. El parámetro fuFlags debe ser uno de los siguientes valores.

Valor Descripción
WMDM_CONTENT_FILE El origen es un archivo.
WMDM_CONTENT_FOLDER El origen es una carpeta.
WMDM_FILE_CREATE_OVERWRITE Sobrescriba el archivo de destino si ya existe.

[in] pwszDestinationName

El contenido debe transferirse al dispositivo con este nombre. Este parámetro es obligatorio.

[in] pSourceMetaData

Puntero de interfaz de metadatos. El objeto de metadatos contiene las propiedades de origen. Este parámetro es opcional.

[in] pTransferProgress

Interfaz de devolución de llamada de progreso. El proveedor de servicios debe actualizar la información durante el progreso de la transferencia. Este parámetro es opcional.

[out] ppNewObject

Objeto de almacenamiento recién creado. Este parámetro es opcional. Puede ser NULL si el autor de la llamada no necesita que se devuelva el nuevo objeto.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
Una de las siguientes condiciones se cumple:
  1. Se especifican pwszSourceFileName y pSourceOperation ;

  2. pwszDestinationName no se especifica;

  3. fuFlags no es válido.

HRESULT_FROM_WIN32(ERROR_DISK_FULL)
There is not enough space on the disk.
HRESULT_FROM_WIN32(ERROR_FILE_EXISTS)
El archivo ya existe y no se especificó WMDM_FILE_CREATE_OVERWRITE. Si el dispositivo permite nombres de archivo duplicados, esto podría ser aceptable y este error no necesita devolverse.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
No se admite la transferencia del contenido especificado en el dispositivo.

Comentarios

Windows Media Administrador de dispositivos consultas para la interfaz IMDSPDirectTransfer durante cada transferencia.

Si el proveedor de servicios admite la interfaz IMDSPDirectTransfer, Windows Media Administrador de dispositivos simplemente delega la transferencia de contenido al proveedor de servicios. En este caso, Windows Media Administrador de dispositivos no realiza ningún procesamiento del contenido antes de enviarlo al proveedor de servicios. El proveedor de servicios obtiene el control total del origen.

Si el proveedor de servicios no admite la interfaz IMDSPDirectTransfer, Windows Media Administrador de dispositivos procesa los archivos de origen y envía paquetes de bytes al proveedor de servicios. Además, para el contenido protegido, Windows Media Administrador de dispositivos llama al proveedor de contenido seguro para procesar el contenido antes de enviarlo al proveedor de servicios.

Si se admite IMDSPDirectTransfer, Windows Media Administrador de dispositivos delegar el control del contenido al proveedor de servicios. Esto proporciona flexibilidad al proveedor de servicios para controlar el contenido. En este caso, el proveedor de servicios es responsable de controlar el contenido protegido.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Interfaz IMDSPDirectTransfer

IMDSPObject::Close

IMDSPObject::Open

IMDSPObject::Write

Interfaz IWMDMMetaData

IWMDMOperation (interfaz)

Interfaz IWMDMProgress

Interfaz IWMDMStorageControl