Share via


IDvdControl2::SetDVDDirectory-Methode (strmif.h)

[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.]

Die SetDVDDirectory -Methode legt das DVD-Laufwerk fest, aus dem der DVD Navigator-Filter gelesen werden soll.

Syntax

HRESULT SetDVDDirectory(
  [in] LPCWSTR pszwPath
);

Parameter

[in] pszwPath

Zeiger auf eine Breitzeichenzeichenfolge, die den Pfad des Stammverzeichnisses angibt.

Rückgabewert

Gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
S_OK
Erfolg.
E_INVALIDARG
Der pszwPath-Parameter verweist auf einen ungültigen DVD-Pfad, oder ein DVD-Laufwerk wird beim Aufzählen nicht gefunden.
E_UNEXPECTED
Der DVD-Navigator wird nicht initialisiert.
VFW_E_DVD_INVALIDDOMAIN
Ungültige Domäne. Einzelheiten finden Sie unter "Hinweise".

Bemerkungen

Wenn pszwPathNULL ist, versucht der DVD-Navigator, ein DVD-Volume auf einem beliebigen verfügbaren Laufwerk auszuwählen. Beim Start sucht der DVD Navigator automatisch nach einem Laufwerk ab Laufwerk C mit einem VIDEO_TS Ordner im Stammordner. Es ist daher nur erforderlich, aufzurufen SetDVDDirectory , wenn Sie mehr als ein DVD-Laufwerk auf einem Computer haben oder wenn Ihr DVD-Laufwerkbuchstabe A oder B ist. Wenn Sie den Pfad angeben, schließen Sie den Ordner video_ts ein.

C++
SetDVDDirectory(L"e:\\video_ts");
Bei einigen DVD-Volumes befindet sich das Video möglicherweise in einem anderen Verzeichnis als "video_ts". Die allgemeine Idee ist, dass ein zusätzliches "DVD-Volume" (die Gruppe von . IFO. VOB und . BUP-Dateien, die normalerweise im VIDEO_TS Verzeichnis) gespeichert würden, können in einem Unterverzeichnis auf dem Datenträger abgelegt werden. Durch Ändern des Stammes, um auf dieses Verzeichnis zu verweisen, wird MSWebDVD auf diesem separaten DVD-Volume ausgeführt. Ein neuer Satz von Menüs, Titeln usw. wird unabhängig von den Titeln im VIDEO_TS Stamm verfügbar sein, auf die nicht mehr zugegriffen werden kann. Solche Verzeichnisse werden als "ausgeblendete Verzeichnisse" bezeichnet. Im folgenden Beispiel wird gezeigt, wie ein ausgeblendetes Verzeichnis als Stamm festgelegt wird, wobei "hidden" ein Platzhalter für den Namen ist, den die Autoren des Datenträgers dem Verzeichnis angegeben haben.
C++
SetDVDDirectory(L"d:\\webdvd\\hidden");
Wenn das Filterdiagramm ausgeführt wird und der DVD-Navigator eine DVD in dem von pszwPath angegebenen Verzeichnis findet, beginnt der DVD-Navigator automatisch mit der Wiedergabe des Datenträgers. Dies entspricht der DVD-Spezifikation und stellt sicher, dass der neue Datenträger ordnungsgemäß initialisiert wird. Wenn der neue Datenträger nach SetDVDDirectory der Rückgabe nicht automatisch wiedergegeben werden soll, müssen Sie das DVD_ResetOnStop-Flag in IDvdControl2::SetOption auf TRUE festlegen und das Filterdiagramm über einen Aufruf von IMediaControl::Stop im Filter Graph-Manager beenden. Wenn DVD_ResetOnStop auf FALSE festgelegt ist, SetDVDDirectory gibt VFW_E_DVD_INVALIDDOMAIN zurück.

Diese Methode wird in der DVDSample-Anwendung in CDvdCore::SetDirectory veranschaulicht.

Die folgende Tabelle zeigt den Anhang J-Befehlsnamen, dem dieser Methodenname entspricht, und die Domänen, in denen diese Methode gültig ist.

Anhang J Befehlsname Gültige Domänen
Keine DVD_DOMAIN_Stop

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Siehe auch

DVD-Anwendungen

Fehler- und Erfolgscodes

IDvdControl2-Schnittstelle