MFTRegister-Funktion (mfapi.h)
Fügt der Registrierung Informationen zu einer Media Foundation-Transformation (MFT) hinzu.
Anwendungen können den MFT auflisten, indem sie die Funktion MFTEnum oder MFTEnumEx aufrufen.
Syntax
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
Die CLSID des MFT. Das MFT muss auch als COM-Objekt mit derselben CLSID registriert werden.
[in] guidCategory
GUID, die die Kategorie des MFT angibt. Eine Liste der MFT-Kategorien finden Sie unter MFT_CATEGORY.
[in] pszName
Breitzeichenzeichenfolge, die den Anzeigenamen des MFT enthält.
[in] Flags
Bitweise OR mit 0 oder mehr der folgenden Flags aus der _MFT_ENUM_FLAG-Enumeration :
Wert | Bedeutung |
---|---|
|
Die MFT führt eine asynchrone Verarbeitung in Software durch. Weitere Informationen finden Sie unter Asynchrone MFTs. Dieses Flag gilt nicht für Hardwaretransformationen.
Erfordert Windows 7. |
|
Die Anwendung muss die MFT entsperren, um sie verwenden zu können. Siehe IMFFieldOfUseMFTUnlock.
Erfordert Windows 7. |
|
Der MFT führt hardwarebasierte Datenverarbeitung durch, wobei entweder der AVStream-Treiber oder ein GPU-basiertes Proxy-MFT verwendet wird. MFTs in dieser Kategorie verarbeiten Daten immer asynchron. Weitere Informationen finden Sie unter Hardware-MFTs.
Hinweis Dieses Flag gilt für Videocodecs und Videoprozessoren, die ihre Arbeit vollständig in Hardware ausführen. Sie gilt nicht für Softwaredecoder, die DirectX Video Acceleration verwenden, um die Decodierung zu unterstützen.
|
|
Die MFT führt synchrone Verarbeitung in Software durch. Dieses Flag gilt nicht für Hardwaretransformationen. |
|
Der MFT ist für die Transcodierung optimiert und sollte nicht für die Wiedergabe verwendet werden.
Erfordert Windows 7. |
Das Festlegen von Flags auf 0 entspricht dem Festlegen des MFT_ENUM_FLAG_SYNCMFT Flags. Das Standardverarbeitungsmodell für MFTs ist die synchrone Verarbeitung.
Vor Windows 7 war der Flags-Parameter reserviert.
[in] cInputTypes
Anzahl der Elemente im pInputTypes-Array .
[in] pInputTypes
Zeiger auf ein Array von MFT_REGISTER_TYPE_INFO Strukturen. Jedes Element des Arrays gibt ein Eingabeformat an, das vom MFT unterstützt wird. Dieser Parameter kann NULL sein.
Dieser Parameter kann NULL sein. Wenn der Parameter jedoch NULL ist, wird der MFT nur aufgelistet, wenn eine Anwendung NULL für den gewünschten Eingabetyp angibt.
[in] cOutputTypes
Anzahl der Elemente im pOutputTypes-Array .
[in] pOutputTypes
Zeiger auf ein Array von MFT_REGISTER_TYPE_INFO Strukturen. Jedes Element des Arrays definiert ein Ausgabeformat, das vom MFT unterstützt wird.
Dieser Parameter kann NULL sein. Wenn der Parameter jedoch NULL ist, wird der MFT nur aufgelistet, wenn eine Anwendung NULL für den gewünschten Ausgabetyp angibt.
[in] pAttributes
Zeiger auf die IMFAttributes-Schnittstelle eines Attributspeichers , der zusätzliche Registrierungsinformationen enthält. Dieser Parameter kann NULL sein. Wenn der Parameter nicht NULL ist, werden die Attribute als Bytearray in die Registrierung geschrieben. Sie können die Attribute mithilfe der MFTGetInfo-Funktion abrufen.
Für diesen Parameter wird das folgende Attribut definiert:
Wert | Bedeutung |
---|---|
Enthält den Wert eines Hardwarecodecs. Weitere Informationen finden Sie unter Codec Merit. |
Rückgabewert
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die von dieser Funktion erstellten Registrierungseinträge werden von den folgenden Funktionen gelesen:
Funktion | BESCHREIBUNG |
---|---|
MFTEnum | Listet MFTs nach Medientyp und Kategorie auf. |
MFTEnumEx | Erweiterte Version von MFTEnum. |
MFTGetInfo | Sucht eine MFT nach CLSID und ruft die Registrierungsinformationen ab. |
Diese Funktion registriert die CLSID des MFT nicht für die Funktionen CoCreateInstance oder CoGetClassObject .
Um die Einträge aus der Registrierung zu entfernen, rufen Sie MFTUnregister auf. Wenn Sie einen MFT aus dem System entfernen, sollten Sie immer MFTUnregister aufrufen.
Die in den Parametern pInputTypes und pOutputTypes angegebenen Formate sollen Anwendungen bei der Suche nach MFTs nach Format unterstützen. Anwendungen können die Funktionen MFTEnum oder MFTEnumEx verwenden, um MFTs aufzulisten, die einem bestimmten Satz von Formaten entsprechen.
Es wird empfohlen, mindestens einen Eingabetyp in pInputTypes und einen Ausgabetyp im pOutputTypes-Parameter anzugeben. Andernfalls kann der MFT in der Enumeration übersprungen werden.
Unter 64-Bit-Windows registriert die 32-Bit-Version dieser Funktion den MFT im 32-Bit-Knoten der Registrierung. Weitere Informationen finden Sie unter 32-Bit- und 64-Bit-Anwendungsdaten in der Registrierung.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mfapi.h |
Bibliothek | Mfplat.lib |
DLL | Mfplat.dll |