Freigeben über


MFTRegisterLocal-Funktion (mfapi.h)

Registriert eine Media Foundation-Transformation (MFT) im Prozess des Aufrufers.

Syntax

HRESULT MFTRegisterLocal(
  [in] IClassFactory                *pClassFactory,
  [in] REFGUID                      guidCategory,
  [in] LPCWSTR                      pszName,
  [in] UINT32                       Flags,
  [in] UINT32                       cInputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pInputTypes,
  [in] UINT32                       cOutputTypes,
  [in] const MFT_REGISTER_TYPE_INFO *pOutputTypes
);

Parameter

[in] pClassFactory

Ein Zeiger auf die IClassFactory-Schnittstelle eines Factory-Objekts der Klasse. Die Klassenfactory erstellt den MFT.

[in] guidCategory

Eine GUID, die die Kategorie des MFT angibt. Eine Liste der MFT-Kategorien finden Sie unter MFT_CATEGORY.

[in] pszName

Eine Zeichenfolge mit breitem NULL-Abschluss, die den Anzeigenamen des MFT enthält.

[in] Flags

Ein bitweiser OR mit null oder mehr Flags aus der _MFT_ENUM_FLAG-Enumeration .

[in] cInputTypes

Die Anzahl der Elemente im pInputTypes-Array .

[in] pInputTypes

Ein 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, wenn cInputTypes null ist.

[in] cOutputTypes

Die Anzahl der Elemente im pOutputTypes-Array .

[in] pOutputTypes

Ein 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 cOutputTypes null ist.

Rückgabewert

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Der Hauptzweck dieser Funktion besteht darin, einen MFT für die automatische Topologieauflösung verfügbar zu machen, ohne den MFT für andere Prozesse oder Anwendungen verfügbar zu machen.

Nachdem Sie diese Funktion aufgerufen haben, kann der MFT aufgezählt werden, indem die MFTEnumEx-Funktion mit dem flag MFT_ENUM_FLAG_LOCALMFT aufgerufen wird. Der MFT kann innerhalb desselben Prozesses aufgezählt werden, ist aber für andere Prozesse nicht sichtbar.

Der pClassFactory-Parameter gibt ein Class Factory-Objekt an, das den MFT erstellt. Die IClassFactory::CreateInstance-Methode der Klassenfactory muss ein Objekt zurückgeben, das die IMFTransform-Schnittstelle unterstützt.

Hinweis Die MFTEnumEx-Funktion ruft eine Liste von IMFActivate-Zeigern ab. Die Klassenfactory muss die IMFActivate-Schnittstelle jedoch nicht unterstützen. Stattdessen stellt die MFTEnumEx-Funktion eine Implementierung von IMFActivate bereit, die die Klassenfactory umschließt.
 
Um die Registrierung des MFT aus dem aktuellen Prozess aufzuheben, rufen Sie MFTUnregisterLocal auf.

Wenn Sie einen MFT im PMP-Prozess (Protected Media Path) registrieren müssen, verwenden Sie die IMFLocalMFTRegistration-Schnittstelle .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mfapi.h
Bibliothek Mfplat.lib
DLL Mfplat.dll

Weitere Informationen

MFTRegisterLocalByCLSID

Media Foundation-Funktionen