COM i AR A Fe
OKA PET RA
[£] Dale Rogerson
wHE F
x & F
me AS he atGH) SEF 158 5
COMER AE
Inside COB
Dale Rogerson
Copyright © 1997 by Dale Rogeram.
Original Engh langage Eatin Copyright © 1997 by Dale Rogerson.
Published by arrangement with the original publisher, Microsoft Press,
a division of Microsoft Corporation, Redmond, Washington, U.S.A.
AAAS SCARE Microsoft Press BEA SEK AER REMI Me
ARTES ERA ASICS MF 01-98-0270 5
ALT DBF
APHBMA Microsoft Press MHEUHRE, ARERR EQ
BEM RCP) ae
COMER ANA : ALPE RL HB ALTE (Rogerson, D.) FAIR — AL: REF HE
HE, 1998.12,
ISBN 7-302-03320-X
LG WOR @ te Ml. RAR WV. 31.52
PAE ASH CIP SSC R (1999) 9 00830
HARE: PARE CALA E ACF BA SE 100084)
Tip: //ommw.tup. singh hon
A HEF
RTS: HEREO ELAR
AR: 187x960 1/16 DH: 19.5 FM 4 TF
Rs 100045 3 53 LKR 199946 3 FL SN 1 RE
SS ISBN 7-302-03320-X/1P-1786
82: 0001 ~ 5000
Bt: 50,00 (HH)
Hee RHawa
RAE BIL AI TGR FG SLs TR EH A, BRT HOT
EAE RATER , FARE FAR a RA Be SE 4a
thth. ETA AAMT) UNIX, RR RRM ERE BEES 45 NTE — NTS DUE SAL
CBT LL PSE, BRT HB SG PE Pe A HSM AE AT
A SLATE BA BH fo
PUK RB) COMA AE RRL) TCE, RT HAL BI BLA EA UNIX
IRSA GSAT BLE » APS BCBPOR AY BR REALS C1 IRIE AS MAT A ACO ae HE
ARH A INTUTE LA mG COM TER RK AS Jy T EH BL Lk ws
ER BUE AE T* IAA EFT HF A TE BA — PE ET BBA
FE COM BHI , AMITPL LA J BE Hh 4-45 EAN Be — AA” BAR CEL) RI
HECHT AO PR AU FRB 9 HAP EM TR
Bea EL AE AYO SL EEA, VA BIRT SEAT RS a SY ES
SA — Pat TL EE I SE COM SRA FEAR
PEA TAT ARE BOT FED AE AS a BS
Dale Rogerson 32 9525 7 03 BRE ALA A, PBR AO FY AT BEA Hy
TAR, ARTE (COM ARASH) EARS HM REST COM AR AH AT ROT
1 COM SL RRND RPE FE BE sj RAB I 9 Be A BAT Ha
HR 5 BA SG 6 gE A Me Ee — a 0 A
TOCA ARE COM UR SAREE, BP MRS RES A EE
K, BEAA SHE.
&
197.12-F ba RE1.1 SEAR RES,
1.1.1 RRP i
1.1.2 PRE
1.1.3 Santa tE
waeersanveoeuunn en
2.1 ROME
21.1 DRA
2.1.2 COM FEO RFE HE A
2.2 COMERS -
2.2.1 SAE - 4
2.2.2 —PSEREOAE 1s
2.2.3 teROEE - 18
2.2.4 SRA - 18
2.3 ROM BoB - + 20
2.3.1 ROMA + 20
2.3.2 £8 - 20
2.4 ROAR a + 2bKCOMBAATDZ Ae Wl
25
83H Queryinterface BR
3.
3.2
3.3
3.4
3.4.3 Baa
3.5 RRNA
ae Swit
4.1 Ai Wi «
4.2 BFRP RMS
4.3
2.4.1 MER
2.4.2 wibl dit RSPB
2.4.3 FEA
2.4.4 BIAS AIH wibl
ARMA
koa
3.1.1 XF Unknown
3.1.2 TUnknown #8 4f A SER
3.1.3 RF Queryinterface
3.1.4 Querylnterface ffi
3.1.5 Querylnterfare £32 RR
3.1.6 KFRMHRR -
3.1.7 —hseRMT ~
FEF Querylntertace ft) SLL
3.2.1. fl Woknown ----
3.2.2 SAMOA RBALRE ~
3.2.3 HUDAPPORALE So ME
3.2.4 PEP UR DA APE ART BE 3 ee A
3.2.5 TERM A EH CO SONG REBEL, UA EE AA
BERRA «
Querylmerface SE XT AE»
3.3.1 BEBE
RAL IR
3.4.1 ER — TE
3.4.2 BREE RE
BELSSSERRPSSVISRRBIURRREL
4.2.1 SUR edR
4.2.2 AddRef # Release (4 3228
SORE HEAT SL ADT Be oo
4.3.1 SURGE
Ssuvesses ee aRRSSSSR sae -
5.4
5.2
5.3
5.4
6.4
6.5
(COMA PT)
4.3.2 STARR -
68
6s
6
SPER Bd 6
S.A ADIL $i HH ee 67
5.1.2 DLL BURR o
BP RAL n
6.1.1 HRESULT (2 7E2%
6.1.2 HRESULT (49687
6.1.3 APACER
6.2.1 Atta CUD
6.2.2 CUD ty AME
6.2.3 GUID ft beat «+
#8 GUID FEA ELA ROE
KT EMA
6.3.5 ProgiD
6.3.6 ATE -~
6.3.7 ral
6.3.8 OleView
COM FER
6.4.1 COM ERM
6.4.2 AGE --
6.4.3 HERE CUD
ARNECOME ABD 2 At v
78 Rr
Tl
72
13
14
15
1.6
S8e AABR:ASSRA
8.2
8.3
TAA
112
TAB
AA
TAS
a
721
7.22
123
1.24
ROWER
7.3.1 DilGetClassObject #3858
7.3.2 Pr
7.3.3 StH
7.3.4 HiPERE A -
7.3.5 SATE
i DLL POs TE
TAA REMI
DUL RST
7.5.1 DilCanUnloatNow f (858
7.5.2 LockServer
BUI oe
AL
AaARE
8.1.1 HHS -
8.1.2 RES -
8.1.3 BASRAW HR
PURIYREBL cneeeeseeeee
8.2.1 ROR -
RETR
8.3.1 Querylntertace YS
8.3.2 RIERA [nknown
8.3.3 RAWAAHED -~BOR MRL EN
91
9.2
9.3
208
10.1
40.2
10.3
10.4
(COM BAA AF)
8.3.4 VIRB I ele
8.3.5 ASB A a e Pa Ba BE OE
Pe AE
8.4.1 HARA
RAH PARA MAE
8.5.1 AAR ARRAS
SPUR
91.1 BARI ET
9.1.2 C++ BX
RRNA
9.21 ABET ES
9.2.2 A RR
9.2.3 CUnknown #1 CFactory 4/48 Fil ~
9.2.4 SRE
RE
EXE PORSR
AER
10.1.1 LALA
10.1.2 8 -
10.1.3 {U/L DLL.
IDL/MIDL fist
10.2.1 X¥ WL
10.2.2 IDL REFS EA
10.2.3 MIDL S835
AHS OTR
10.3.1 a PAPRIP ASE AT
10.3.2 ERAT RBH
10.3.3 SHE
10.3.4 8t LockServer HIE EL
BWR D ~~
10.4.1 DCOMCNEG. EXE S56 iti LE
10.4.2 LHF SL -(COMBA ABZ Ae
10.5
Sue weRO5Saak
WL
M2
1.3
14
WS
UR SRB
12.1
12.2
12.3
10.4.3 #4 DCOM fa
ARTA os
AES
VL. (BAS a A
11.1.2 Wispatch #211
Dispatch #6855 -
11.2.4 Invoke BIH SH
11.2.2 ARB
11.2.3 VARIANT 363
11.2.4 BSTR Rea
11.2.5 SAFEARRAY 2549
ARAL
1.3.1 Seg A ae
11.3.2 JERE
11.3.3 TEAR POSS FE
[Dispatch $2 709 550
1.4L RBS
11.4.2 20am -
ME
COM RBA.
12.1, Wind2 REE
12.1.2 COM RE +
12.1.3, Shhh
12.1.4 BARE -
12.1.5 ARBRE
12.1.6 HRS
RARE TR -
12.2.1 Bam -
12.2.2 FLA -
12.2.3 $88
12.2.4 HERBS HO
AnRAHORR ~
12.3.1 HA RBA
SHRBSSRERRERERERIRERESERSESPERRRNER I12.5
RBS —Tsee ir
13.1
33.2
13.3
13.4
13.5
13.6
BRB
(COM EA HE)
12.3.2 ARPS Be I -
12.4 LT ARAM E MRS
ARNE «
3
‘Tangrm EFF
13.1.1 Tangram {193249
3.1.2 SPA
13.1.3 BPR
13.1.4 TangramModel 16 =>
13.1.5 TangramGdiVisual #1 TangraeGLVisual 41 FF
43.1.6 TangramGdiWorld #1 TangramGLWorld $84
Ra
IDL
13.3.1 DELDATA.C CPF
‘TSR
13.4.1 iif AddRef
13.4.2 S/R IL -
13.4.3 Ra
SABER -
13.5.1 TEnumXXX
AEN
BUSEUTRREREREERREE BSS5l
Ii
HEART BEATA AAR BS ERE BT EI Jin 0 Sa
Me REE Cs — ERA EE? RI AE A TP Be PEI AS
BE — Ue? He a OR A a Pe i, aS
PEE? PAL TAL DO AL 09 PRE FP EE BE? de aE ei SK YF PE?
RTT AEE TE Bee SD As ad FN BEBE TE BRD A A SD
AS Bas PBA 2 PA AL REE
COMMS? PALEY (OLE) A BUG NS? He HE I OLE fA at BEF J A BE RG Sk EI?
Hise AS COM Bl OLE #62 Hy PAE HE? HEE FART fF Microsoft) — 283 AR,
ActiveX DirectX ELSE OLE MAE RUE? HIE PF ARE fil Microsoft 9-25 Ji FA BEF RR HEH
we
SAM LRG SRE IE” BARE ARERR To ET
ABA th — Ah AR RA, A Microsoft 41 4%5 & 8212 (Component Object Model), £7
RABBI COM, BREST HEAR IE MUA TR C++ FF 2252 fal COM Ait
COM IFRS ALES Ba be — ei BR
LL ERE PR HE REL BEANE PEE OR 5 FE Be A COM SEL PPE Sn BD IE 2
BASH AAMT RAY APL, Be COM 11S. AT De ae oR DATE PR AR OF
LAUR OT PAPE TIT TEAR ERA ER PE AT PDP EEC. Microsoft
MOVES, tN ActiveX DirectX Jt OLE SHER T COM TELE. FFA Microsoft
BFE Be AB Aa AFD COM EL 14S fT FDR DR FE RE
ReMREX
APRA A Wind? BBARAR C++ ERM GM, HMR C++ RE
ARORA, AUB C++ IPR COM AAR LR, WA ERT
ARB Cr+ RG. ETAT IR ABTS MAR ARH C++ WB RANE
STH AL IAAT COM SBE, BEA BTR 1 WES SA AR CS BO AS Sea A HS Be OB
ME MPR C++ IE RTA FD COME — TAPAS COM 5 OF BN IE a
BARE APLAR ULE US, PRE SOA C++ Be BO ADE BA BEx (COMBRPMDZ I"
fhe
Microsoft Windows ($5: EB5 Se 20% 2) ACH HESP 4 OB BEME A A BN (ELS
FRE . FEAT ER BE RAR EEF Windows AOC. Be UNIX FDP E
SLR TS HO a AC tA EB A POE. Windows B25 Gt 12 4E Windows FF RAAT
HMA SE AMALIE A Windows IFIP TS LEER.
BS ARH Microsoft 2 AC 28 FE ( MPC) RICE AIF AL A SRE MFC
SERA BHR COM ALPE ORE ATER ah TERS onal AAA 12 ETE AH I POF
SAE MFC
S 44k Windows FF Fi
JAF UNDX. Macintosh ,Linux.VMS si SCR S84 22 SE AY FF BEA Bi LH RE BAAR 5 BE SE
SRM PAAR . A COM BTR & ABLE RE Microsolt Windows #4 9 F AA
Blo COM SPARSE KO) APT, ESOS LARRY 14 A BR TS Ey BAY, tH
BRET. CAE — RE RAD FER A AIST LER “COM Fk". YRS, Windows
HEE T Hee COM Dre” BEAT 8 PE IN OY DA ERE SL EAR, HERAT
PSB DAE IE BEA TA BTA AE SEL Dy EA SRA
AERA LIP AREA COM UAE To Microsoft JE 2637 COM FY Macintosh MLA. IF
4B. Software AG IF 7E3% 21% COM BALL D7 INA PRE ABEL. ANGER A HE,
FEE AE 6. LITER A AAG BT EA — PR ER GRAIN COM AACS
C++
RR COM ASE SRA HAAN AHRAR DAE ARE ER
COSI. FT CREF MSIE FF FT ULE C Java, Python EF AT LAE Microsoft Visual Basico IETF
SAE C++ WY ARREST A. i TS AR
FC ++ AR 3 AB FEE] — PRE BB Ab Je YB — AR REE COM AEF I
FEMHEZ SE a BN BUH Ae IER AE 6 FA Java BR Python SCOR AT AS A SATE A A
C++ MAIER COM SLAY BE AP BPERAS 8 SEAS FH aH HE SEK i
ABARRH C++ BE
ET SPARE DS Cat REM YEA) C44 PP RR TR
AGP EE Se AF AH, LEA HH ALS LA) bool HEF BEA ota
Ble SAY BEF 0 HRT ESS SL Rt FAS A — Bee OR AYER HEE AATEBIISROTE x
AY RBA SUSU BEB , PA ASAE Pa BEMIS SIT Sh 2 ARE BE AT SP BE
RB PA FR 7 — See SEG FEHR AEA. static _ case const cast [LBL reinterpret_
cast SF , 3X SE BE AS ESI HMR E FEE Microsoft Visual C++ +P Hs BAST TIE 28 to To
BEA HD Uh FS RH ER EEE EET AMAT LAE
cFoo* pI = (Cfoo® this +
Bm
Foo * pI = static_cast
this 5
APE LEAT 29 T ORE RETO EE, HR UI SUE TN
KFAB PMA
ARPHE- HRB -ABTRABR. FPR eR, MA
AT ARRAS. AATARB BAERS IL TAR ISRO SE
BRA RAGS CD ABE, GRAN RD TH — Par a AT AT Ba
FORT RAE COM BAM L GEA RAD SS RT EA
BMW REALE.
FORE BP BTA EE TSE A
Dl AR ARATE CDE ABS HH OY, 49 FY LL LE Microsoft Windows 95 3%
Microsoft Windows NT £ P4170
ASAE AE HS TAP Ws BE EAT HELE MG BY a ONE FF ABA — 7 & Ys REGISTER. BAT.
ROLAND LL oe RCT OE.
BAS EA aR RS a FAL Win32 API
TAR ISIE FAB Microsoft HARIS.,
BRAT AS AEE RY FT He I CD ERA, WSR ET, ART
C44 RPE Win32 SDK THI SEs BRIA Viowal C++ ,
AAR Wind? SDK, A Visual C++ AT RMT RS. LIE RA
43 Windows JE WAFER MB BEI 2
Ol SAPO ELAN Viounl C++ 4.x R5.0RFTR, SRB RAH - ERA
Visual C++ RG PR HE 9 HE AE HE Ba HS Jk AE RAE APE HE AF Vioual
C++ SORE BORE T Visual C++ 5.0 RMRE MI.
O FARA AEST RE. AM Vinal C++, UA of
< filename > ROW RKB BORA BELLE
Dl PR AF aS TA PO) ALOT] AK Viel C++ SS EAT
FY makefile, Jy FG HAR RIS, IA emake -f makefile B. nmake. Ys KH
makefile HBA FE makefile TAS —THRRA,
ooo oaP| CCOMBRRARDZ Hae
Tangram 7°64 i A
EAR TRAE CD + 4, — 4 08 FD COM 201 0 Sik OF F< Tange, {AL
‘Tangram BT GREP ACE T RABE OW. BG AACE AT Win32. APL, HF
JHE CDI, IF EEA T MFC R OpenCh, FAK, CHAM, TPH a SMALE ILD DLL,
EXE PE MAP ATLA Tangram (1 Bea AE as T BASE I” bY COM, 3 PFE
7 A EAB Se ERE” COM. Tangram EX) SPR FE Be BY PRAT AS 9 BT hE FE CD
RAL
RBM
SURFERS BUT PFE A A MBC, AES 8 ARTE STAR MBC Da SB
SU gE HAT Em, PET RT om _ Sleepy Rear 135 Hk EA — A
RIAAER-TRALH. HATHRAS MIA —-PARGMEH Co Pia
CConyBear RA HEA Coxy Bear 2H. BL A T HP OTA he
2H MFCM ARR
reat ax el
c es CConnesionPoint
t eo HConnectionPoint
m RABE BOOL m _ bSplleyBear 5
s aA sonic ine 6 iBears:
ge Bia tt int g . Bears[ 100};
WTA Windows MEARE MT i TAA ERAN, TAI
LE RAERAM AER OME. CREE YT OF ARN TF
BS, KE 2 BEF AT A A Be A 8 a — RE, EB
COM.OLE Be ActiveX FYFE Bt A Gl BT EIN 8 OFF Al ie AT PSB
R12 FERN HEE
Ht aX Ed
? AT ia * phuwes
a Ream ear * plBears
b ar ‘BOOL bBear;
1 mm int Nbr Boars
ae WORD BSVORD daBoarsBRE RELEB?E a
eH
Pee ax ea
€ He DWORD cRefs:
= Seep char saNamel | ="Fuzzy" 5
cc RFRA m4
ATAZES RAH?
AEE EPEAT? MAN ELE FE A IB ZR
AG TE— FBTR A SEMB UR, PEARS TR I BAAR AF Se HG IY PLS
SPENSER EIR T SD ZA ER BT A SR AE Ce
PETA RAR, ARREST MR Fe SS BOF
(eb GAD A Ae SD AD ELE ES BP AB BE
FUER BUTT HF a — FI 9 LT BZ SEP
COM Al OLE WAAR HAT ERNE RAD SOOKE RRA
UI RBUSY JE FDR Sethe Oy BE i LTT CO LF BD SE — A FL A
A BUY AE IEAB IE S28 10 (EL, AST a fs fe 7 FR TE EK AY OLE. EF OLE
MEE ABM YS BT AAUE COM MMP ERA, KF OLEMR ARH BSE
FFF AH Kraig Brockschmidh #9 Inside OLE)T «
24 Kmig E493 MASAI, COM PME — 8) — PEI, BD OLE, FEM] — PALE
COM I AtLABAE EES OLE, SOG RR AE A SRN, BE RR ST
SMROKARAIN . IR, WRAP DOE LARS E ARB.
ADK, HABE COM BB IAAT To IEA EA Bit COM ¥FAE49 th OLE By
SE, Microsoft IRE BFF RM THA Al OLE BA EE A RM COM OR ATE, fn
Microsofiff) = 4EFUJE API Direct3D. iE BS SHH: , 4 Nigel Thompson 2£ 4475 (3D Gruphies Pro-
gramming for Windows 95) Rt , A 3-45 458 In A -— ER fm fol (8 FL COM, FRI 45 AS AR AE
PETES A REE 8 PPE BEE — OF ASL — ER AE OR
IESE SOR A WES AA) AE DB ILS IB HAR
BABA — OURS COM [Fl OLE SFFIF EL AUER COM INA ERE. ALTE
FEMA A eh RIAL LH FX OLE HOA, TT REVERE COM HH REL, ER
PRT ASSL ZIG TG EW EAB OLE DirectX BA ActiveX AMIE AEP
RFT Lh FES CB SE PE
SELL Ree LOY 4) RI ERE. COM MUFF BARA BAER AM To
AWE EM RAAF ActiveX. OLE RAC MA PITF RH. AIRE COMW KCOMER ABE 7"
AIRE TS A AG TE PI AI. PE BO SE RE C44 BE
sp A
RAKE
BPR HEE UE Dy PEEP PAB EY CDE PY FL MEP ELPA OE
HES. Fall Microsoft Prose FE: fF 9 wow 3H CEE XS TET Ae BB: FBP ECT PRE
‘petp://mn.microsoft. comvmspress/support/
ERT ABA TME CD APR SETA] BSH EAT EHF SB RAY Microsoft
Press:
WB
Microsoft Press
Attn; Inside COM Baitor
one Microsoft Way
Redinond, WA 98052 — 6399
PAE
SPLNPUT@ MICROSOFT. COM
RE BRITE, LEB AS EAS BRAD SE Se Ae SEI WY SCV INS, TL
JAM FAK.
GAZ Microsoft Developer Network(MSDN} Web 32% . www HIME +
hetp://www.microsoft. com/™sow/
HES) ALFA MSDN BEEN PARSE AY VATTWN 2. TOMAS AT RAH BRA AD
BAT (800) 759-5474,
FE FRE Web Si: K., Microsoft BEA} SAE AY SE AF5 ML (65 C2 ER FBR TT OK
Bs
http://www. microsoft. cor/ support/
AK COM HAS, AT LIATIBIRA Microsofi 1) Win32 SDK AnswerPoint Abt, sis 2b
(800) 936-5800.
AF Microsolt Visual C++ AITO), BT LAE To SAAS A ER AS 2S CE BIOS fb RT
MEDI SCHF LHS (206635 — 7007.#18 4
A RE Pe ate
TERE — ROR SRE IE ATE I A HE RR REIS
MER BE BRE PEAR REAR EY HE PL A Be BRE ZA HEA LA
ME PAPE TM ROE BA ER A BS Ae in
AARP RAE TEE, ATARI ERAT ZR
YR TERA TITAN — BPH DIRS SO TT ACA AN A RT JK
RRR DE Dy RRALEAG A BEIE FY ME TR EE ECE 1-1 BEAR 0
STEER spree
att A | fan }
sft P ! ato el
Bit SUN
SOC PE RY RO dV A AS ASG PA
1-2) 0 HEART FA ic HB FPS A BR IB A — hfe AT A rh ve ET a
SA WG AE A Le iA A ER TT TP A PP
Saal
sate
R12 AcE ena ED MARC ASA HF D
FEA PR EAS I FDL SP BSC AR OS AR EDS EAP RR — HE
BARI AT BRIE 0 5 APE OE AREY ARAB, —2 (COMER ARIS B78 OF
ARLE Fh — PF AL, Ra TT
Spa CE A G5 TP PE
PORE TL FREI: PET RE BL NR ET A, FL
AE OOS FOREN LAE ER BD
SP ARAN AA FE PDE SD EE” ACL
BERR YEAE COM, COM, BUS PE at Se BL20) , JE XT fat ae AB PEK fT a A
AEE TG. DERE, Microsoft BOE BIT FER COM T , FEE AYE GE Microsolt 45
MO a EM BA SHAR Pet. AT Microsoft MILF Ora EE
FEABAHTT COM. Microsoft ff) AciteX SEALE T COM i BETEARL EY
AAPA SUOMI C++ REL COM SPE MERE ATH ME ONT, RAE
Se fo] RAST JAD SER DY COMM AL GR 2 we FP ARAL A
#" ATR Bie HEL.
AEEMIT HG COM HAT ANZA, PRATT FEAR — PE SELES Ae BH A, DIR
EAL RL PE TER
1.1 PRAHA
AE A PE A AE
HES BEIM, RCD) LAT ET I
SE, HULL AAFP RSE A SUPT HELL BAA CEE
1.1.1 BRBF Ea
‘EL 6 9 Bd PAG — A A A
EASED PE), DIEM FURET He a HA OL Ae RT HE, ERA
BERL REFILL AAT BE PT SER
mip mare
D3 MSA PRES RAPT en EA
AR BIE FP 2 BE. Ems,MGM 3
As BABE DL ATT es), RFD Pa 2 A ATE PA
cay
(PaO AB aE HM ELE EE PARSE ut AL Emacs (0 HER 1-3 PAU LEY
BWA oi TUF! 2 CARED Emacs, RAR OTL AAT RE
SEL Ha Hd RF 0
1.1.2 SFE
SAUER ARS | ATE BOY ER REP EB RT TE BABA
SEAT SEL EPP BBC a a OY LEE AL 3) — SS Bi I ST
BARD
F142 SLAP CER RC SET i A BR FB
SRE A ME a LEI SA RAS RA A ATT —
ROTOR, (LSE SADA AcitveX 2 (DUM RLARIE SE OLE FE PF) AUTE AE
ERIE, Visual Basic CC ++ ULE Java BFF RABAT DAFA AcitweX BEALL
SUSE UBER BL Webs TU WALT BE 284 TAR HH MFR SAS HE — A
PE LAR Smt , — PSE BE ARB SD IR TL A ME TL PE TE
1.1.3 Sista te
ALES SR A Be CH EH OR ta ha PE A YB
BER EHTEL RRO AM SPIN AT ABER IF BEAST
PAAR AG SERRE PILAR 3 RB RE RS PH AE
FURIE RA RTRSY PEED BUR Se BE ABSD
PERSE Fi A FIDBRIP AG HE WADA SAA BINS AGE I A
AREAS ES © MILD PMG NERF Ce RNP AT BA FSH
BORERRSY BEM, AE SF AE RE Lh DAS 1
HAS PER PARTE PA 3-5 “PSE CAEL PE D BC TP LL
“Ey AHL, CRAP T FLT IEE: Remoting CAM Remoting Do Fit rE AE4 7 COMBA RBZ B71 46
SEP FIA AS EAAELF 3e AOAR AL 98 $2 Component C Al Component Do A HbAL AE
CAL BRI I A a a TV 4 Pe fehl, Ne Pb
SUE TEEAL Ft. RGA SS AL EF, REBEL
HF) PEI
AEST RGA ET PTR
aH,
AF A L
BLS OP RSET Lee
ETE SRL OR ZS FO PRE A GR RAT
FORA PEER ALIFOL COM ALA) - TEAR.
1.2 MAR
(BFE PERS A TD hs A RE ST
FRAO HAA CARL BT Et. A A OAASEE, Bo, MB
ABA RTE RARCRAT, BERRA RBPEN ER, MRT RAE
ARLAASAEABA MH, SRLRAPREDAKM. (ADH, HSE
ISP AEE THE — 4 EME AY TGR TAT AS Be UE Hh EEL — TE PO
RAKE FRB WHER.
1.2.1 MASHER
BATT ee a HE A EP OB, LE
Ei ES SE EV EF FP i QR RE BO
REMMI EE DD. KOR LETT RA RAR TAB EN hs
ite.
Aa LR a Ase CS OEE BE LEA BE re PP A
PEJA TI ETT EE BFS FP BE HO Se ETA RE
RARRERET BF ET REM RS RT MA. ER
Sab RENE RP JL IAS EAP AD a AL
AVFT BEBE A REE PLT RADA CHEE OE RE He aEAE MER 5
Sea eR — amc El ARE BATHE DEA,
1.2.2 AS ea
FRRMKA—FHLATSHEE SRNR. HAR TNA Ee
SRA ME BEE As BORER 1 AP FS Bi LR BE AT RT
EIA SLERE LL Ao SARTO A AE PPE BS Hs RE ST GA
S RFRPRD PEA, DHARMA SRA SE, MRT
SELATAN BB A PAR EY BE SEL ERE TN ag BE
HUT RARE RE GR ES.
A LR AE BE, PE REAR, WS RR
ALPE SUR EAR AT SAS AE BB 2 BR ACER — Ee SE SE ET
HER, MURS LG RAE T ALISA LBA FE LAE HL AB CN PA as EEE
fale, SEA APA RE TEA A CEE AE REE PH ae BE
fT BE PELAR AN RL RE PRA A A BR TR AE Ze HS —
PHM Eto
PE FES) BIE Ss REE DE, A Be PB ET EE ME.
BX REE TIM A A RS A Ba BP BSS AS BR ET
Et ERUPT 0 PEE A A aR ee A: AH A A
TERE TTA BEE ETA EAN SAFER ABS LP Ae RO I AB DPE HT
em,
SAG Se J VDA EHF ERT FE TH
1 ARR OO ICSC BLT OR SRR. FEA PB Re LE 2
HEE AEE AAT A Soa PA SII RG SE FB i IR eA Se
Be PUTS] ARLE
2 PRR RUA BE RM AI SR BA SRA AE SE EB HE
BeaTIN EAR Be Sa ERE EL EET PBA GH
3 SALE RIL LA AE AR JEL BAAR Ft RF OR a As
BASEMAN E PS REHASH
4 PEPER ANS fie BR NBT DO SE SE FB
FEF — BEEP A aE aR AR PL OLR GAT Ae PORE ET hy ah,
BLS TAS RAL PAW WE — PPS) 9 BS, AR a a SO
IRA HDDS Be PRL Fi Be BH Eo
Fim PMG LR Ae6 CCOMBRABZ Bet 27
—. SAMAK
WEAR LIFE SB AEM FN EE, WR BE
SAT RLAEE RREROHN Objective C MMAR EM, RAK HRAAAE
ASA HORE EPS AE AE BORLA ROE C++. DUG RATT RAE
Cr+ SRS LEE SA Im BREE FT FR SH ef SP,
(BILE EspressoBeans ARATE, FRA RHGE C++ , ETE BANS. WT He
BLADE A BOM TK , RTE LS RT RSS PE NG RAT TARR
BAO AE. HI RATE TH ELA PRS PE RITE RRAD P S Oy F A
2B Visual Basie, 421 95 ef F-2 ft YES Ae PB FB CE fa — APG SLAG, CLA Visual
Basic, BORRMIM HET IE PPAF PIR.
ATS RARE (ET ASO DL SALE IF BR ee AR I
PEAY Ae AB TAREE, ASR AR AP EEK THT SH a ER
=. Aa
FEL Re 25 ABE FN Fad — PSP Se A
TET A TE EE, BORA
BLS BETO A BT SEAN A AE CEA 1-6, EE Ew PL
FF SOAS BLE FF
ENTE
S ans san |
mits RCHLP A ERR PHL a a HO
ELIE TD J SRE 9 Ea A A A eI I «BRT A HL A
ELIA FBR Bs BR Cv
TR iB — TF COM eRe Se ALF Hy TM ER
1.3. COM
COM BT ROL OEE TR. CHAT WEE HES
PATEL AE ERA BS — SR ME 0 Ba ERY FL PB A BE ES AE He] — PScor 7
PHY RGAE FE, 180, USAT VHS RR RR) RR APLAR ME IBZ HEAT SS
AdE WBE TE VCR LAE FLIS RRA, TED ACE SRG Bb RE AR A RE
FEIN. POMCIA +E SCARS LE the A — RE CE UT RC
ESE HR ERLE. BRT RANGA RE ER AT HEAR
Fela A a ee tH SR a PE A BE EE Ey FHT BAT A ME A Hol A HE A ts
fe. HEL Microsoh RARE T MBE, (EDK BAM PT RSE
SER MEH .)
COM BRIE A — DAM REL BRIE LS SOG ACEP TTF ETA A
PE. ART CD LARA MEM LA, ARS SABA COM
MEAT AMR?
1.3.1 COMMffPE------
COM SUFREEL Wind2 ahs BME (DLLs) BHT FT XH (EXEs) aE Sh BA AY A AT
FRASER AY GREE COM ISL 96. 65 A201 A BE EEE A BAT OR
COM SPEAR. COM HUH DLL HAF HSEREK, HM ARMNE AE
Bh AEA BE AL TPE ER WER ETER EAE ALTE RE
fH
BSE COM ALPE Sf AE A FE 5 ED tee Fate,
OD COMAMBHS HALA. (ET REA JA Ada Bl C BY Java Bl Module
3 Bl Oberon # Pascal $4] IAF BCAA FEL CE eT — Ai By AY Uk Be A BE
SARA HE, BA Smalltalk Visual Basic So SERB L , FRAT INA SE A BE
EGS EAA.
CO COM BAER Ls bi — Db IAS hE
O COMAFADARR RES PLT RAR, EIR PRMSH BL,
COM Set FSR] — 20 PEAR TA AS REIT IK
Ch COM APF RTA Ma te os A A RL
DR LMAFHAE TAM ATAR Al.
COM ALPES MI — FP oR MEH i AK A EAT EAE 0 ema COM fh 2 AH, AT
Chara RE A.
COM HL AE — Bi HE ih FP ERT RAPT BCI SBE OF
FE TR Ase ALTE FP AS a EE FP BS COM SPEAR LEIP
RF COM APB AC TARAS AB COM MAEM A SBA AE
Be
1.3.2 COM Ribs
COM IEEE —APTICULI 6 HE COM FUSER SCULPT ADM JEG ELA8 COMER ARIZ BF BF
‘PANE C++ Bl COM LIES RBA Ht ARN A COM A C++ 2S ABR
BB COM FBS OE Bn fo) eS a PF LOR GAT i RS IEE. TEAS
BP RUA C++ RIFE COM BLE.
45 COM fl DLL HL RRA IFES AY. SRL COM ABE ST DLL EAL
HECTARE RED. TEER AK ASE DLL Sha ERE AE HEE ITA COM, AF AT
FA DLL. See H84E — fo 38) af BD COM #14 EF HL AEB RE TTF BRT
49 COM AES, IEA AR SAAB DLL, REE COM ATLL AY BAT DLL.
COM 8 3F LR Wind? APLAR FEN — TRB. CIFRAR ARIAT MoveWindows
ROPES. (18 COM HSE ARE T Hea H+ PERU Sy FTAA EE , YT COM
HEEL — AMY OS iw TR APL IEEE AEA. COM HER
ISU Microsoft 34626 PF (MPC AS FEY C++ 2875 COM SRIF A BR EOE — PF
5A FeSO HE PEAY Dy Bs AL COM AR SESE AR OEE fo SEE
1.3.3 COME
COM ARIF ARLE — 8 APL Ee Ae ATR, COM BA — TE
RTEJE COM (COM Library) APT, 42 0EE9 AE HT Ze" ELE ABAR FT AEE
BRIS. Y7EIE Windows HSE FIFA COM PLA AIA EAS, BESCRB RE APL PR Kae ce Be
DRAB AL — PEACH ARE «COM AE AY PAAR ERE OT A AE A RFE AF
HATTER FAVS COM EL AT EL AEE Be A BR HE Ae AT BR Pe PB
Bl, COM FE AA SBR AT CH ARR LAE Po Windows 3 86 L 534 sh
COM(DCOM MIS RET — 2S | AL TAM. ATR
FE BA RATED 2 a 8 TT TW A A A fA a
1.3.4 COMAK
SPE AE TT COM RAGUSA ARE A TT LE SO
Be BAD AY DA-EE EE OTR HER bE FE (ol ae BIB Be OCOM PLETE. WSS
COM SIE, FEAL ASSET AE AE Windows 86 | SeBLA COM AU. AHAB Poy
FR PA ECID A LAR AY Si HLS BRA AU TEE AAT Windows 425.0 COM SES2 RSET #8 Pe til BEN AE
Ae DNA HDB Be LS EB — FP, COM FE — IE KS
PR RLEHREACCE COM SURE 49 3) 7 FEST REE
1.3.5 COMBE T AA HRE
COM HY LIA Th HOS 0 A A SL I PEERED DLL SR AT 483 FT A
BORLA. COM AABN fF — 28 F Be ORE AEE FFT LA Fe SF os ER TA
ROA HERE:KAGE 9
Cl RAT FA AaB aE HE,
OD FRAO TAA, 1 I TP TL
Oh BRAT DATA AU AS OL 0
O EX S—TSRAKWR.
D FRAO.
Hy SSR_EMB Fb COM BL FE 2A RT Be PSE Pa TE. COM TALE
S811 ACREAGE 8) COM Fe AR AB UAT
00M MER
FR COMO eanT MRMtRSLN Tem OnE, anttenmgns
RRR Tie A Se IESE A AE SO AS PERO FTL A
A SL PML ML Teh ERB TIA Micgnoot JSCAs CAK EE: OLS: OLE
1S Rs MAR COE) Fe a A NEBL A
COM. DDE SE /e Windows LEE RH RL a OA. NE DE, He BAB
BER CARROL IE. 1 DDE SEN ZO IF I OBE AT 08) DOE
LHS BR DOE WEARER. BAZ RA
wilt. : aes
: FAME RRR COM, FUME DoE ia, COM a. Ee dna ie RE,
HAR-NROLE AIR ST CAT T COM HEA RIBERA DDE; SKF COM BERT OLE
ORL, HOLE AR MRM COM RE, ARETE OLE 5
‘BO COM MHShA SEPP, F SERL ARIE OLE Sa ARE K AFIS, Ham Tas.
{BSI Mt F ROH COM HRI
SEM: OE WSS AUREL TA — aor nou, mes
Bi PL kN LA a He JRE
SPIEGEL MALIA «OLE RHR MA JM AR A SAR
‘ARMS Oe RET ERM RS CREP ES
WER. APACHE MET ALBA 2EA
ee
“ Migroselt BPS ah 8 Wi ab F COM one, Awennnn rere.
SMG —AER ABLE 085 COM IRAE COM AIRE IE :
1.4 BENG
PEL AEB AR SE BE I A Ae SL Hh ILA FE BA
ARSE TA RBH ABA i OE A ~— BLY aR I FA10 {OOM EARAR)Z Be Bee
MADRE REL EPO OTE FT SER UIE OY EE.
SRLS] LA LE A RE SEAL EA, FB SR ADL A A I I
the
COM BEGET S85 FHS — “PA EDT 0 EBS COM AR ME OY AL OD Bk BEA ARE DA TE:
FULL) BP ESE SE SIS SO SN AB LEE. 4 —P COM HIE
STATUS ARG. SORDURTT Sha A CREA AER PAL
2 COM JES RLS ANS PZ DL ERR SALINE FPR BLITZ
RAT AE SH TR LA Be SUT SEAR COM HEL759776
$2.8 2 ©
EHH AIMK CHL Alanis MLD) Mee T (TS 2 He BH Mir RTH A
PEAOATRG AT FE MLL LE TP IY A PE, BA PF) Mir LIB PE TE
BK. RETR TMA RP MORAL ANIA ERATE A
58 FL PEM COL RE A RAED DA IR HE HERE — OVW Bee
the ARAL BL, MK COLE TE EA . ARMA RE HAMA
PLLA A ALAR IBALL EL SRM HE ATR BSD EBT HE VW
“FE TAH SERA EE. ATR BIE AGS
EGFR APPEL AE RRR AR A A CTA A Ut
AREA, EMT BOE TF RB RT BR PE A J OS OR Lt
SPREE, CATE TERE 210 SER FUE ALL — A TT HE
(9, ALM LE TOBE PRL ABS EET
DLL, BEE 1-1 RAE Ge ea OY A 5 C+ AS Be TE BI OY — PBB
AEA A He CO A 7 COM HET SR DILL BR C++ BEAL COM HERE
428 BIA et PSH AE T COM RR EO
Ap RY BDL SESE, EP EHR A Se A — PS,
Sik, REF COM TY EY ETT RAEI As APRS, TA BP COM IEA KA SE
Ho RASPES IC AUTH C++ SCREAM TG AEA TUT FPA
FE C++ OP PUPAE MR MEE AIR COM HE BAT“ COM AUER
HA GEO ATMA RAMAN S RATS. ETA RT
BAT BS FRADE EI TK
FE RT EOE COM PM, REET. ERM,
RANGE PAPE ES ARR ER, RU RR EF COM i sr FL
ROMA.
2.1 #OA
COM PRAM. TRL ORB, TRE TROSRS BPR EL
HEDLAERA COM SEATS, FRAT LUE et TF — PT
BLAZED, CART SPE — TE PA EO 012 . (COM AWE 2
3s oP a A Pg A CE 2-1 A OP BE A
fh (HLS 2 ef AA a EO HER EL
RMR ROT TORE RI, Ae REO
RAN 5 21 ARE A a th THEI COM EEE,
ee
WS 21 FE COM HE RAR APH HE Hy ea
2.1.1 HAR RER RY
RAF CRA RRO RAT MA MI, REA, OR
HECOSR LATA CAR RE SEIR. LAT AFT ME EE RR IP AT Fh SR,
Zo PRR EN A HSC FLEE PE A C1 AB ZB FE YE. NO
SLAP ARREST 88 (tit HRP PA Bese HO TE. AUS JE en PP CER
FARRER UGE FEIT. PUREE CARE ACE IBZ LOTT 1 EER.
HECTARE PI REAR, BRIE TTR, BOE
APU EAS SG HG FE UA ST ER, BEATA RR I
FEAR. CURE A BRS EI 7A Hl, BUR PR LS ER
MASCARA ES PE. ADP DHE SIDR FORE BT
BABE HG ABUAEE HG DE MEP ERR IE BAT BRE EOS AL BEAL PR
MARA Le TA FIG DERI 22 Ba A
FB ES (8220481 ARI, PT LAL or BERS Fe FA SB LILA
Pee
AERTS MR — PE AO PI, COR ELE Ny ok
BAG IT 0 KARE PARA HUET BAB ACME 5 PR IER OUR Te a aCOM LE 13
OH DAE THA.
2.1.2 COM#AMH I A
RAFI TUE AO OSA, Hk, CATA a A EPL AE VW
Beetle b, AKA APSE» RERRUE AE Dy 7 RUA HBT LPR He BE SE EE
ARAL RENE, PAM, BORER READE ADE, BBA Bt KK LAS MMH ATE BAR HL. IE
= ESP TLR AKANE TL AE DEES aS. Bi
0, At BLT LA LEAT — PRE AT A BB IE A ATA
WE AS»
GCP A ELISE BE CURE ATT TTA OS UTR A AT
PEEK —AT Ho ERA TIC CULT OOO. Th FAL OL UE Bt
SAU BEB ed Be, DN SU AS FB BR I — AN BY AB Se CL
FE fol Rem, EEA SIS EE TA
BEB MAEM T LTE OBL S eb AH TET RF RE
EBL AOI ie LDU SER 5 EAR I RASS IAIN — BE
2.2 COM #AMSR
FG te I — TA. RSPR CAE GD DCL TY ESR hE
He
class 1X 77 first interface
{
public:
virtual void Fxi() = 05
virtual void 220) = 04
Ts
class IY 7/ Second interface
1
public:
virtual void Fy1Q
virtual void Fy2()
class CA: public 1, // Component
public TY
§
public:
// Tsplenentat:ion of abstract base class 1X
virtual void Fl() [cout << "PxI” << endl i}14 LOOM BR ABZ 2-8 Herr
virtual void Px2() cout << "Fx! << end? ;]
// Implementation of abstract base class IY
virtual void Pyl() {cout << "FyI” << endl ;}
1 {Virtual void E20) leout << “tye << ent #1
ELISHA EAT SBR AAI . hh UIE
SAR BONES, ie AEH = 0 BRI ATE HL TEE RAT BE oP
PEPER BH. AINE L MAT, PPA CID Pe By
Fy2 HEAT BUK, MURR BOR TE DRE ee OL, HET} ME CA ERT
PAP eR ALIS IX AL LY, IPS TE TUE EZ A A HE,
FEB IK AY HRA BH, CA PIT SER, FRRRRHL—TRARRR
TOA EATERS, TE CoH ASR FA PIRES MER, RB has
ATH, EARHEE RACE RS RMR,
BDA — i SR HER — Be, A A A eT
MEDS ET SOT A J BCR UO AG SH I A LER I mM
FRBISNE LE ERE ERNE TOR TRY FULT OR BR HO IE
BAT RTE FT HR AT AH
BEAR BP BRAT FOR BORLA BOAR Och COM SH ETE REE
TARR Ci — PRE, AER oak ME ELA — 8
Si. CARR EO AB — BPM Ak — HH, OL, AR
APRN, FS C++ SET RA ER,
SRE, EMMY DALY PARE ALIE RX 09 COM HELI, ARS Ay COM EO Ee
ATLA — A 29 known (80 FRO REBITIE Unknown #801 BEML ARS,
HOSES NS, ZEA aa RHEE se IX A TY BEE COM HRC,
2.2.1 MBSE
PARR OSH LRAT PERATURE. ln ABT
HEC SRO UTA, ASU — PET" OE IN RARE TRO x", TPES BRAT
‘Sees BRN 9°” , 4 CA Fea EAE A”,
PA AHA BP RAIER— TARE LR TK, MEAT Microsoft
Win32 AHI 38 TAL(SDK)*P ORJBASE.H SCHR HSE:
# define interface struct
ELISE UP GET struct (IRDA ZE F struct 8 AE A AU PE, UAE
BES Shes XO IML public NGF. 2M public RAF A VBP — AL. HL
FE, EP OSE Foy Rae NONECOM LER 15
#include //Use for # define interface struct
interface 1X
1
virtual void_stdeall Fxl()=0s
virtual void stdcall Fx2()=0;
is
interface TY
1
virtual void stécall FyL()=0;
virtual void_stdcall Fy2()=9;
Sy
ZEA OAC EO HE. 2-2 ET —-
22 RAMONE MRR
ESB Ly HEHE aR AG C+ + SEDAN Be 7 COM HE FIER
2.2.2 —Pse AF
SERA FE AD TY IR TE SERA SR ERS
FAV PL Ca ER Re REEL ET BF AG EE TIL TE 9 HE
RADARS MOL ASE. AERP EAE 2-1 P38 CA RT — TSE KA
TY BOA PE IE EP mains
(E(B Microsoft Visual C44 RASPES ICHEES, AIBA MOF aS:
cl Tface-cpp
TEACE.CPP.
BRK KOUTRAS.
a
/f Tiace.cpp
// to compile, use: cl Iface-cpp
“
# include < iostream.n>
Winclude —_// Define interface.
void trace(const char * pag) Icout << pMsq << endl if
7/ Rostract interfaces
interface TX16
KCOMRANMDS B27 a7
be
virtual void —stdeall FQ)
virtual void__stdeall FQ) =
interface IY
// Invertace implementation
virtual void stdcall FyI1Q) = 0;
virtual void—stdcall Py2() = 0
Class CA; public 1x,
i
public IY
publics
fe
// Implement interface TX,
virtual void_stdeall Fxl() {cout << "CAlF«I" << endl :|
virtual void_stdeall F2() {cout << "CAITR" << end? ;|
// wmplement interface TY,
virtual void_stéeall FyI() {cout << "cartFyI" << endl «i
virtual void_sterall Fy2() foout << “cal iy << endl ;/
// Client
int main()
trace("Client; Create an ingtance of the component:.") +
CA® pA = newCA;
(¢/ Get an 1X pointer.
Ix* pIk = pas
trace("CLient: Use the IX interface." +
pix~> Fxl() 5
pIX—> Fx2() ;
// Get an IY pointer.
Iy* pI¥ = ph;
trace("CLient: Use the TY interface.
pry -> Fy) 5
pIY—> Fy2() 3
trace("Client: Delete the component.
delete pa 5
return 0
LGR BEF RB IB 2com He . 7
Client; Create an instance of the component.
Client: Delete the component.
46 Pe A PO ae RG. EROS PA
TAT SR OX ALY, ARSE AE CA SCARE, MART DCR TY, SPSEBE
SR TR
EP sin, TB REN ALG — SC RIT PE TH EE «HH AT
ARIE EC AQAA FL C+ + SHS EE IB AE AD SM Gn PEP A I SH
BA FRE RSE
DO COMED C++ HRA AEN.
O —7 COM AA BEE TEN.
OC KA C4+ RS RI — POT ER ME LP
TE APR RXTE 08 OD, TRAE DB JL PEATE
FALSE TE PUPAE 2-1 PT Dy BS PE — ETE
—stdcall 38 Pascal FAH
ATR BL i _otdeall Aa, ESP LE Microsoft Xt ER —
we Eth TEER ‘Wind? AL LEFF A RRS A SF BE. BATA Bor-
land. Symantec LI 3 Watéom? Aa PERMA Ae, FAT—_atdloall ibe A BORE AE oe ERY
AN De NOG EE BA ZA SRO NBR, Pascal BMT TR
AL A JE — ISK. TAY C/C++ PT Ae Be fe
BRB, ALB YA PE A , M0 Visual Basic AGAR AAR RRS
SE, RIM SAM ET ‘Wind? API PAM, BRT ABS 18 45 EB OTL AEA
HAR NIR. PALS AAR CHIME. B_cdecl. Windows X
AS EMAINEHRAETRAVSTUBRS ROOK), AAEA—-TRALE
BY Windows BaF G40K REET.
Microsoft *F- £2 COM S11 SOLO A BRAS REE AAS. SRK
AUR CAE. RAMEE OSE A ye.
PERO TE. COMA TERA RA AUT A PCE FONE A FE
DAE Micro HME HERE BMF SERE COM ALFA AER AETE E AME Micmadt COM AN FEE THAT CHA
WAKER AOE18 . COMRADE 2A HL
a
‘deine SMD « tice}
2.2.3 JRO
AEA SCM RRA : BP Zi AR.
BBP 21 POS PB A A, PEI, PS PE A AE
VS CA HOSTEL TITAS JS ER OH OS EE RFRA DCA RR EE BER Ae PT
SAH CA ERGATA). HER CA MEA PARES ART OAT. HEL
SALT RE BOE EE Pe Ba aE, HHT BUEN Aa a A
AR MATRIC AYP RRR TE PR PES ET
SMG HAE SRC ce BEA RH OE
ERR ALPE EA SER ES 4 HS PP
FETE SAEED TBR AA ED OPER ACS TAP I ES
BR RATER HE FET BL, ZT UTA CA HEEL. RA OR,
HATE CA AAW,
BUR CA MSS FEDER LB RAE Oe EE, PE PR
FR PGT new fl delete, 3 S248 (5 1 DAS: fal FOE FIDL. new il delete ALAR JETE AL
ROM — ARS WE C4 AEA EERE, 4 BORE STR — PEO MASE
AR APART RRR ED. FB 6 ORT PREAH AN
FEM IF HH.
FBR AL RE EA 1 Pe PB OTIS
2.2.4 SRA
PPA 21 SNR — TEN C+4 BUY, CHRAAPARB SM, AR
HE BUTE. COM AAPA FE PA 6 TS AEE COM 4 28 PEAT OR A A
ANT TLR FT FAR. CEP RARE —COM TLE 19
—. SHEE .
PERE 21 PS CART ASAE. {COM PBA BRT C44 EA HE
+ COM PRR. EPR ETAT BS C+ SRR HAR EE
C4 SSH PLE, OO, A CRT REA BIAS, ELLE C+ +
TE RAEN A — EAE IEA BT FURL ROR SORA PPE SUB EB 0
=, ROPERS
CA BEART Ei SCIPS ET 1 COM FE BRA BOR SEER PR IS AIA BB PR
FURR TRE a PAE TW COM ARE IER BEBE RR ARLE —
SWE. BRT EEA REIL TAR PB Sh ET LAE
SL — MEO PRL SOAK Fh TE Kraig, Brockschmids 173 A {OLE 48 AL)
i ETRE LE API. — LAR FT — PS EA ORE RA, SP
$B IE ELOY E48 FH C++ BETT COM EE ARR.
=. SERORSHEK
SUT SRAM, PRS HRT TAS ER, TP
21 PCA RAS RARER TE BTS MR DCT, BOREAS HE
DAE ORE
23 — POI — RAO 50 PRE TER, Ti PH,
&- FARR20 (COMBA AMS M2 M07
SOAS TARA YL FA 0 Dp ZR BEAT IF) (SLE 2-3) 0
FERRIER, --MEO RP BR A, — MEL AEE — MEO, TOR
FRASER FRAC PTE DB, ALPE bi — BE tte
FAT) RR (RAE AT PA SC HEE AEE 7 LE WBE BE TN OT AB
SE ANE PE OF SC AE FU A A
A, Ame
EDP MEO EA A oO FB SAT
BRP ORS TRAE UH BBC PRB BY , COM MT ESEAR SED. BURY COM EOE
A Saab aE 5 PE TR A HEI AN I RR % BS,
BLE ERR E19 ART EH LRA RIERI ETHER FEI, TE
8 AR TR EE RR BY MEA,
FETE RS St ARIE RS ER, SEU RMSE RENAE
APH TTT LA GS FAH FH A eR
BET SPR Ii RRA TOR AS A EL SB A
PORE MUTT LARP RET ABH. BG, wT BL Le He An AS BR TI LS & a
BRK. SOF ih Kye HOHE TPy, A LAO KxyeFly ESS Fe
2.3 ORR: $—m>
FEA RGR 2 PE ERT A A ROT. EO
RATS SEX —- FES 9 BFE HY HLA Od «COM FEO ARE Ase Raa
2.3.1 POMS
BREE 21 POY BG BEAR AE AEA EA. ER LBC COM RO
BOARMZI, HAA T--THE BACARRA AE. SORES Ret,
AR SAE AE, ALIA AO HT, SRE A BR TL
SURAT HET Zb MEAT SERED PA tt Se HM a Hy 2 KS PT
PSSA MTC TMI eh, EF RIOR
2.3.2 SB
SEHMATURA HARA AR MMR, £ ARN EES ete
TELLS, BTA LALA HS HB Be PH DL FA TAD FE
BCA fet — PAL CALL PT DL A PO OA A
BMT GS A) DEH WF — A PE ECAH A, SP EN,UG 21
BR, BD GRORRR A ANT , ARE Ra ES TT. RE
RAR AGTE BS , CURES PEE, Att Ce AL EH OT EER EP A
EPUB 1 A FA 9 PR A SE
‘BASAL LL ANF SEM de — AR LS AAT, RT
Be LT PR Bi AR SE TS FE EE TE a
af AT SESE SEG SLIR NARA AT RYH OO Rea FT LA SA
‘SL IUAE, BAS BOR TT NLA LFS ABE A AES A
EASY AD AERA RTE PB SE HO 9 BEA
PH Viewer 99 59. 7PM PAPE. HCPA FSC — 4 28 Display EH COM AE
SHRM. Viewer QGHLIC Iisplay 2 OA ARETE SE, “MAE REFA Viewer 3.8 7 VRML
SC IL BG AY PEE LEAF Display $F AY COM 28 AE Ti Ao ar IE
Viewer 7S RAC. RALPH AS VRML CERAM. SURE a VRML CPP te
BERET ACER -LAF A AL Sar ET LPL — ia 0
SECA JED 1 FE I 8 J A A RO. EA CS BER 2h
BZN RIF SAA TM BORE SLAG A HE EP
FA RRS FY Dy ROAR ET VASE TAT I AE TB
Be ET ES He BO A OE RE EA A A SL
CE A Si LAS TGR OB SD SOA, SO SB ETF A
SPO HEC Display Pl ARIF A SAAT VRML FF RATER ERR Int HE
BEAL A) AFB AE A PE RP OH SE
RAEN HT 8 Pe IR AAT 0
SHRINES AE STMT RA. FRE
COM FECT BSUS AZ WL Be BAT HiT A DRIES HT MA FF
2.4 #088
APRA TCM ERE CB C++ ASR ESCM COMED, AT
GRIT Z LDR EIGER COM HE ETAT 4 RAT AEG oF a
iE AS PEEP BT DLA COM RRO BTR.
2.4.1 HER RR
SELENA BEE NAYES REOEA I, RRA IF AT
BORAGE — ACHAT AIS HOM AER 24 eA FRE KR
SORIA
interface 1X22 (OMEAABDA 2 at
virtual void —stdcall Fxl() =0 5;
virtual void —stdeall Fx2()
virtual void —stdcall Px3()
virtual void —stdcal? Fx4() =0 5
Is
FER — 7 Seta AR RIESE THE ESA, EUG REE OR A of Se
HEM RIES A BSTC. REISER TR ARE, EAR I TEAS
x
rr naernprame
see
=
[aro |
jaro |
Lae
RMR DORA
FHPUR ARON
24 WREATH
pIX— a vibl Hat
SRE 2-4 FLAG A — Ah HEISE PY EEE TL Sy BABS 2 4 BE
OL He BRB Be (web) , HEAP te — 2 BR ES EA veh 4 ASST
FIRS PIU Rx EBON AE IS SEE a Be Ra A A A
Fa— AAR vil HOF EL CAME abl FET) 5 TAG TA AEE a aT US a, ib RST
AUF ABLE ES COM HE 8 ALA SE PC + SERRE IC A
PESO IAL bt, PLU FR EE OK COM HE, MGR LUE IK BE
BED EMR, HEE — TP COM RU FEE COM
WORK MBC — TRI ME th FRE A ARR,
SRR TE TERE IR C++ MER 2-4 BE RANE KSEE PD
C++ 5 BFE I, ARE RT Be
KEW ETAERIO AES AIB LAL 2-4 SEA, BRAS Windows HORE C++ 9
VEEAB IRAN COM FIDL CFS TE Ay I,
WEF COME BAHAR. IN BAAD COM ERT ABER —
7a Waknown WH. RT WEEE TRUE. BURMA COM BOS
DRONE TRH ROOT TR PA} PLIES Mae Le whl ERE Ah OE TES
aM BOR,HUE 23
A SIARILAC VEY JEP RENT: [Unknowns 7 A SB SE A St KF RAT A
ED 3 RP HMIT IE.
2.4.2 vibl Ht RHR
SRA vabl $9 SH FRAP IE?
eel 45-4 fe BE SA A a ET ERE —
WT HOBIE ON SRA AH RTE HE
C++ RU PERB ROARS , SC Me HN YT A Se ET Se MAE AL tbl —
RFF FALMER OE CA EBL T HORS OR AEA EX
class CA; public IX
'
public:
//umlement interface 1X.
virtual void —stdcall Fx1() fcout << ‘Cart FxI” << endl +]
virtual void —stdeall Fx2() {cout << m_Fx2 << endl
virtual void _stdcall F3() {cout << m.m3 << endl
virtual void —stdcali Pxl() |cout << m_Fx4 << end) +
/fconstructor
ca(double d)
rm Pa(a¥d), m FxXd*d+d), m Fxt(dd*d*d)
ui
// iestance Data
double m_72 5
double m. 73 +
Gouble m_Exé 5
Va
StF ERAT UENO SA PERE, vib] A CA MERE AG SOF HAO 2-5 BRA. TE
“Be SE AAR LEA TSH SAT pA OD fh Te PBF A EB
SRL ARRAY, BLE PRET To
|
aP ERA
PA Fd) ¢
IX-> BxQ()
1
Ant maint)
|
// Create instance of CA.
CA® pA = new CA(L.789) +
77 Create instance of CR.
ce* pB = new CB;
// Get Dé pointer to CA.
TR* pIx = pag
foo(pIX) +
// Get. TX pointer to CB.
pix = BBS
foo(pEX) 5
t
LAH RAE CA CBRE KOK. RASS THAT. 2-7
SBT EPRI PSAP ES. BEL P SBA HR oT CE COM BRIE A — RAB AS
KK TAMER ER Zo
2-7 BAIT CAA CB HALA 9S: ACR wtb! EL SBA, 1 vibl
PSEA ATs THE AD NH RP A ad AE PE web PB oa
TBAT, MG a2 HEPA AN AEE ORG AE SS EP RB AH EI OF
EMA RE © RPT MRE HI EER Bl TI a
RRR, MAUR I—T UX EO EOS, EDU TELA Cae LT ,26 (COMB RAM) B28 wo
MEL Bde
ERLE
v4
=
a
BE
2-7 Wat eel aR Bla de NRO
2.5 BLS
EAR PRAHA — RE ESR, — TUR ES, BIBLE AT BL
SL EL Se ILA BLA i BP RO Be EE PR I
EMG HB 28 EB PED DAE A BE HR BIE WA RF A, BH EAR
ATT PT EA FB GE PR ESE PLT bk — sm HB
TIPRAT IMA T MUTE C++ HFRS SIEM RSME, C44 TR Aw
ABATE LHI TFS HET COM BED EER IY Te EAT
REIT Ht BET SAT SIR AR 1 LL BOT EE PARE EA
AERLIEDY COM FEO, COM Hi EDT WUE ABS = RM. SR HEB
vib] PAR STR. Ze FRCP RATE Tk = PR BCP I — PB Querylnerfaces$32 Querylnterface HA
MPTP ANS?
>
WK DAA?
>f
REALM
>
WAS ARAN?
>
SP ACBL A TERA ARE IE LER Anil, BP BEAR AS AL
AURA TABLE EDR WE, CSL RRL. TERRI Meat,
FRAP YL SABLA iy OR SPT RL Sa a — 9 AR TF
MRM DOB IRE A»
Hy THLE ABR, Ainmal FE ARB A — TIC. CES SER BR A
(OFF TIME ARTS A, TEATS, CHER RDS. AE
oo fA 9 AE LA FP ISD EY SE. AGAR TE
ERG TSAR NE BK HEART eR CORE A — HE A HL Ba
FFA PHBE A OF) 4p SDT 8 a A EF BA A
BP
FEAR IP RATS COM SPS FA Animal BEFAIEAAN 3M Animal
“BA IFAS th LP BAL A aa Ze COM PAAR RE — PFS BE
BMA. Py BES AI TS PE OE, PT ET
“ARF Amal (FEL "0 (5 (BRA FS ON AEE ABS OUR) 9 XLS, Animal 375 BLA EE HE
gah 0 OT, wT RT AT PN PE AEE T Me
ELK HEU BARR NEE BEBE Logo SFE. TETRA EULA Logo ieee
STAT Animal BF. TERT RAI RATA Ee BA 0B LAAT Te a SAH
PONT #4 OHM. AVA T Animal HAA — FSFE A FO ABR BA EA
AOWRSL SH SARI AK RE AMA BT. AFBI, Animal FF28 COM APTI 278 reryintentace ELE
HAEKR HABER F , AER A RI.
FPN FEY TEAL AB LR a Be POT A iA SE STS SIO A
PRR CT, AEST ORM HAZ IG PORTAL SAR RA ERPER, SE
F* AST REX HH HEA — TERA Tf PURE AE LOR TAT T RFE RET
HRM Animal MBAR ABIDE,
Ania YF i 304 A Ce FSS I Dy RN HO PO a A
ET ARE — Ah ROR, Py Be VAS RR AE AE PERT fe o> Tp —
eo HSE LPT APE AT OWRD WE PEAR EAT OOF AL
BERRA ATE IG. APF SURE ER OG A US LO PR te
FER ACETAL ES". CEA CARS OE PHO RAR BT UL PO AR
CAAA EET A Sod Fe ae REAR. PR OO OL OR
Sea.
FMD AM , BURCH AS BCH Ee EROS PB eR RN
SES EASORMTE . BOR Re RAHAT IER OH AE Xe E-G BAR SL
‘rMIF RAR BL PSR Ay
Fy SAGA FEL —AP A Uh FE i PP SE IN AE
3.1 #OAq
BAY COM RUBIA AFR SCARE THO OREO P 1, Bue tis —F
9 Gd — Att 2 Pe Oe ae ta SE
SMA Me MRO ERY. HEP a PR SCA
TTC FER. RMEO BME Woknowns TUnknown $871 i aX 0-4 26 Win32 SDK "Pity
UNKNWN. HH. yas ZEWE S| ANF ;
interface [Unknowns
1
virtual HRESULT —stdeall QueryTnterface(const, [1Dé iid,void** ppv) = 0:
virtual ULONG—stdcall AddRef() = 0;
virtual ULONG _stdcal? Release() =
te
MUnkeenn #22 T AH 9 Queryinterface HK. FF AT VLR FH Queryleneriace
DORAL EE ASME AHO, ARH BEATE Queryinerface, F —-BUGHTIE Ad-
ef Release, 3360-4 FECT PAL Pa ORE
3.1.1 ¥F Unknown
FER BVH Unknown 8 —E ES APOE LAH ANAAREBURG 29
PRAY LEAT ARAL EE— TRA", SHOES EER Y
FEE MALL, BATS COM HET BR BEM A Tnknown, LAA TE PAA — TP Dn
Known 42 CERISE , 2 FE ANH BEIM CE TOA BO eH PR RAT Ze SOU, PL
SHEER FY A PE BEAT To
HAF TAT COM HE CT ABBEIR T 1elenown, #5448 CTH vel AY a = TS oS AE
‘Queryintetface AddRef At Release( HOPE 3-1 FFAS). BEGET STAT MY COM BEC HB HY PL Be
TUnknown 820 3 SbT8. PPR wtbh PH OR BI = IBA EAE —
AP COM HET HT BTA AY HE ABE, TUnknown HEAR EY , FA st TAT IKE APSF Queryin-
terfoce PAMELA aE fi — P42 BAL OA Be FR DEIBCE S BE B
AAG CEE TA LAE FE Mnknown 48 $B PSE AS FS SE BR PR A
ERR tT
Ix
a Rae
CA
pix ‘Querylnterface Queryfaterfice
‘AdiRet Addie
Relewe Release
Fr Fx
B31 BRAT OY COM HEFT ARAL AA TUnknown $8 AR A, Da EE wb OP AS PB
Querylnwface Addief R Release
3.1.2 [Unknown #8 #1 HR
RAB Pt fo SIR — AH Fa] Unknown 4% EET OE? BARD HE —
Createlnstance HUSK ML. TA) LAE — AME PF FFE 1 —P WUnkown $24 0
TUnkown* CreateInstance();
‘TeOUREAL (FRE , % PAT BLE Createlnstance Wi 7 2+ (EH new BREA. TERR PR
ACD: AB BR — PIAS Ds A AA EM ZETA BOG
38 7 PER, COM MAFF TEI HK
FET ft T FEF A tal GOR — A Unknown St 2, FR A — FP
Querylnterface AERA TSHR Queryinterface
3.1.3 3¢F Querylnterface
TUnknown ‘Pf — 44 35 Querylnterface U4) il 06 28c, P* 0) DA sat 8 OK Ae HE
AER ARR MGR 6 HRA, Querylinterlace HE — “ME Probe ANd EE30 (COMB RAR) B78 Carylaterlace
BB PET US, PRE aE A Oa PR
QueryIntertace TBM.
HRESULT _stdcall QueryTnterface(const 11D6 iid, void** ppv) +
FOP MB —TSM BARE MOET. WEB BE RE” CD)
#698 6 BeRF BRESULT GUID SECS RRA PRAT EA IE ID. PROP
SABER — MARR OE. BI— MESH Querylnterface RH HR
ROTA.
Querylnterface 36 Ff HRESULT (fio HAH SE BSE IF ABR ICE PRT HE HO IE
REVERE, AR ERT EAA 32 HAH. Queryinterface FT VAI
S_OK 3 E_NOINTERFACE, % PR BLHE Queryinierface (1936 i (HH 2 FAK MAE
HES, HEAL FT SUCCEEDED 238 FAILED 4. FESS 6 Se APRA Te HRESULT.
FRANK —F Querylnterface J Sf $8 FAIS Re FESR St 8 EH Aa SAY 6
3.1.4 QueryInterface 1
ABE PAT T P48 MUkown ARSE pl, Zo ESET A OS PAE PF SCE PE
SEK FLDLAVH Querylnierface, JE Ae E— THEO PIRES AF Querylmerface HEHE Fl, A
ARAN EG ANI T 5 PRE RR AT AE A
void foo(TUnknown * pI)
\
// define a pointer for the interface.
IX® pIx = NULL 5
17 baie tor interface IK.
HRESULT he = pI-> QueryInterface(TID. IX, (void **) &pIX) 5
17 Check return value.
if (succrepep(hr))
t
// Use intertace.
BIK—-> FxQ)s
i
i
ALMA T RRM T pl CRS LH UD_ IX SPRUE. DIK fh
Re PR HD WE tS I RO HE 13
PUTER BK —
FER, TEWE Querylaterface 21 SLADE pix BUTE 29 NULL, At — A RE ABE
Pei. ENTS RAIS AB) Querylmtertace FF: HT AEE i HG Oa ST BEBaa 31
NULL, {11 Querylnterface Ee ALF AM AEH FEE RAY , BAL NAEP PT ESE Se
‘TEATRO A EAR EL Bs NULL, Avy 4a ERE RT
NULL HR.
HF MUTA Querylnerface (8) —-ME IE RAVI MEAS To RAR TET A — 8
Querylnterface 58 FINS SE Hy AR AY BETS AAPL HERR ATT a a AT A SE
Querylnterface.
3.1.5 QueryInterface A) IHL
Querylnterface S20 SC BRL FE Be BES AL “EE OF GE RL FAR AE I
0) TID i SS RA IR Et. PT SAY Pe NE DB I S_OK AR
FAREOSTR Sh. BAR CY, DAA: _ NOINTERFACE 36% 44 i 08 48 $138 Bl (8 Be
NULL. FP ii RUTH St #8 to 1S BAA CA TSCM AN ALIF PEN Queryinterface HR.
interface 1x tunknown [/* 2.08/15
interface Ty ; TUnknown [/*...#// 5
class CA; public IX, public ry 1/#...*/1
FCA RAKE 0 WERK MI 3-2 Bra.
* ~ xz
x wt
—s |
32 CARH OMMRRR
tana : : : :
: Fe Wikia ORR, Ae ARE AK tee ae
“FT OS AR Se A BE AE TREKS CA Querylnterface. JEM Querylnterface 6
SEB AT VAs el = Ap AS Wa) 1 A HE EE TUnkmown IX TV. Ah BE HE AY ABI (AY Tn
known 38 FABIA , BUR CA HEIR T BA Tnknown $8 01 SEP NS — PK AF IK,
THAT Wo
HRESULIP_stdeall CA::QueryInterface(const TIDE iid, void ** ppv)
432 CCOMBRAMIZ MI Guephatntice BE
if Gita == T1D_Tunknown)
i
7 the client wants the rUnknown interface.
“ppv = static. cast <1x* >(this) ;
'
else if (iid == 110.1)
// Toe client. wants the IX interface.
* ppv = static_cast<1x* >(this)
'
else if (iid == 11_1y)
t
// he client wants the IY interface,
*ppy = static. cast (this) 5
// We don't support the interface the client
// wonts. Be sure to set the resulting pointer
// %o NOLL.
* ppy = NOLL}
return B_ NOINTERFACE
1
‘Static_cast < [Unknown * >(* poy) -> AddRet() ; // See Chapter 4.
return $.0K i
!
EEDA , Quertylmterface SFE — 41 3208 if-then-else ay S350), AR ABIL AAE aT
REPT VHS — RST IL Sh} — Ap By J TL SOT FL
BAAR AIT Querylntertace, ZEMAN C1 ALS RF, BE
PUTTAR — Me, 1B case HAE ETH FO, RO Rh TR
Bo
CER PR LE ARR CAS Be SCE AT, Querylnteriace HF * ppv #29 NULL, ik — RARE
COM SRE Br BERS i A ASC TT PY JE — Bb HERA HEAR CGE SL BEG NULL ES
RELI LOT PA BE He — LA A RA AL ES
2 0 AINE Queryintertace MA HEISE AddRof Sci 34 FE RIE FA 2ESS 4 PRATT
SEM AddRef.
3.1.6 KFRHRKR
AY PATER BE ETS FEN this BT AR FETE ppw “Pat, RATA SET T SH)
SB PEPE pov POM AL ERA FLT AT, IAS this HATER —