You are on page 1of 311
COM i AR A Fe OKA PET RA [£] Dale Rogerson wHE F x & F me AS he at GH) 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 RH awa 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 RE 1.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 + 2b KCOMBAATDZ 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 aRRSS SSR 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 ARNE COME 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 I 12.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 BSS 5l 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 BE x (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 A ATEBIISROTE 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 oa P| 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 daBoars BRE 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 COM W 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 AE 4 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 aE AE 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 Ae 6 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] — PS cor 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 ELA 8 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 FA 10 {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 HEL 759776 $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 0 12 . (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 a COM 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 NONE COM 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 TX 16 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 2 com 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 AOE 18 . 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, &- FARR 20 (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 1X 22 (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 FF 28 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 ANAARE BURG 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 EE 30 (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 BE Baa 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) 4 32 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 —

You might also like