我也在这里问过同样的问题。
我在制作返回对象数组的 API 时遇到了麻烦。
这是我到目前为止所尝试的。我编写了将数组作为参数返回的方法
HRESULT GetMyObjectList([out] UINT32* objCount, [out, size_is(*objCount)] MyObject myobj[*]);
这给了我以下错误:
Error MIDL4048 [msg]Unsupported array pattern detected. [context]myobj
另外,我尝试将数组添加到自定义对象中,即
[version(1.0)]
typedef struct MyCustomObject
{
UINT32 count;
[size_is(count)] UINT32 someParams1[*];
} MyCustomObject;
在这种情况下,我收到以下错误:
Error MIDL4000 [msg]A structure field cannot be a type of pointer. [context]: someParams1 [ Field 'someParams1' of Struct 'MyName.Space.MyCustomObject' ]
谁能告诉我这里有什么问题?或提供工作示例以通过 WRL idl 检索对象数组