Méthode IWMDMStorageControl2 ::Insert2 (mswmdm.h)
La méthode Insert2 place le contenu dans/à côté du stockage. Cette méthode étend IWMDMStorageControl ::Insert en permettant à l’application de spécifier un nouveau nom de destination et de fournir un pointeur vers un objet COM personnalisé.
Syntaxe
HRESULT Insert2(
[in] UINT fuMode,
[in] LPWSTR pwszFileSource,
[in] LPWSTR pwszFileDest,
[in] IWMDMOperation *pOperation,
[in] IWMDMProgress *pProgress,
[in] IUnknown *pUnknown,
[out] IWMDMStorage **ppNewObject
);
Paramètres
[in] fuMode
Mode de traitement utilisé pour l’opération Insert2 . Le tableau suivant répertorie les modes de traitement qui peuvent être spécifiés dans le paramètre fuMode . Vous devez spécifier exactement l’un des deux premiers modes, exactement l’un des modes STORAGECONTROL et exactement l’un des modes CONTENT. Si WMDM_MODE_BLOCK et WMDM_MODE_THREAD sont spécifiés, le mode bloc est utilisé.
Combinaisons | Mode | Description |
---|---|---|
Exactement l’un des éléments suivants : | WMDM_MODE_BLOCK | L’opération est effectuée à l’aide du traitement en mode bloc. L’appel ne sera pas retourné tant que l’opération n’est pas terminée. |
- | WMDM_MODE_THREAD | L’opération est effectuée à l’aide du traitement en mode thread. L’appel est retourné immédiatement et l’opération est effectuée dans un thread d’arrière-plan. |
Facultatif | WMDM_MODE_QUERY | Un test est effectué pour déterminer si l’opération d’insertion peut réussir, mais l’insertion ne sera pas effectuée. |
Exactement l’un des éléments suivants : | WMDM_STORAGECONTROL_INSERTBEFORE | L’objet est inséré avant l’objet cible. |
- | WMDM_STORAGECONTROL_INSERTAFTER | L’objet est inséré après l’objet cible. |
- | WMDM_STORAGECONTROL_INSERTINTO | L’objet est inséré dans l’objet actif. Cela ne fonctionnera que si l’objet actuel est un dossier. |
Facultatif | WMDM_FILE_CREATE_OVERWRITE | L’objet remplacera l’objet cible. |
Exactement l’un des éléments suivants : | WMDM_CONTENT_FILE | Le contenu en cours d’insertion est un fichier. |
- | WMDM_CONTENT_FOLDER | Le contenu en cours d’insertion est un dossier. Cela ne transfère pas le contenu du dossier. |
Facultatif | WMDM_CONTENT_OPERATIONINTERFACE | Le contenu en cours d’insertion est une interface d’opération. Les données du contenu doivent être écrites dans l’interface IWMDMOperation implémentée par l’application . |
Facultatif | WMDM_MODE_PROGRESS | Les notifications de progression doivent être envoyées via le paramètre pProgress . |
Facultatif de : | WMDM_MODE_TRANSFER_PROTECTED | L’insertion est en mode de transfert protégé. |
- | WMDM_MODE_TRANSFER_UNPROTECTED | L’insertion est en mode de transfert non protégé. |
[in] pwszFileSource
Pointeur vers une chaîne à caractères larges et terminée par null indiquant le nom complet et le chemin d’accès de l’objet à envoyer à l’appareil. Ce paramètre doit avoir la valeur NULL si WMDM_CONTENT_OPERATIONINTERFACE est spécifié dans fuMode.
[in] pwszFileDest
Nom de fichier facultatif sur l’appareil. Si ce n’est pas spécifié et que l’application transmet un pointeur IWMDMOperation à pOperation, Windows Media Gestionnaire de périphériques demande un nom de destination en appelant IWMDMOperation ::GetObjectName. Si ce n’est pas spécifié et que l’application n’utilise pas pOperation, le nom de fichier d’origine et l’extension sont utilisés (sans le chemin d’accès).
[in] pOperation
Pointeur facultatif vers une interface IWMDMOperation pour contrôler le transfert de contenu vers un périphérique multimédia. Si elle est spécifiée, fuMode doit inclure l’indicateur WMDM_CONTENT_OPERATIONINTERFACE. Ce paramètre doit avoir la valeur NULL si WMDM_CONTENT_FILE ou WMDM_CONTENT_FOLDER est spécifié dans fuMode.
[in] pProgress
Pointeur facultatif vers une interface IWMDMProgress pour signaler la progression de l’action à l’application. S’il est spécifié, fuMode doit inclure WMDM_MODE_PROGRESS.
[in] pUnknown
Pointeur IUnknown facultatif de tout objet COM personnalisé à passer au fournisseur de contenu sécurisé. Cela permet de transmettre des informations personnalisées à un fournisseur de contenu sécurisé si l’application dispose d’informations suffisantes sur le fournisseur de contenu sécurisé.
[out] ppNewObject
Pointeur vers une interface IWMDMStorage qui contiendra le nouveau contenu. L’appelant doit libérer cette interface lorsqu’il a terminé.
Valeur retournée
Cette méthode retourne un code HRESULT. Toutes les méthodes d’interface dans Windows Media Gestionnaire de périphériques peuvent retourner l’une des classes de codes d’erreur suivantes :
- Codes d’erreur COM standard
- Codes d’erreur Windows convertis en valeurs HRESULT
- Codes d’erreur Gestionnaire de périphériques Windows Media
Remarques
Si l’appareil prend en charge IWMDMStorageControl3 ::Insert3, il s’agit de la méthode recommandée.
Si l’indicateur WMDM_MODE_THREAD est spécifié, vous devez obtenir l’achèvement status en appelant IWMDMProgress2 ::End2 ou IWMDMProgress3 ::End3. Ces méthodes garantissent que l’opération est terminée et retournent également un HRESULT avec des informations de réussite ou d’échec.
Si une application utilise WMDM_MODE_THREAD et passe un paramètre pProgress non null, l’application doit s’assurer que l’objet auquel appartient pProgress n’est pas détruit tant que l’opération d’insertion n’est pas terminée, car Windows Media Gestionnaire de périphériques enverra des notifications de progression à cet objet. Cet objet ne peut être détruit qu’après avoir reçu une notification De fin. Si vous ne le faites pas, vous obtiendrez des violations d’accès.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | mswmdm.h |
Bibliothèque | Mssachlp.lib |