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
S_OK
Die Methode wurde erfolgreich ausgeführt.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Der dwFlags-Parameter enthält sich gegenseitig ausschließende Flags.
MF_E_UNSUPPORTED_SCHEME
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.

Hinweis Diese Methode kann nicht remote aufgerufen werden.
 

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

Weitere Informationen

IMFSourceResolver

Quelllöser