[PATCH 3/5] mfplat: Set activation object attributes for enumeration results.

Nikolay Sivov nsivov at codeweavers.com
Tue Mar 3 03:22:44 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/mfplat/main.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index e63b8fb9c2..d15bf00337 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -1265,7 +1265,27 @@ static HRESULT mft_enum(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_INF
                 {
                     (*activate)[obj_count] = mft_activate;
 
-                    /* FIXME: set some attributes */
+                    if (mft->flags & MFT_ENUM_FLAG_LOCALMFT)
+                    {
+                        IMFActivate_SetUINT32(mft_activate, &MFT_PROCESS_LOCAL_Attribute, 1);
+                    }
+                    else
+                    {
+                        if (mft->name)
+                            IMFActivate_SetString(mft_activate, &MFT_FRIENDLY_NAME_Attribute, mft->name);
+                        if (mft->input_types)
+                            IMFActivate_SetBlob(mft_activate, &MFT_INPUT_TYPES_Attributes, (const UINT8 *)mft->input_types,
+                                    sizeof(*mft->input_types) * mft->input_types_count);
+                        if (mft->output_types)
+                            IMFActivate_SetBlob(mft_activate, &MFT_OUTPUT_TYPES_Attributes, (const UINT8 *)mft->output_types,
+                                    sizeof(*mft->output_types) * mft->output_types_count);
+                    }
+
+                    if (!mft->factory)
+                        IMFActivate_SetGUID(mft_activate, &MFT_TRANSFORM_CLSID_Attribute, &mft->clsid);
+
+                    IMFActivate_SetUINT32(mft_activate, &MF_TRANSFORM_FLAGS_Attribute, mft->flags);
+                    IMFActivate_SetGUID(mft_activate, &MF_TRANSFORM_CATEGORY_Attribute, &mft->category);
 
                     obj_count++;
                 }
-- 
2.25.1




More information about the wine-devel mailing list