Bagikan melalui


METODE IMFSourceResolver::CreateObjectFromURL (mfidl.h)

Membuat sumber media atau aliran byte dari URL. Metode ini sinkron.

Sintaks

HRESULT CreateObjectFromURL(
  [in]  LPCWSTR        pwszURL,
  [in]  DWORD          dwFlags,
  [in]  IPropertyStore *pProps,
  [out] MF_OBJECT_TYPE *pObjectType,
  [out] IUnknown       **ppObject
);

Parameter

[in] pwszURL

String yang dihentikan null yang berisi URL untuk diatasi.

[in] dwFlags

Bitwise ATAU dari satu atau beberapa bendera. Lihat Bendera Pemecah Masalah Sumber. Lihat keterangan di bawah ini.

[in] pProps

Arahkan ke antarmuka IPropertyStore dari penyimpanan properti. Metode meneruskan penyimpanan properti ke handler skema atau handler byte-stream yang membuat objek . Handler dapat menggunakan penyimpanan properti untuk mengonfigurasi objek. Parameter ini bisa NULL. Untuk informasi selengkapnya, lihat Mengonfigurasi Sumber Media.

[out] pObjectType

Menerima anggota enumerasi MF_OBJECT_TYPE , menentukan jenis objek yang dibuat.

[out] ppObject

Menerima pointer ke antarmuka IUnknown objek. Pemanggil harus merilis antarmuka.

Nilai kembali

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Parameter dwFlags berisi bendera yang saling eksklusif.
MF_E_UNSUPPORTED_SCHEME
Skema URL tidak didukung.

Keterangan

Parameter dwFlags harus berisi bendera MF_RESOLUTION_MEDIASOURCE atau bendera MF_RESOLUTION_BYTESTREAM , tetapi tidak boleh berisi keduanya.

Disarankan agar Anda tidak mengatur MF_RESOLUTION_WRITE pada argumen input dwFlags kecuali diperlukan untuk skenario Anda. Untuk sebagian besar kasus penggunaan, sumber media tidak perlu dibuat dengan kemampuan tulis. Membuat sumber media dengan kemampuan tulis mungkin memiliki peluang keberhasilan yang lebih rendah daripada membuat sumber media tanpa kemampuan menulis. Ini karena mungkin ada pemeriksaan yang lebih ketat pada konten yang diwakili oleh URL saat membuat sumber media dengan kemampuan tulis.

Untuk file lokal, Anda dapat meneruskan nama file dalam parameter pwszURL ; file: skema tidak diperlukan.

Catatan Metode ini tidak dapat dipanggil dari jarak jauh.
 

Contoh

//  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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header mfidl.h
Pustaka Mfuuid.lib

Lihat juga

IMFSourceResolver

Pemecah Masalah Sumber