You are on page 1of 2

Copyright K.

M Hussain, only to be distributed to MET students


C0N Funuamentals

!"#$%&' )*+, 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.

You might also like