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 |
---|---|
|
Metode berhasil. |
|
Parameter dwFlags berisi bendera yang saling eksklusif. |
|
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.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk