id
[id(id-num) [,optional-attribute-list]] return-type
function-name
Example
Interface IKnown : IUnknown
{
properties:
[id(90), propget, helpstring( A meaningful
comment. ]
long
Func1(void);
. . .
}
Remarks
The
id attribute specifies a DISPID for a member function (either a property
or a method, in an interface or dispinterface). You use the id attribute
when you want to assign a standard DISPID (like DISPID_VALUE, DISPID_NEWENUM
etc.) to a method or property, or when you implement your own IDispatch::Invoke
instead of delegating to DispInvoke/ITypeInfo::Invoke.
If
you do not use the id attribute, the MIDL compiler will assign a DISPID
for you.
The id-num
is a 32-bit integral value in the following format:
Bits |
Value |
0-15 |
Offset. Any
value is permissible. |
16-21 |
The nesting
level of this typeinfo in the inheritance hierarchy. For example: interface mydisp : IDispatch The nesting
level of IUnknown is 0, IDispatch is 1, and mydisp is 2. |
22-25 |
Reserved;
must be zero |
26-28 |
DISPID
value. |
29 |
True if
this is the member ID for a FuncDesc; otherwise False. |
30-31 |
Must be 01. |
Negative IDs
are reserved for use by OLE Automation.
See Also