IAgileObject interface (objidlbase.h)
Marks an interface as agile across apartments.
Inheritance
The IAgileObject interface inherits from the IUnknown interface.
Remarks
The IAgileObject interface is a marker interface that indicates that an object is free threaded and can be called from any apartment.
Unlike what happens when aggregating the Free Threaded Marshaler (FTM), implementing the IAgileObject interface doesn't affect what happens when marshaling a call. Instead, the IAgileObject interface is recognized by the Global Interface Table (GIT). When an object that implements the IAgileObject interface is placed in the GIT and localized to another apartment, the object is called directly in the new apartment, rather than marshaling.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2012 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | objidlbase.h (include Objidlbase.h) |