IMFSchemeHandler::BeginCreateObject method (mfidl.h)

Memulai permintaan asinkron untuk membuat objek dari URL.

Saat Pemecah Masalah Sumber membuat sumber media dari URL, pemecah masalah meneruskan permintaan ke handler skema. Handler skema mungkin membuat sumber media langsung dari URL, atau mungkin mengembalikan aliran byte. Jika mengembalikan aliran byte, pemecah masalah sumber menggunakan handler byte-stream untuk membuat sumber media dari aliran byte.

Sintaks

HRESULT BeginCreateObject(
  [in]  LPCWSTR          pwszURL,
  [in]  DWORD            dwFlags,
  [in]  IPropertyStore   *pProps,
  [out] IUnknown         **ppIUnknownCancelCookie,
  [in]  IMFAsyncCallback *pCallback,
  [in]  IUnknown         *punkState
);

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.

[in] pProps

Penunjuk ke antarmuka IPropertyStore dari penyimpanan properti. Penangan skema dapat menggunakan penyimpanan properti ini untuk mengonfigurasi objek. Parameter ini bisa NULL. Untuk informasi selengkapnya, lihat Mengonfigurasi Sumber Media.

[out] ppIUnknownCancelCookie

Menerima pointer IUnknown atau nilai NULL. Jika nilainya bukan NULL, Anda dapat membatalkan operasi asinkron dengan meneruskan penunjuk ini ke metode IMFSchemeHandler::CancelObjectCreation . Pemanggil harus merilis antarmuka. Parameter ini bisa NULL, dalam hal ini pointer IUnknown tidak dikembalikan ke pemanggil.

[in] pCallback

Penunjuk ke antarmuka IMFAsyncCallback dari objek panggilan balik. Pemanggil harus mengimplementasikan antarmuka ini.

[in] punkState

Penunjuk ke antarmuka IUnknown dari objek status, yang ditentukan oleh pemanggil. Parameter ini bisa NULL. Anda dapat menggunakan objek ini untuk menyimpan informasi status. Objek dikembalikan ke pemanggil ketika panggilan balik dipanggil.

Menampilkan nilai

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

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
E_ACCESSDENIED
Tidak dapat membuka URL dengan akses yang diminta (baca atau tulis).
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
Jenis aliran byte yang tidak didukung.

Keterangan

Parameter dwFlags harus berisi bendera MF_RESOLUTION_MEDIASOURCE atau bendera MF_RESOLUTION_BYTESTREAM . Jika bendera MF_RESOLUTION_MEDIASOURCE diatur, penangan skema mungkin membuat sumber media langsung dari URL, atau mungkin membuat aliran byte. Jenis objek dikembalikan dalam parameter pObjectType dari metode IMFSchemeHandler::EndCreateObject . Jika handler skema mengembalikan aliran byte, pemecah masalah sumber akan meneruskan aliran byte ke handler byte-stream, yang akan membuat sumber media dari aliran byte.

Jika bendera MF_RESOLUTION_BYTESTREAM diatur, handler skema akan mencoba membuat aliran byte dari URL. Namun, jika handler skema dirancang untuk membuat sumber media secara langsung, bukan aliran byte, metode akan gagal.

Tabel berikut ini meringkas perilaku kedua bendera ini saat diteruskan ke metode ini:

Bendera Objek dibuat
MF_RESOLUTION_MEDIASOURCE Sumber media atau aliran byte
MF_RESOLUTION_BYTESTREAM Aliran byte
 

Bendera MF_RESOLUTION_MEDIASOURCE dan MF_RESOLUTION_BYTESTREAM dapat digabungkan, meskipun dalam hal ini berlebihan.

Ketika operasi selesai, handler skema memanggil metode IMFAsyncCallback::Invoke . Metode Panggil harus memanggil IMFSchemeHandler::EndCreateObject untuk mendapatkan penunjuk ke objek yang dibuat.

Persyaratan

   
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

IMFSchemeHandler

Handler skema dan handler Byte-Stream