Bagikan melalui


Fungsi MFTRegister (mfapi.h)

Menambahkan informasi tentang transformasi Media Foundation (MFT) ke registri.

Aplikasi dapat menghitung MFT dengan memanggil fungsi MFTEnum atau MFTEnumEx .

Sintaks

HRESULT MFTRegister(
  [in] CLSID                  clsidMFT,
  [in] GUID                   guidCategory,
  [in] LPWSTR                 pszName,
  [in] UINT32                 Flags,
  [in] UINT32                 cInputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                 cOutputTypes,
  [in] MFT_REGISTER_TYPE_INFO *pOutputTypes,
  [in] IMFAttributes          *pAttributes
);

Parameter

[in] clsidMFT

CLSID dari MFT. MFT juga harus terdaftar sebagai objek COM menggunakan CLSID yang sama.

[in] guidCategory

GUID yang menentukan kategori MFT. Untuk daftar kategori MFT, lihat MFT_CATEGORY.

[in] pszName

String karakter lebar yang berisi nama MFT yang mudah diingat.

[in] Flags

Bitwise OR dari nol atau beberapa bendera berikut dari enumerasi _MFT_ENUM_FLAG :

Nilai Makna
MFT_ENUM_FLAG_ASYNCMFT
MFT melakukan pemrosesan asinkron dalam perangkat lunak. Lihat MFT asinkron. Bendera ini tidak berlaku untuk transformasi perangkat keras.

Membutuhkan Windows 7.

MFT_ENUM_FLAG_FIELDOFUSE
Aplikasi harus membuka kunci MFT untuk menggunakannya. Lihat IMFFieldOfUseMFTUnlock.

Membutuhkan Windows 7.

MFT_ENUM_FLAG_HARDWARE
MFT melakukan pemrosesan data berbasis perangkat keras, menggunakan driver AVStream atau MFT proksi berbasis GPU. MFT dalam kategori ini selalu memproses data secara asinkron. Lihat MFT perangkat keras.
Catatan Bendera ini berlaku untuk codec video dan prosesor video yang melakukan pekerjaan mereka sepenuhnya di perangkat keras. Ini tidak berlaku untuk dekode perangkat lunak yang menggunakan DirectX Video Acceleration untuk membantu pendekodean.
 
Membutuhkan Windows 7.
MFT_ENUM_FLAG_SYNCMFT
MFT melakukan pemrosesan sinkron dalam perangkat lunak. Bendera ini tidak berlaku untuk transformasi perangkat keras.
MFT_ENUM_FLAG_TRANSCODE_ONLY
MFT dioptimalkan untuk transcoding dan tidak boleh digunakan untuk pemutaran.

Membutuhkan Windows 7.

 

Mengatur Bendera ke nol setara dengan mengatur bendera MFT_ENUM_FLAG_SYNCMFT . Model pemrosesan default untuk MFTs adalah pemrosesan sinkron.

Sebelum Windows 7, parameter Bendera dicadangkan.

[in] cInputTypes

Jumlah elemen dalam array pInputTypes .

[in] pInputTypes

Penunjuk ke array struktur MFT_REGISTER_TYPE_INFO . Setiap anggota array menentukan format input yang didukung MFT. Parameter ini bisa NULL.

Parameter ini bisa NULL. Namun, jika parameter adalah NULL, MFT hanya akan dijumlahkan ketika aplikasi menentukan NULL untuk jenis input yang diinginkan.

[in] cOutputTypes

Jumlah elemen dalam array pOutputTypes .

[in] pOutputTypes

Penunjuk ke array struktur MFT_REGISTER_TYPE_INFO . Setiap anggota array menentukan format output yang didukung MFT.

Parameter ini bisa NULL. Namun, jika parameter adalah NULL, MFT hanya akan dijumlahkan ketika aplikasi menentukan NULL untuk jenis output yang diinginkan.

[in] pAttributes

Arahkan ke antarmuka IMFAttributes dari penyimpanan atribut yang berisi informasi registri tambahan. Parameter ini bisa NULL. Jika parameter non-NULL, atribut ditulis ke registri sebagai array byte. Anda dapat menggunakan fungsi MFTGetInfo untuk mengambil atribut.

Atribut berikut didefinisikan untuk parameter ini:

Nilai Makna
MFT_CODEC_MERIT_Attribute
Berisi nilai manfaat codec perangkat keras. Lihat Merit Codec.

Nilai kembali

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Entri registri yang dibuat oleh fungsi ini dibaca oleh fungsi berikut:

Fungsi Deskripsi
MFTEnum Menghitung MFT berdasarkan jenis dan kategori media.
MFTEnumEx Versi MFTEnum yang diperluas.
MFTGetInfo Mencari MFT by CLSID dan mengambil informasi registri.
 

Fungsi ini tidak mendaftarkan CLSID MFT untuk fungsi CoCreateInstance atau CoGetClassObject .

Untuk menghapus entri dari registri, panggil MFTUnregister. Jika Anda menghapus MFT dari sistem, Anda harus selalu memanggil MFTUnregister.

Format yang diberikan dalam parameter pInputTypes dan pOutputTypes dimaksudkan untuk membantu aplikasi mencari MFTs berdasarkan format. Aplikasi dapat menggunakan fungsi MFTEnum atau MFTEnumEx untuk menghitung MFT yang cocok dengan serangkaian format tertentu.

Disarankan untuk menentukan setidaknya satu jenis input dalam pInputTypes dan satu jenis output dalam parameter pOutputTypes . Jika tidak, MFT mungkin dilewati dalam enumerasi.

Pada Windows 64-bit, versi 32-bit dari fungsi ini mendaftarkan MFT dalam simpul registri 32-bit. Untuk informasi selengkapnya, lihat Data Aplikasi 32-bit dan 64-bit di Registri.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header mfapi.h
Pustaka Mfplat.lib
DLL Mfplat.dll

Lihat juga

MFTEnumEx

Fungsi Media Foundation

Transformasi Media Foundation

_MFT_ENUM_FLAG