Méthode IWMDMStorageControl ::Insert (mswmdm.h)
La méthode Insert place le contenu dans le stockage sur l’appareil.
Syntaxe
HRESULT Insert(
[in] UINT fuMode,
[in] LPWSTR pwszFile,
[in] IWMDMOperation *pOperation,
[in] IWMDMProgress *pProgress,
[out] IWMDMStorage **ppNewObject
);
Paramètres
[in] fuMode
Or au niveau du bit des valeurs suivantes. 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. | |
Exactement l’un des éléments suivants : | WMDM_STORAGECONTROL_INSERTBEFORE | L’objet est inséré avant l’objet actuel. |
WMDM_STORAGECONTROL_INSERTAFTER | L’objet est inséré après l’objet actuel. | |
WMDM_STORAGECONTROL_INSERTINTO | L’objet est inséré dans l’objet actuel. Cela ne fonctionne que si l’objet actuel est un dossier. | |
Exactement l’un des éléments suivants : | WMDM_CONTENT_FILE | Le contenu inséré est un fichier. |
WMDM_CONTENT_FOLDER | Le contenu inséré est un dossier. Cela ne transfère pas le contenu du dossier. | |
WMDM_CONTENT_OPERATIONINTERFACE | Le contenu inséré est une interface d’opération. Les données du contenu doivent être écrites dans l’interface IWMDMOperation implémentée par l’application . | |
Zéro ou plus de : | WMDM_FILE_CREATE_OVERWRITE | L’objet remplacera l’objet actuel. |
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. | |
WMDM_MODE_PROGRESS | La méthode doit retourner des notifications de progression via pProgress. | |
Zéro ou l’un des éléments suivants : | 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] pwszFile
Pointeur vers une chaîne de caractères larges terminée par un caractère null indiquant où trouver le contenu de l’opération d’insertion. Ce paramètre doit être NULL si WMDM_CONTENT_OPERATIONINTERFACE est spécifié dans fuMode.
[in] pOperation
Pointeur facultatif vers une interface IWMDMOperation pour contrôler le transfert de contenu vers un périphérique multimédia. S’il est spécifié, 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 à utiliser par Windows Media Gestionnaire de périphériques pour signaler la progression à l’application. Si cette option est utilisée, fuMode doit inclure WMDM_MODE_PROGRESS.
[out] ppNewObject
Pointeur vers une interface IWMDMStorage qui contiendra le nouveau contenu. L’appelant doit libérer cette interface quand il en 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 suivantes de codes d’erreur :
- 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 préférée à utiliser.
Le nom et l’extension de l’objet enregistré sur l’appareil seront identiques au nom et à l’extension du fichier source (si pOperation a la valeur NULL).
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.
La méthode Insert ne garantit pas que l’appareil prend en charge l’insertion de fichier ordonnée, mais elle fournit les indicateurs WMDM_STORAGECONTROL_INSERTBEFORE et WMDM_STORAGECONTROL_INSERTAFTER au cas où elle le fait. Si le système de fichiers ne prend pas en charge l’ordre (pour instance, FAT32), WMDM_STORAGECONTROL_INSERTBEFORE et WMDM_STORAGECONTROL_INSERTAFTER inséreront simplement le nouvel objet de stockage au même niveau que l’objet actuel dans la hiérarchie du système de fichiers.
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 envoie 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 |
Voir aussi
IWMDMStorageControl, interface
IWMDMStorageControl2 ::Insert2