Partager via


MÉTHODE IMDSPStorage4 ::CreateStorageWithMetadata (mswmdm.h)

La méthode CreateStorageWithMetadata crée un stockage, en appliquant les métadonnées données au nouveau stockage et retourne un pointeur vers l’interface IMDSPStorage sur le stockage nouvellement créé. Le nouveau stockage peut être créé au même niveau ou inséré dans le stockage actuel.

Cette méthode est utile si l’appareil a besoin de métadonnées au moment de la création. Selon l’appareil, il peut également être plus efficace d’appliquer des métadonnées au moment de la création plutôt que de créer le stockage, puis de définir des métadonnées.

Syntaxe

HRESULT CreateStorageWithMetadata(
  [in]  DWORD         dwAttributes,
  [in]  LPCWSTR       pwszName,
  [in]  IWMDMMetaData *pMetadata,
  [in]  ULONGLONG     qwFileSize,
  [out] IMDSPStorage  **ppNewStorage
);

Paramètres

[in] dwAttributes

DWORD contenant des attributs pour le nouveau stockage. Le tableau suivant répertorie les attributs de stockage disponibles.

Attribut Description
WMDM_STORAGECONTROL_INSERTBEFORE Le nouvel objet de stockage est créé devant l’objet cible.
WMDM_STORAGECONTROL_INSERTAFTER Le nouvel objet de stockage sera créé après l’objet cible.
WMDM_STORAGECONTROL_INSERTINTO Le nouvel objet de stockage sera créé dans le dossier de l’objet cible.
WMDM_STORAGECONTROL_OVERWRITE Si le stockage portant le même nom existe déjà, il est détruit et un nouveau stockage est créé.
WMDM_STORAGE_ATTR_FILESYSTEM Cet objet est le support de stockage de niveau supérieur (par exemple, un carte de stockage ou un autre stockage intégré).)
WMDM_STORAGE_ATTR_REMOVABLE Ce support de stockage est amovible.
WMDM_STORAGE_ATTR_CANEDITMETADATA Ce stockage peut modifier les métadonnées.
WMDM_STORAGE_ATTR_FOLDERS Ce support de stockage prend en charge les dossiers et la hiérarchie de fichiers.
WMDM_FILE_ATTR_FOLDER Il s’agit d’un dossier sur le support de stockage.
WMDM_FILE_ATTR_LINK Il s’agit d’un lien qui crée une association entre plusieurs fichiers.
WMDM_FILE_ATTR_FILE Il s’agit d’un fichier sur le support de stockage.
WMDM_FILE_ATTR_AUDIO Ce fichier est des données audio.
WMDM_FILE_ATTR_DATA Ce fichier est des données non audio.
WMDM_FILE_ATTR_CANPLAY Ce fichier audio peut être lu par l’appareil.
WMDM_FILE_ATTR_CANDELETE Ce fichier peut être supprimé.
WMDM_FILE_ATTR_CANMOVE Ce fichier ou dossier peut être déplacé sur le support de stockage.
WMDM_FILE_ATTR_CANRENAME Ce fichier ou dossier peut être renommé.
WMDM_FILE_ATTR_CANREAD Ce fichier peut être lu par l’ordinateur hôte.
WMDM_FILE_ATTR_MUSIC Ce fichier audio est de la musique.
WMDM_FILE_ATTR_PLAYLIST Il s’agit d’un objet de playlist.
WMDM_FILE_ATTR_VIDEO Ce fichier contient des données vidéo.
WMDM_FILE_ATTR_HIDDEN Ce fichier est masqué sur le système de fichiers.
WMDM_FILE_ATTR_SYSTEM Il s’agit d’un fichier système.
WMDM_FILE_ATTR_READONLY Il s’agit d’un fichier en lecture seule.
WMDM_STORAGE_IS_DEFAULT Ce stockage est le stockage par défaut dans lequel les nouveaux supports doivent être placés.
WMDM_STORAGE_CONTAINS_DEFAULT Ce stockage contient le stockage par défaut dans lequel les nouveaux supports doivent être placés.

[in] pwszName

Pointeur vers une chaîne à caractères larges et terminée par null contenant un nom pour le nouveau stockage.

[in] pMetadata

Pointeur vers une interface IWMDMMetaData .

[in] qwFileSize

Qword contenant la taille de fichier.

[out] ppNewStorage

Pointeur vers un pointeur IMDSPStorage pour recevoir l’interface IMDSPStorage pour le stockage nouvellement créé.

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
Pour obtenir une liste complète des codes d’erreur possibles, consultez Codes d’erreur.

Remarques

Cette méthode est utile si les métadonnées doivent être appliquées au stockage au moment de la création. En revanche, les méthodes IMDSPStorage2 ::CreateStorage2 et IMDSPStorage ::CreateStorage ne permettent pas de fournir des métadonnées au moment de la création.

Si le fournisseur de services d’un appareil pouvant se synchroniser avec Lecteur multimédia Windows prend en charge cette interface, Windows Media Gestionnaire de périphériques appelle cette méthode pendant les opérations Insert/2/3.

Si les attributs WMDM_FILE_ATTR_FOLDER et WMDM_FILE_ATTR_FILE sont définis, l’attribut folder remplace l’attribut file et le nouveau stockage est créé en tant que dossier.

Un seul des WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER et WMDM_STORAGECONTROL_INSERTINTO peut être spécifié par le client.

Le nouveau stockage peut être créé au même niveau ou inséré dans le stockage actuel, à condition que le stockage actuel soit un dossier. Cela est contrôlé par la valeur du paramètre dwAttributes . S’il spécifie WMDM_STORAGECONTROL_INSERTBEFORE ou WMDM_STORAGECONTROL_INSERTAFTER, le nouveau stockage est créé au même niveau que le stockage actuel. S’il spécifie WMDM_STORAGECONTROL_INSERTINTO, le nouveau stockage est inséré dans le stockage actuel.

WMDM_STORAGECONTROL_INSERTBEFORE et WMDM_STORAGECONTROL_INSERAFTER impliquent un classement du contenu dans le système de fichiers. Si le système de fichiers ne prend pas en charge l’ordre (par exemple, le système de fichiers FAT32), les deux indicateurs ont le même effet d’insérer le nouveau stockage au niveau du stockage actuel. Si le stockage actuel représente la racine du support de stockage et qu’un de ces deux indicateurs est spécifié, l’opération échoue.

WMDM_STORAGECONTROL_INSERTINTO est valide uniquement si le stockage actuel est un dossier. Si le stockage actuel est un fichier et que cet indicateur est spécifié, l’opération échoue.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

Activation de la synchronisation avec Lecteur multimédia Windows

IMDSPStorage2 ::CreateStorage2

IMDSPStorage4 Interface

IMDSPStorage ::CreateStorage