IMFSourceResolver::CreateObjectFromURL-Methode (mfidl.h)
Erstellt eine Medienquelle oder einen Bytestream aus einer URL. Diese Methode ist synchron.
Syntax
HRESULT CreateObjectFromURL(
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] MF_OBJECT_TYPE *pObjectType,
[out] IUnknown **ppObject
);
Parameter
[in] pwszURL
Null-beendete Zeichenfolge, die die zu auflösende URL enthält.
[in] dwFlags
Bitweise ODER eines oder mehrerer Flags. Weitere Informationen finden Sie unter Quelllöserflags. Weitere Informationen finden Sie weiter unten im Abschnitt "Hinweise".
[in] pProps
Zeiger auf die IPropertyStore-Schnittstelle eines Eigenschaftenspeichers. Die -Methode übergibt den Eigenschaftenspeicher an den Schemahandler oder byte-stream-Handler, der das Objekt erstellt. Der Handler kann den Eigenschaftenspeicher verwenden, um das Objekt zu konfigurieren. Dieser Parameter kann NULL sein. Weitere Informationen finden Sie unter Konfigurieren einer Medienquelle.
[out] pObjectType
Empfängt ein Element der MF_OBJECT_TYPE-Enumeration und gibt den Typ des erstellten Objekts an.
[out] ppObject
Empfängt einen Zeiger auf die IUnknown-Schnittstelle des Objekts. Der Aufrufer muss die Schnittstelle freigeben.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der dwFlags-Parameter enthält sich gegenseitig ausschließende Flags. |
|
Das URL-Schema wird nicht unterstützt. |
Hinweise
Der dwFlags-Parameter muss entweder das MF_RESOLUTION_MEDIASOURCE-Flag oder das MF_RESOLUTION_BYTESTREAM-Flag enthalten, darf aber nicht beides enthalten.
Es wird empfohlen, keine MF_RESOLUTION_WRITE für das Eingabeargument dwFlags festzulegen, es sei denn, dies ist für Ihr Szenario erforderlich. Für die meisten Anwendungsfälle müssen Medienquellen nicht mit Schreibfunktion erstellt werden. Das Erstellen einer Medienquelle mit Schreibfunktion hat möglicherweise eine geringere Erfolgswahrscheinlichkeit als das Erstellen einer Medienquelle ohne Schreibfunktion. Dies liegt daran, dass es beim Erstellen einer Medienquelle mit Schreibfunktion strengere Überprüfungen für den durch die URL dargestellten Inhalt geben kann.
Bei lokalen Dateien können Sie den Dateinamen im pwszURL-Parameter übergeben. das file:
Schema ist nicht erforderlich.
Beispiele
// Create a media source from a URL.
HRESULT CreateMediaSource(PCWSTR sURL, IMFMediaSource **ppSource)
{
MF_OBJECT_TYPE ObjectType = MF_OBJECT_INVALID;
IMFSourceResolver* pSourceResolver = NULL;
IUnknown* pSource = NULL;
// Create the source resolver.
HRESULT hr = MFCreateSourceResolver(&pSourceResolver);
if (FAILED(hr))
{
goto done;
}
// Use the source resolver to create the media source.
// Note: For simplicity this sample uses the synchronous method to create
// the media source. However, creating a media source can take a noticeable
// amount of time, especially for a network source. For a more responsive
// UI, use the asynchronous BeginCreateObjectFromURL method.
hr = pSourceResolver->CreateObjectFromURL(
sURL, // URL of the source.
MF_RESOLUTION_MEDIASOURCE, // Create a source object.
NULL, // Optional property store.
&ObjectType, // Receives the created object type.
&pSource // Receives a pointer to the media source.
);
if (FAILED(hr))
{
goto done;
}
// Get the IMFMediaSource interface from the media source.
hr = pSource->QueryInterface(IID_PPV_ARGS(ppSource));
done:
SafeRelease(&pSourceResolver);
SafeRelease(&pSource);
return hr;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mfidl.h |
Bibliothek | Mfuuid.lib |