Freigeben über


MFCreateTransformActivate-Funktion (mftransform.h)

Erstellt ein generisches Aktivierungsobjekt für Media Foundation-Transformationen (MFTs).

Syntax

HRESULT MFCreateTransformActivate(
  [out] IMFActivate **ppActivate
);

Parameter

[out] ppActivate

Empfängt einen Zeiger auf die IMFActivate-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.

Rückgabewert

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

Hinweise

Die meisten Anwendungen verwenden diese Funktion nicht. es wird intern von der MFTEnumEx-Funktion verwendet.

Ein Aktivierungsobjekt ist ein Hilfsobjekt, das ein anderes Objekt erstellt, ähnlich wie eine Klassenfactory. Die MFCreateTransformActivate-Funktion erstellt ein Aktivierungsobjekt für MFTs. Bevor dieses Aktivierungsobjekt ein MFT erstellen kann, muss der Aufrufer das Aktivierungsobjekt initialisieren, indem ein oder mehrere Attribute dafür festgelegt werden.

attribute BESCHREIBUNG
MFT_TRANSFORM_CLSID_Attribute Erforderlich. Enthält die CLSID des MFT. Das Aktivierungsobjekt erstellt die MFT, indem diese CLSID an die CoCreateInstance-Funktion übergeben wird.
MF_TRANSFORM_CATEGORY_Attribute Optional. Gibt die Kategorie des MFT an.
MF_TRANSFORM_FLAGS_Attribute Enthält verschiedene Flags, die das MFT beschreiben. Legen Sie für hardwarebasierte MFTs das flag MFT_ENUM_FLAG_HARDWARE fest. Andernfalls ist dieses Attribut optional.
MFT_CODEC_MERIT_Attribute Optional. Enthält den Wert eines Hardwarecodecs.

Wenn dieses Attribut festgelegt ist und sein Wert größer als 0 (null) ist, ruft das Aktivierungsobjekt MFGetMFTMerit auf, um den vertrauenswürdigen Wert für die MFT abzurufen. Wenn der vertrauenswürdige Wert kleiner als der Wert dieses Attributs ist, schlägt die IMFActivate::ActivateObject-Methode des Aktivierungsobjekts fehl und gibt MF_E_INVALID_CODEC_MERIT zurück.

MFT_ENUM_HARDWARE_URL_Attribute Erforderlich für hardwarebasierte MFTs. Gibt die symbolische Verknüpfung für das Hardwaregerät an. Der Geräteproxy verwendet diesen Wert, um die MFT zu konfigurieren.
MFT_FIELDOFUSE_UNLOCK_Attribute Optional. Enthält einen IMFFieldOfUseMFTUnlock-Zeiger , der zum Entsperren des MFT verwendet werden kann. Die IMFFieldOfUseMFTUnlock-Schnittstelle wird für MFTs mit Nutzungseinschränkungen verwendet.

Wenn dieses Attribut festgelegt ist und das attribut MF_TRANSFORM_FLAGS_Attribute das flag MFT_ENUM_FLAG_FIELDOFUSE enthält, ruft das Aktivierungsobjekt BEIM Erstellen des MFT IMFFieldOfUseMFTUnlock::Unlock auf. Eine Anwendung kann auch das MFT_FIELDOFUSE_UNLOCK_Attribute-Attribut festlegen, ohne das MFT_ENUM_FLAG_FIELDOFUSE-Flag festzulegen. In diesem Fall muss die Anwendung Die Entsperrung aufrufen.

MFT_PREFERRED_ENCODER_PROFILE Optional. Enthält das Codierungsprofil für einen Encoder. Der Wert dieses Attributs ist ein IMFAttributes-Zeiger .

Wenn dieses Attribut festgelegt ist und der Wert des attributs MF_TRANSFORM_CATEGORY_AttributeMFT_CATEGORY_AUDIO_ENCODER oder MFT_CATEGORY_VIDEO_ENCODER ist, verwendet das Aktivierungsobjekt das Codierungsprofil, um das MFT zu konfigurieren. Der MFT muss zu diesem Zweck entweder ICodecAPI oder IPropertyStore verfügbar machen.

MFT_PREFERRED_OUTPUTTYPE_Attribute Optional. Gibt das bevorzugte Ausgabeformat für einen Encoder an.

Wenn dieses Attribut festgelegt ist und der Wert des attributs MF_TRANSFORM_CATEGORY_AttributeMFT_CATEGORY_AUDIO_ENCODER oder MFT_CATEGORY_VIDEO_ENCODER ist, legt das Aktivierungsobjekt diesen Medientyp für MFT fest.

 

Weitere Informationen zu Aktivierungsobjekten finden Sie unter Aktivierungsobjekte.

Anforderungen

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

Weitere Informationen

Aktivierungsobjekte

Media Foundation-Funktionen

Media Foundation-Transformationen