IMediaLocator::FindMediaFile-Methode
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Hinweis
[Veraltet. Diese API kann aus zukünftigen Versionen von Windows entfernt werden.]
Die FindMediaFile
Methode sucht nach einer Datei und ruft bei erfolgreicher Ausführung den Pfad zur Datei ab.
Syntax
HRESULT FindMediaFile(
BSTR Input,
BSTR FilterString,
BSTR *pOutput,
long Flags
);
Parameter
-
Eingabe
-
Dateiname, einschließlich Pfad, in dem sich die Datei zuletzt befand. Verwenden Sie für Quellobjekte im Zeitleiste den aktuellen Mediennamen.
-
FilterString
-
Ein BSTR , der Paare von Filterzeichenfolgen enthält, formatiert nach Bedarf durch das lpstrFilter-Element der OPENFILENAME-Struktur . Der Medienlocator verwendet diesen Filter, wenn das Dialogfeld Datei öffnen angezeigt wird. Der Wert kann NULL sein, wenn der Flags-Parameter das flag SFN_VALIDATEF_POPUP nicht enthält.
-
pOutput
-
Zeiger auf eine Variable, die den tatsächlichen Pfad zur Datei empfängt, wenn er sich von dem in Input enthaltenen Wert unterscheidet und die Methode die Datei erfolgreich findet.
-
Flags
-
Bitweise Kombination von null oder mehr Flags. Eine Liste der möglichen Flags finden Sie unter Dateinamenvalidierungsflags.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Bemerkungen
Die Filterzeichenfolge für das Dialogfeld Datei öffnen, das durch den FilterString-Parameter angegeben wird, enthält interne NULL-Zeichen. Video\0*.avi\0\0\0 ist beispielsweise eine gültige Filterzeichenfolge. Sie können die SysAllocStr-Funktion nicht verwenden, um den BSTR zuzuordnen, da diese Funktion eine Null-beendete Zeichenfolge erwartet und die Zeichenfolge beim ersten NULL-Zeichen abschneidet. Verwenden Sie daher eine Funktion wie SysAllocStringLen, die einen expliziten Parameter für die Länge enthält:
BSTR filter = SysAllocStringLen(L"Video\0*.avi\0", 12);
// Note: SysAllocStringLen appends an additional '\0' to the string.
Wenn der Benutzer das Dialogfeld Datei öffnen abbricht, gibt die Methode E_FAIL zurück.
Die -Methode weist Arbeitsspeicher für den BSTR in pOutput zu. Die Anwendung muss SysFreeString aufrufen, um den Arbeitsspeicher freizugeben.
Hinweis
Die Headerdatei Qedit.h ist nicht mit Direct3D-Headern ab Version 7 kompatibel.
Hinweis
Um Qedit.h zu erhalten, laden Sie das Microsoft Windows SDK Update für Windows Vista und .NET Framework 3.0 herunter. Qedit.h ist im Microsoft Windows SDK für Windows 7 und .NET Framework 3.5 Service Pack 1 nicht verfügbar.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch