Geoff Chappell - Software Analyst
The IAttributeGrammar interface is implemented by C++ attribute providers to show what attributes they support and with what rules.
The IID is {64626787-83F5-11D2-B8DA-00C04F799BBB}. The methods, in vtable order after the three IUnknown methods, are:
Offset | Method |
---|---|
0x0C | GetAllAttributes |
0x10 | GetListenToAttributes |
0x14 | GetAttributeList |
0x18 | GetArgumentList |
0x1C | GetArgumentValueList |
0x20 | GetAttributeUsage |
0x24 | GetArgumentDefault |
0x28 | GetAttributeCategory |
0x2C | GetRepeatable |
0x30 | GetArgumentType |
0x34 | GetRequiredArguments |
0x38 | GetRequiredAttributes |
0x3C | GetRequiredClassAttributes |
0x40 | GetArgumentRequiredAttributes |
0x44 | GetInvalidAttributes |
0x48 | GetInvalidClassAttributes |
0x4C | GetArgumentInvalidAttributes |
0x50 | GetHelpString |
0x54 | GetAttributeHelpString |
0x58 | GetArgumentHelpString |
0x5C | GetMeta |
0x60 | GetVariableArguments |
0x64 | AttributeToInt |
0x68 | GetShipping |
0x6C | GetVersion |
0x70 | GetNames |
0x74 | GetMultiValue |
0x78 | GetArgumentRepeatable |
0x7C | GetExplicitArguments |
0x80 | GetEvent2ForAttribute |
0x84 | GetAttributeValidExpression |
0x88 | GetClassAttributeValidExpression |
0x8C | GetOverLoadList |
0x90 | GetOverLoad |
0x94 | GetOverloadedAttributes |