我正在尝试使用GetFieldProps获取类中字段的值
最初我GetClassLayout
用来获取 FieldDef 令牌数组,然后使用GetFieldProps
.
每次调用的结果都会GetFieldProps
返回 S_OK
并填充.szField
我在ExceptionThrown
回调中调用尝试这个,当尝试这个异常时,它返回字段名称_className
等_message
,但ppValue
始终为空,原样pcchValue
。
如何获取类中字段的值?
这是我当前方法的一个示例(删除了声明等):
COR_FIELD_OFFSET* fieldTokensAndOffsets = new COR_FIELD_OFFSET[fieldArraySize];
m_info->GetClassLayout(
classId,
fieldTokensAndOffsets,
fieldArraySize,
&a,
&b);
for (int i = 0; i < fieldArraySize - 1; i++) {
auto rid = fieldTokensAndOffsets[i].ridOfField;
MetaDataImport->GetFieldProps(
rid,
&mb,
fieldName,
100,,
&pchField,
&pdwAttr,
&ppvSigBlob,
&pcbSigBlob,
&pdwCPlusTypeFlag,
&pValue,
&pcchValue
);
}