Compartir a través de


Método IWMDMStorageControl2::Insert2 (mswmdm.h)

El método Insert2 coloca contenido en/junto al almacenamiento. Este método extiende IWMDMStorageControl::Insert al permitir que la aplicación especifique un nuevo nombre de destino y proporcione un puntero a un objeto COM personalizado.

Sintaxis

HRESULT Insert2(
  [in]  UINT           fuMode,
  [in]  LPWSTR         pwszFileSource,
  [in]  LPWSTR         pwszFileDest,
  [in]  IWMDMOperation *pOperation,
  [in]  IWMDMProgress  *pProgress,
  [in]  IUnknown       *pUnknown,
  [out] IWMDMStorage   **ppNewObject
);

Parámetros

[in] fuMode

Modo de procesamiento usado para la operación Insert2 . En la tabla siguiente se enumeran los modos de procesamiento que se pueden especificar en el parámetro fuMode . Debe especificar exactamente uno de los dos primeros modos, exactamente uno de los modos STORAGECONTROL y exactamente uno de los modos CONTENT. Si se especifican WMDM_MODE_BLOCK y WMDM_MODE_THREAD, se usa el modo de bloque.

Combinaciones Mode Descripción
Exactamente uno de: WMDM_MODE_BLOCK La operación se realiza mediante el procesamiento del modo de bloque. La llamada no se devolverá hasta que finalice la operación.
- WMDM_MODE_THREAD La operación se realiza mediante el procesamiento del modo de subproceso. La llamada se devolverá inmediatamente y la operación se realiza en un subproceso en segundo plano.
Opcionales WMDM_MODE_QUERY Se realiza una prueba para determinar si la operación de inserción se pudo realizar correctamente, pero no se realizará la inserción.
Exactamente uno de: WMDM_STORAGECONTROL_INSERTBEFORE El objeto se inserta antes del objeto de destino.
- WMDM_STORAGECONTROL_INSERTAFTER El objeto se inserta después del objeto de destino.
- WMDM_STORAGECONTROL_INSERTINTO El objeto se inserta en el objeto actual. Esto solo funcionará si el objeto actual es una carpeta.
Opcionales WMDM_FILE_CREATE_OVERWRITE El objeto reemplazará el objeto de destino.
Exactamente uno de: WMDM_CONTENT_FILE El contenido que se va a insertar es un archivo.
- WMDM_CONTENT_FOLDER El contenido que se va a insertar es una carpeta. Esto no transferirá el contenido de la carpeta.
Opcionales WMDM_CONTENT_OPERATIONINTERFACE El contenido que se va a insertar es una interfaz de operación. Los datos del contenido se deben escribir en la interfaz IWMDMOperation implementada por la aplicación.
Opcionales WMDM_MODE_PROGRESS Las notificaciones de progreso deben enviarse a través del parámetro pProgress .
Opcional: WMDM_MODE_TRANSFER_PROTECTED La inserción está en modo de transferencia protegida.
- WMDM_MODE_TRANSFER_UNPROTECTED La inserción está en modo de transferencia desprotegida.

[in] pwszFileSource

Puntero a una cadena terminada en null de caracteres anchos que indica el nombre completo y la ruta de acceso del objeto que se va a enviar al dispositivo. Este parámetro debe ser NULL si se especifica WMDM_CONTENT_OPERATIONINTERFACE en fuMode.

[in] pwszFileDest

Nombre opcional del archivo en el dispositivo. Si no se especifica y la aplicación pasa un puntero IWMDMOperation a pOperation, Windows Media Administrador de dispositivos solicitará un nombre de destino llamando a IWMDMOperation::GetObjectName. Si no se especifica y la aplicación no usa pOperation, se usan el nombre de archivo y la extensión originales (sin la ruta de acceso).

[in] pOperation

Puntero opcional a una interfaz IWMDMOperation para controlar la transferencia de contenido a un dispositivo multimedia. Si se especifica, fuMode debe incluir la marca WMDM_CONTENT_OPERATIONINTERFACE. Este parámetro debe ser NULL si se especifica WMDM_CONTENT_FILE o WMDM_CONTENT_FOLDER en fuMode.

[in] pProgress

Puntero opcional a una interfaz IWMDMProgress para notificar el progreso de la acción a la aplicación. Si se especifica, fuMode debe incluir WMDM_MODE_PROGRESS.

[in] pUnknown

Puntero IUnknown opcional de cualquier objeto COM personalizado que se va a pasar al proveedor de contenido seguro. Esto permite pasar información personalizada a un proveedor de contenido seguro si la aplicación tiene suficiente información sobre el proveedor de contenido seguro.

[out] ppNewObject

Puntero a una interfaz IWMDMStorage que contendrá el nuevo contenido. El autor de la llamada debe liberar esta interfaz cuando termine con ella.

Valor devuelto

El método devuelve un valor HRESULT. Todos los métodos de interfaz de Windows Media Administrador de dispositivos pueden devolver cualquiera de las siguientes clases de códigos de error:

  • Códigos de error COM estándar
  • Códigos de error de Windows convertidos en valores HRESULT
  • Códigos de error de windows Media Administrador de dispositivos
Para obtener una lista extensa de posibles códigos de error, consulte Códigos de error.

Comentarios

Si el dispositivo admite IWMDMStorageControl3::Insert3, es el método preferido que se va a usar.

Si se especifica la marca WMDM_MODE_THREAD, debe obtener el estado de finalización llamando a IWMDMProgress2::End2 o IWMDMProgress3::End3. Estos métodos garantizarán que la operación está completa y también devolverán un HRESULT con información de éxito o error.

Si una aplicación usa WMDM_MODE_THREAD y pasa un parámetro pProgress no null, la aplicación debe asegurarse de que el objeto al que pertenece pProgress no se destruye hasta que se complete la operación de inserción, ya que Windows Media Administrador de dispositivos enviará notificaciones de progreso a este objeto. Este objeto solo se puede destruir después de recibir una notificación de finalización. Si no lo hace, se producirán infracciones de acceso.

Requisitos

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

Consulte también

IWMDMDevice::GetStatus

IWMDMOperation (Interfaz)

IWMDMProgress (Interfaz)

Interfaz IWMDMStorage

Interfaz IWMDMStorageControl2

IWMDMStorageControl3::Insert3