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

interface, dispinterface, ODL File Syntax, ODL File Example, Generating a Type Library With MIDL