Méthode IMediaLocator::FindMediaFile
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Notes
[Déconseillé. Cette API peut être supprimée des versions ultérieures de Windows.]
La FindMediaFile
méthode recherche un fichier et, si elle réussit, récupère le chemin d’accès au fichier.
Syntaxe
HRESULT FindMediaFile(
BSTR Input,
BSTR FilterString,
BSTR *pOutput,
long Flags
);
Paramètres
-
Input
-
Nom du fichier, y compris le chemin d’accès, où le dernier fichier a été connu pour résider. Pour les objets sources dans le chronologie, utilisez le nom du média actuel.
-
FilterString
-
BSTR contenant des paires de chaînes de filtre, mises en forme selon les besoins du membre lpstrFilter de la structure OPENFILENAME. Le localisateur multimédia utilise ce filtre s’il affiche une boîte de dialogue Ouvrir le fichier. La valeur peut être NULL si le paramètre Flags n’inclut pas l’indicateur SFN_VALIDATEF_POPUP.
-
pOutput
-
Pointeur vers une variable qui reçoit le chemin d’accès réel au fichier, s’il diffère de la valeur contenue dans Input et si la méthode localise correctement le fichier.
-
Indicateurs
-
Combinaison au niveau du bit de zéro ou plus d’indicateurs. Pour obtenir la liste des indicateurs possibles, consultez Indicateurs de validation de nom de fichier.
Valeur retournée
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Notes
La chaîne de filtre de la boîte de dialogue Ouvrir le fichier, qui est spécifiée par le paramètre FilterString , contient des caractères Null internes. Par exemple, Video\0*.avi\0\0 est une chaîne de filtre valide. Vous ne pouvez pas utiliser la fonction SysAllocStr pour allouer le BSTR, car cette fonction attend une chaîne terminée par Null et tronquera la chaîne au premier caractère Null. Par conséquent, utilisez une fonction telle que SysAllocStringLen, qui inclut un paramètre explicite pour la longueur :
BSTR filter = SysAllocStringLen(L"Video\0*.avi\0", 12);
// Note: SysAllocStringLen appends an additional '\0' to the string.
Si l’utilisateur annule la boîte de dialogue Ouvrir le fichier, la méthode retourne E_FAIL.
La méthode alloue de la mémoire pour le BSTR dans pOutput. L’application doit appeler SysFreeString pour libérer la mémoire.
Notes
Le fichier d’en-tête Qedit.h n’est pas compatible avec les en-têtes Direct3D ultérieurs à la version 7.
Notes
Pour obtenir Qedit.h, téléchargez la mise à jour Microsoft Windows SDK pour Windows Vista et .NET Framework 3.0. Qedit.h n’est pas disponible dans le Microsoft Windows SDK pour Windows 7 et .NET Framework 3.5 Service Pack 1.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi