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 |