Método IWMDMStorageControl::Insert (mswmdm.h)
El método Insert coloca contenido en el almacenamiento en el dispositivo.
Sintaxis
HRESULT Insert(
[in] UINT fuMode,
[in] LPWSTR pwszFile,
[in] IWMDMOperation *pOperation,
[in] IWMDMProgress *pProgress,
[out] IWMDMStorage **ppNewObject
);
Parámetros
[in] fuMode
OR bit a bit de los valores siguientes. 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 devolverá inmediatamente y la operación se realiza en un subproceso en segundo plano. | |
Exactamente uno de: | WMDM_STORAGECONTROL_INSERTBEFORE | El objeto se inserta antes del objeto actual. |
WMDM_STORAGECONTROL_INSERTAFTER | El objeto se inserta después del objeto actual. | |
WMDM_STORAGECONTROL_INSERTINTO | El objeto se inserta en el objeto actual. Esto solo funcionará si el objeto actual es una carpeta. | |
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. | |
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. | |
Cero o más de: | WMDM_FILE_CREATE_OVERWRITE | El objeto reemplazará el objeto actual. |
WMDM_MODE_QUERY | Se realiza una prueba para determinar si la operación de inserción se pudo realizar correctamente, pero la inserción no se realizará. | |
WMDM_MODE_PROGRESS | El método debe devolver notificaciones de progreso a través de pProgress. | |
Cero o uno de: | 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 sin protección. |
[in] pwszFile
Puntero a una cadena terminada en null de caracteres anchos que indica dónde buscar el contenido de la operación de inserción. Este parámetro debe ser NULL si WMDM_CONTENT_OPERATIONINTERFACE se especifica en fuMode.
[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 que windows Media Administrador de dispositivos usar para notificar el progreso a la aplicación. Si se usa, fuMode debe incluir WMDM_MODE_PROGRESS.
[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
Comentarios
Si el dispositivo admite IWMDMStorageControl3::Insert3, es el método preferido para usar.
El nombre y la extensión del objeto guardado en el dispositivo serán los mismos que el nombre y la extensión del archivo de origen (si pOperation es NULL).
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.
El método Insert no garantiza que el dispositivo admita la inserción de archivos ordenada, pero proporciona las marcas WMDM_STORAGECONTROL_INSERTBEFORE y WMDM_STORAGECONTROL_INSERTAFTER en caso de que lo haga. Si el sistema de archivos no admite la ordenación (por ejemplo, FAT32), WMDM_STORAGECONTROL_INSERTBEFORE y WMDM_STORAGECONTROL_INSERTAFTER simplemente insertará el nuevo objeto de almacenamiento en el mismo nivel que el objeto actual en la jerarquía del sistema de archivos.
Si una aplicación usa WMDM_MODE_THREAD y pasa un parámetro pProgress distinto de 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 end. Si no lo hace, se producirán infracciones de acceso.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | mswmdm.h |
Library | Mssachlp.lib |