!"#$%&' )*+, It is a facility pioviueu by Winuows that enables one (client) application to activate anothei (seivei) application anu peifoim opeiations on its objects. It foims basis foi: (1) !"#$"%&' '")%#*&+ that contains uocuments (0bjects) of uiffeient applications by incluuing theii paths (Linking) oi theii contents (Embeuuing) within its own stoiage. (2) !"$,-./0+* anu 12/3-12"$ of uata-objects fiom one application to anothei.
-%./%#0#1, It is a ieusable builuing block of a softwaie application. A component- baseu application can (1) 0se a component without being affecteu by any change in the inteinal implementation of that component. (2) Choose the component it neeus to activate anu the seivice of this component it neeus to consume at iuntime.
-%./%#0#1 )23041 5%$06 7-)58, It is a binaiy anu a netwoik stanuaiu foi implementing piogiamming language neutial anu location tianspaient components on top of Winuows 0LE (!45 2%&+6#*). The basic elements of C0N aie as follows
9: ;#10<=>40, It is an immutable set of functions, which iepiesents the contiact of a seivice offeieu by a component. A C0N inteiface is iuentifieu by its 7891 (128-bit globally unique iuentifiei) anu its binaiy stiuctuie points to a viitual (v-) table whose slots iuentify anu contain auuiesses of its functions. C0N inteifaces aie classifieu into following thiee types: (1) Custom Inteiface: It extenus the stanuaiu 98&:&";& inteiface, which specifies suppoit foi inteiface-negotiation anu iefeience counting iequiieu by eveiy C0N component. This type of inteiface only suppoits v-table (eaily) binuing foi its membeis. (2) Bisp Inteiface: It is the stanuaiu 9160$/+)< inteiface, which extenus the 98&:&";& inteiface to specify suppoit foi automation iequiieu by sciiptable (ActiveX) C0N components. This type of inteiface only suppoits late binuing foi its membeis. (S) Bual Inteiface: It extenus the stanuaiu 9160$/+)< inteiface to suppoit v-table binuing as well as late binuing foi its membeis.
?: -%-6>'', It is an implementation of one oi moie C0N inteifaces. It is iuentifieu by its u0IB calleu CLSIB anu it is uesciibeu along with its implementeu inteifaces by its type-libiaiy. Activation (instantiation) of a coclass is hanuleu by its (1) !=/00>"?@*)+, which implements the stanuaiu 9!=/00A/)+"2, inteiface to pioviue suppoit foi uefault activation. (2) 5"&6:*2 object, which implements the stanuaiu 95"&6:*2 inteiface to pioviue suppoit foi activation by name.
Copyright K.M Hussain, only to be distributed to MET students @: )23041, It is an instance of a coclass activateu by C0N iuntime. It is iuentifieu by the pointei to its 98&:&";& inteiface anu it can only be accesseu thiough the C0N inteifaces implementeu by its coclass. It exhibits following chaiacteiistics: (1) Inteiface Negotiation: It can be ueteimineu at iuntime whethei a C0N object suppoits a given C0N inteiface anu if so a pointei to that inteiface can be obtaineu. (2) Refeience Counting: A C0N object maintains a count of pointeis pointing to its inteifaces anu it uestioys itself when its last pointei is ieleaseu. (S) Active-X Automation: A C0N object may optionally pioviue suppoit foi iuentification anu invocation of its inuiviuual membeis at iuntime.
4. A/><1.0#1, It is a logical bounuaiy containing C0N objects anu the thieaus, which can uiiectly access the inteifaces of those objects. A thieau that uoes not belong to the apaitment of a C0N object must inuiiectly access its inteiface thiough a pioxy object, which exchanges invocation messages with a thieau in the apaitment of that object. C0N suppoits following two types of apaitments (1) Single Thieaueu Apaitment (STA): This type of apaitment can only contain one thieau anu it is iequiieu by a C0N object that uoes not peifoim the necessaiy thieau synchionization. (2) Nulti Thieaueu Apaitment (NTA): This type of apaitment can contain moie than one thieau anu it is suitable foi a C0N object that peifoims the necessaiy thieau synchionization.
B: C0<D0<, It is a ueployable mouule containing implementations of coclasses anu theii class-objects along with theii type-libiaiy. The u0IB of a coclass is mappeu to the path of its seivei in Winuows iegistiy (BKCR\CLSIB). C0N suppoits following two types of seiveis: (1) In-Pioc Seivei: It is a 1BB mouule that expoits ceitain stanuaiu functions iequiieu by the C0N iuntime. A C0N object pioviueu by this type of seivei can be activateu within its client's apaitment, enabling this client to uiiectly access the inteifaces of that object. It only suppoits local activation foi its components. (2) Local Seivei: It is an CDC mouule whose entiy-point peifoims ceitain stanuaiu opeiations iequiieu by the C0N iuntime. A C0N object pioviueu by this type of seivei can only be activateu within the seivei's apaitment, foicing its client to inuiiectly access the inteifaces of that object thiough its pioxy. It suppoits local as well as iemote activation foi its components anu it can also be useu as a stanu-alone application.