Partager via


Méthode IWMDMStorage4 ::GetReferences (mswmdm.h)

La méthode GetReferences récupère un tableau de pointeurs vers des objets IWMDMStorage pointés vers ce stockage. Un album abstrait ou une playlist est généralement stocké sous la forme d’une collection de références sur un appareil MTP.

Syntaxe

HRESULT GetReferences(
  [out] DWORD        *pdwRefs,
  [out] IWMDMStorage ***pppIWMDMStorage
);

Paramètres

[out] pdwRefs

Pointeur vers le nombre de valeurs récupérées par pppIWMDMStorage. Si l’objet n’a pas de références, cela retourne zéro et la fonction retourne S_OK.

[out] pppIWMDMStorage

Pointeur vers un pointeur vers le tableau de pointeurs d’interface IWMDMStorage qui représentent des références dans un stockage. Ces références peuvent, par exemple, représenter des éléments d’une playlist ou d’un album. Le tableau récupéré est dans le même ordre qu’il apparaît dans l’objet lui-même. La mémoire de ce tableau est allouée par Windows Media Gestionnaire de périphériques. Lorsque l’application appelante a terminé d’accéder à ce tableau, elle doit d’abord appeler Release sur tous les pointeurs d’interface, puis libérer la mémoire du tableau à l’aide de CoTaskMemFree.

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

Remarques

Windows Media Gestionnaire de périphériques délègue au fournisseur de services sous-jacent la tâche d’ajouter et de supprimer les références sur un stockage. Les objets avec des références font référence à des objets abstraits tels que des playlists ou des albums abstraits ; les dossiers ne sont pas considérés comme ayant des références.

Il existe deux types de suppressions asynchrones qui peuvent se produire et provoquer des erreurs dans cette méthode. Si une référence à un stockage a été supprimée depuis que l’application l’a récupérée et que l’application tente d’utiliser la référence, l’appel de méthode retourne WMDM_E_INTERFACEDEAD. Si le fichier auquel la référence fait référence a été supprimé, S_FALSE est retourné.

Exemples

Les requêtes de code C++ suivantes pour les références d’un stockage (pStorage).


// Get references.
CComQIPtr<IWMDMStorage4> pStorage4(pStorage);
if (pStorage4 != NULL)
{
    WCHAR name[100];
    DWORD numRefs = 0;
    IWMDMStorage** parrReferences;
    hr = pStorage4->GetReferences(&numRefs, &parrReferences);
    for(int i = 0; i < numRefs; i++)
    {
        ZeroMemory(name, sizeof(name));
        hr = parrReferences[i]->GetName(name, (sizeof(name) / sizeof(WCHAR)) - 1);
        if (hr == S_OK)
            // TODO: Display the name.
        parrReferences[i]->Release();
    }
    // Free the memory.
    if (parrReferences != NULL)
        CoTaskMemFree(parrReferences);
}

Configuration requise

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

Voir aussi

Création d’une playlist sur l’appareil

IWMDMStorage4 Interface

IWMDMStorage4 ::SetReferences