亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch16.htm

?? 用VC開發ACTIVEX書籍和隨書源碼
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Tue, Apr 15, 1997 2:22 PM-->
<HTML>

<HEAD>
<!-- This document was created from RTF source by rtftohtml version 3.0.1 -->

	<META NAME="GENERATOR" Content="Symantec Visual Page 1.0">
	<META NAME="Author" Content="Steph Mineart">
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
	<TITLE>Chapter 16</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF">

<H1>Chapter 16<BR>
Advanced Topics</H1>

<UL>
	<LI><A HREF="#Heading1">Advanced Topics</A>
	<UL>
		<LI><A HREF="#Heading2">Internet</A>
		<UL>
			<LI><A HREF="#Heading3">Internet Security</A>
			<LI><A HREF="#Heading4">Signing Software</A>
			<LI><A HREF="#Heading5">Internet Scripting</A>
			<LI><A HREF="#Heading6">Listing 16.1 JSVBSSAMP.HTM--Example of VBScript and JavaScript
			Using the &lt;SCRIPT&gt; Tag</A>
			<LI><A HREF="#Heading7">Listing 16.2 AREFSAMP.HTM--Example of JavaScript Using the
			&lt;A&gt; Tag</A>
			<LI><A HREF="#Heading8">Internet Component Download</A>
			<LI><A HREF="#Heading9">Listing 16.3 SAMPLEIE.HTM--Using an ActiveX Control in HTML
			Code</A>
			<LI><A HREF="#Heading10">Electronic Commerce</A>
		</UL>
		<LI><A HREF="#Heading11">Advanced COM</A>
		<UL>
			<LI><A HREF="#Heading12">Using C++ vtables to Describe Interfaces</A>
			<LI><A HREF="#Heading13">Listing 16.4 MSDEV\INCLUDE\UNKNWN.H--The Definition of the
			IUnknown Interface in C Is a Structure that Contains a Pointer to a Structure that
			Contains Pointers to Functions</A>
			<LI><A HREF="#Heading14">Listing 16.5 MSDEV\INCLUDE\UNKNWN.H--The Definition of an
			Interface in C++ Makes Use of C++ vtables</A>
			<LI><A HREF="#Heading15">Listing 16.6 INUMBER.H--The INumber Interface</A>
			<LI><A HREF="#Heading16">Listing 16.7 UMBER.H--The CNumber Class</A>
			<LI><A HREF="#Heading17">Listing 16.8 UMBER.CPP--CNumber::QueryInterface</A>
			<LI><A HREF="#Heading18">Listing 16.9 UMBER1.H--The CNumber1 Class: Multiple vtables</A>
			<LI><A HREF="#Heading19">Listing 16.10 UMBER1.CPP--CNumber1::QueryInterface</A>
			<LI><A HREF="#Heading20">Listing 16.11 MBER1.CPP--CNumber1::ImpINumber::QueryInterface</A>
			<LI><A HREF="#Heading21">Reusing ActiveX Objects with Aggregation</A>
			<LI><A HREF="#Heading22">Listing 16.12 UMBER2.H--CNumber2</A>
			<LI><A HREF="#Heading23">Listing 16.13 MBER2.CPP--CNumber2::CNumber2(LPUNKNOWN)</A>
			<LI><A HREF="#Heading24">Listing 16.14 BER2.CPP--CNumber2::ImpINumber::QueryInterface(),
			AddRef(), and Release() Are Delegated to pThis-&gt;m_pUnkOuter, Instead of pThis</A>
			<LI><A HREF="#Heading25">Listing 16.15 INUMBER.H--The IWholeNumber Interface</A>
			<LI><A HREF="#Heading26">Listing 16.16 UMBER3.H--CNumber3 Adds Init() and m_pUnkNumber</A>
			<LI><A HREF="#Heading27">Listing 16.17 UMFACT.CPP--CNumber3ClassFactory::CreateInstance
			Calls CNumber3::Init after Constructing the CNumber3 Object</A>
			<LI><A HREF="#Heading28">Listing 16.18 UMBER3.CPP--CNumber3::Init Creates the Aggregated
			Object</A>
			<LI><A HREF="#Heading29">Listing 16.19 UMBER3.CPP--CNumber3::QueryInterface</A>
			<LI><A HREF="#Heading30">Listing 16.20 Example Declaration of a Tear-Off Class</A>
			<LI><A HREF="#Heading31">Enumerators: An Interface Pattern for Sets</A>
			<LI><A HREF="#Heading32">Listing 16.21 Enumerator Pattern</A>
			<LI><A HREF="#Heading33">Listing 16.22 UMBERS.H--The CNumbers Enumerator Class</A>
			<LI><A HREF="#Heading34">Listing 16.23 UMBERS.CPP--Next</A>
			<LI><A HREF="#Heading35">Listing 16.24 UMBERS.CPP--Clone</A>
			<LI><A HREF="#Heading36">About the Samples</A>
		</UL>
		<LI><A HREF="#Heading37">Distributed Component Object Model (DCOM)</A>
		<LI><A HREF="#Heading38">OLE DB</A>
		<LI><A HREF="#Heading39">Threading</A>
		<UL>
			<LI><A HREF="#Heading40">Single-Threading and Multithreading</A>
		</UL>
		<LI><A HREF="#Heading41">Engineering for the Future</A>
		<LI><A HREF="#Heading42">From Here...</A>
	</UL>
</UL>

<P>
<HR SIZE="4">

<H1><A NAME="Heading1"></A>Advanced Topics</H1>

<UL>
	<LI><B>Internet security</B> 
<SPACER TYPE="VERTICAL" SIZE="2">
 Industry is taking steps to ensure safety and security for all users on the Internet
	for business and nonbusiness purposes. Advances in security are making the Internet
	an even more popular place for companies to do business. You can apply code signing
	to your ActiveX control to benefit you and your users.
	<P>
	<LI><B>Internet component download</B> 
<SPACER TYPE="VERTICAL" SIZE="2">
 Downloading and installing ActiveX controls on the client machine is important to
	ActiveX Internet technology.
	<P>
	<LI><B>Advanced COM</B> 
<SPACER TYPE="VERTICAL" SIZE="2">
 The majority of this book focuses on the basic aspects of COM. Aggregation is an
	example of an Advanced COM feature that you can implement within your applications.
	<P>
	<LI><B>DCOM and OLE DB</B> 
<SPACER TYPE="VERTICAL" SIZE="2">
 DCOM allows ActiveX components to run on different machines connected via a network.
	OLE DB is a set of APIs that provides COM-type access to many types of data.
	<P>
	<LI><B>Threading</B> 
<SPACER TYPE="VERTICAL" SIZE="2">
 Threading is a means of executing code concurrently within the same application.
</UL>

<P>This chapter introduces some of the advanced topics that could not be directly
addressed in the other chapters of this book. The topics covered here are important
to ActiveX development, and you should be aware of their impact and significance
in regards to your specific development. The topics are not covered in great detail;
in some cases, the technology is just emerging and still being developed. For example,
Internet security, OLE DB, and other technologies, such as threading and DCOM, are
too complex to address within the context of this book.</P>
<P>The intent of this chapter is to introduce you to the main concepts and reasons
behind a particular technology and allow you the choice of pursuing the technology
if it applies to you. You will learn about the Internet and how it applies to your
ActiveX control development. You will also learn how DCOM, threading, and OLE DB
apply to ActiveX.</P>
<P>The last section looks at what is coming out of Microsoft to better equip you
with the proper tools and technologies that make ActiveX what it is today and what
it will be in the future.
<H2><A NAME="Heading2"></A>Internet</H2>
<P>As was mentioned in <A HREF="ch01.htm">Chapter 1</A>, the term ActiveX originally
meant Activate the Internet. Microsoft has now expanded the term to include all COM/OLE
components and development. The Internet has been around for many years, but didn't
start to explode in popularity until recently. This explosion has expanded the use
of the Internet as more and more companies are slowly figuring out how to use this
medium safely and effectively.
<H3><A NAME="Heading3"></A>Internet Security</H3>
<P>Internet security is still in its infancy. Security is one of the major reasons
companies are slow to embrace the Internet. The two major security issues that still
exist are secure transmissions and ActiveX controls. Because the Internet is not
a direct connection from computer to computer, hackers can tamper with or steal information
during transmission fairly easily. ActiveX controls, for the most part, are downloaded
to the user's machine and then installed. This situation makes it easy for someone
to spread a virus via an ActiveX control in a Web page. Although Netscape led the
way with its secure servers, Microsoft is quickly catching up and is working on solving
these and other security issues.</P>
<P>One technology that Microsoft, Netscape, and other companies are developing is
secure channel technology. <I>Secure channel technology </I>provides secure transmissions
through the Secure Sockets Layer (SSL) and Private Communications Technology (PCT).
SSL, created by Netscape, provides users with authentication of the server they are
attaching to, encryption of the data sent and received, and integrity of the data
being sent and received. PCT, created by Microsoft, provides protection against eavesdropping
on a network or altering a network packet.</P>
<P>Microsoft and other vendors are developing a new standard that uses digital signatures
to identify the publisher of an object downloaded from the Internet and to certify
that it has not been tampered with. Microsoft has started implementing this in the
Microsoft Internet Explorer and the Microsoft ActiveX SDK. Microsoft Internet Explorer
has three safety levels: high, medium, and low. High will not download anything that
is not signed, medium asks users if they want to download an unsigned item, and low
downloads items whether they are signed or unsigned. Microsoft Internet Explorer
defaults to the high safety level. The Microsoft ActiveX SDK includes the Authenticode
utilities for signing an ActiveX control. You find out more about signing an ActiveX
control later in this chapter.</P>
<P>On the other side, Microsoft is working on something called Client Identification,
which provides a way for users to identify themselves to a Web server using a digital
certificate. These server and client digital certificates have to be obtained from
a Certificate Authority (CA) company, which are signed with the company's official
key.</P>
<P>Encryption is another technology that vendors are pursuing. Basically, data and
messages are scrambled and cannot be unscrambled except by someone who has a specific
key. Microsoft has produced a set of encryption APIs, called the CryptoAPI, which
it includes in its Win32 SDK.</P>
<P>Other companies, along with Microsoft, are also trying to set standards for security.
One such standard recently developed is the Secure Electronic Transactions (SET)
standard. SET, a standard for securing a payment transaction over the Internet, was
developed by Microsoft, Netscape, Visa, MasterCard, IBM, and GTE. Microsoft is currently
trying to develop another standard called the Secure Transport Layer Protocol (STLP),
which Microsoft hopes will be a combination of the Netscape SSL technology and the
Microsoft PCT technology. Microsoft is also trying to develop its Personal Information
Exchange (PFX) standard, which is a standard for transferring personal security information
from one machine to another. Currently, security information such as certificates
and keys must be set up separately on each machine.</P>
<P>More information can be obtained from Microsoft's Web site (<A HREF="http://www.microsoft.com"><B>http://www.microsoft.com</B></A>)
or Netscape's Web site (<A HREF="http://home.netscape.com"><B>http://home.netscape.com</B></A>).
At the time of publication, Microsoft's security specific information was found at
<A HREF="http://www.microsoft.com/intdev/security/"><B>http://www.microsoft.com/intdev/security/</B></A>.
Netscape's security information is scattered throughout its site. Use Microsoft's
Search and Contents page to locate security information. These sites should be watched
closely for information on this ever-changing technology.
<H3><A NAME="Heading4"></A>Signing Software</H3>
<P>As mentioned earlier, Microsoft and other vendors are developing a new standard
that uses digital signatures to identify the publisher of an object downloaded from
the Internet and to ensure that the object has not been tampered with. This process
is referred to as code signing. This digital signature contains specific information
about the company and is signed by a trusted certificate authority. The information
is thoroughly checked before being signed. If a piece of code or data wreaks havoc
with your system, you can trace it back to an individual or company with the information
contained in the signature.</P>
<P>The use of digital signatures allows users to have the same comfort level they
have when they purchase software in a box. If you purchase a software package from
a retail outlet and it causes problems, you know who manufactured the software and
can hold them accountable. Digital signatures allows for the same level of accountability
with software that is downloaded from the Internet. Companies that digitally sign
their products have the added benefit of providing to their users a commitment to
quality and security, which in turn translates into consumer trust of the companies'
products.</P>
<P>Code signing requires the following steps:

<OL>
	<LI>A Software publisher applies for credentials from a Certificate Authority (CA).
	<P>
	<LI>The application basically consists of the software company's personal information
	and its public and private encryption keys.
	<P>
	<LI>After the application is completed, the CA will verify the publisher's information
	in approximately one week.
	<P>
	<LI>After the information is verified, the CA will create an X.509 industry standard
	certificate that includes the publisher's public key.
	<P>
	<LI>The private key is held by the software publisher and kept secret. A copy of
	the certificate is sent to the publisher. The publisher will include this certificate
	in any code that it signs with the private key.
	<P>
	<LI>The publisher uses the Authenticode utilities to create a digital signature with
	its private key.
	<P>
	<LI>A PKCS#7 signature file is created containing the code to be published, the X.509
	certificate received from the CA, and the publisher's digital signature.
</OL>

<P>Microsoft is trying to develop standards for the preceding process. For more information
on Microsoft's effort to develop the standards and more detailed information on code
signing, check out the help files on signing in the ActiveX SDK and Microsoft's Internet
security page mentioned before.
<H3><A NAME="Heading5"></A>Internet Scripting</H3>
<P>When creating Web pages, a developer needs a way to create online content and
link and automate various objects, such as Java applets or ActiveX controls. These
objectives are accomplished with scripting. <I>Scripting</I> is an interpretive programming
language used with HTML.</P>
<P>Two scripting languages exist today: Microsoft Visual Basic Scripting Edition
(VBScript) and Netscape JavaScript. VBScript imitates Visual Basic (VB), and JavaScript
imitates the Java language, as the names imply. Both Netscape Navigator and the Microsoft
Internet Explorer read JavaScript, but Netscape Navigator will not read VBScript
unless the ScriptActive plug-in from NCompass Labs is used to convert the VBScript
to JavaScript. Unfortunately, ScriptActive does not support all parts of VBScript,
such as forms, write, and writeln. To find out what is and is not supported, view
the NCompass &quot;Authoring ActiveX Controls for the NCompass Plug-ins&quot; document
at <A HREF="http://www.ncompasslabs.com/documents/authoring.htm"><B>http://www.ncompasslabs.com/documents/authoring.htm</B></A>.
Because this is only version 1.0 of the ScriptActive plug-in, more VBScript features
should be available in the future. If your users use both Microsoft Internet Explorer

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区高清| 亚洲成av人片| 一区二区三区中文字幕精品精品 | 国产精品美女久久久久久久久久久 | 精品视频一区二区三区免费| 91.com在线观看| 国产欧美日韩另类一区| 一区二区三区蜜桃| 日韩成人一区二区| 成人av动漫在线| 欧美一区二区在线观看| 国产亚洲综合性久久久影院| 亚洲乱码国产乱码精品精98午夜| 图片区小说区区亚洲影院| 国产美女精品在线| 欧洲另类一二三四区| 日韩美一区二区三区| 亚洲精品免费视频| 国产在线麻豆精品观看| 欧美日韩一区二区欧美激情| 欧美国产日韩a欧美在线观看| 午夜精品免费在线观看| 国产久卡久卡久卡久卡视频精品| 久久99日本精品| 欧美午夜不卡在线观看免费| 中文字幕精品一区| 欧美aaa在线| 欧美日韩精品一区视频| 日韩理论片中文av| 懂色中文一区二区在线播放| 91精品在线免费| 亚洲一区二区三区美女| 精品一区二区在线看| 欧美高清www午色夜在线视频| 中文字幕一区二区三区在线观看| 久久精品理论片| 91精品国产综合久久福利软件| 亚洲日本va午夜在线影院| 国产资源精品在线观看| 欧美一区二区美女| 樱桃视频在线观看一区| 丁香婷婷综合五月| 精品免费日韩av| 亚洲韩国精品一区| 欧美系列日韩一区| 一区二区三区在线观看国产| 99国产精品久| 亚洲色图视频网站| 91小视频免费观看| 自拍偷拍国产精品| 99国产精品久久久久久久久久久| 国产精品久久久久aaaa樱花| 懂色av一区二区在线播放| 久久久99精品久久| 国产91精品一区二区麻豆亚洲| 久久久久97国产精华液好用吗| 精品一区二区三区免费观看| 日韩一二三四区| 美腿丝袜亚洲综合| 久久久久综合网| 国产精品123| 久久久久久免费网| zzijzzij亚洲日本少妇熟睡| 国产精品成人在线观看| 国产aⅴ综合色| 国产精品久久久久久久久搜平片| 国产一区二区三区在线看麻豆| 国产日本一区二区| 99re6这里只有精品视频在线观看| **性色生活片久久毛片| 欧美性猛片xxxx免费看久爱| 日韩精品一级二级| 久久久噜噜噜久噜久久综合| 成人免费看片app下载| 最新日韩av在线| 欧美日韩1234| 国产一区二区中文字幕| 中文字幕一区二区日韩精品绯色| 欧美视频一区在线| 久久国产免费看| 亚洲色图一区二区| 日韩欧美国产三级| jlzzjlzz国产精品久久| 五月婷婷综合在线| 91精品国产综合久久精品性色| 国产综合久久久久久鬼色| 国产精品国产精品国产专区不蜜| 99免费精品视频| 日韩av中文在线观看| 国产精品视频在线看| 欧美日韩国产首页在线观看| 精品一区二区三区在线播放视频 | 亚洲男帅同性gay1069| 8x8x8国产精品| 99久久er热在这里只有精品15| 日韩高清不卡在线| 亚洲视频图片小说| 欧美成人女星排名| 99久久精品久久久久久清纯| 日本免费新一区视频| 亚洲婷婷综合久久一本伊一区| 日韩精品一区二区三区中文不卡| 91网站在线播放| 国产成人精品影院| 免费成人美女在线观看| 亚洲欧洲av另类| 欧美一区二区三区成人| 国产精品99久久久久久似苏梦涵 | 精品视频在线免费观看| 日韩电影免费在线看| 亚洲日本va午夜在线电影| 精品福利av导航| 正在播放亚洲一区| 欧美天天综合网| 91在线高清观看| 国产成人免费高清| 日本一不卡视频| 亚洲婷婷国产精品电影人久久| 国产午夜亚洲精品午夜鲁丝片| 56国语精品自产拍在线观看| 97久久超碰国产精品| 成人午夜电影久久影院| 日本不卡的三区四区五区| 一区二区三区在线免费| 中文字幕一区在线观看| 国产视频一区在线观看 | 99re热这里只有精品免费视频| 精品亚洲成av人在线观看| 日本不卡一二三| 日本va欧美va精品| 日韩av高清在线观看| 亚洲一区视频在线| 亚洲国产欧美另类丝袜| 亚洲影视在线观看| 亚洲一区二区欧美日韩| 国产精品国产精品国产专区不蜜| 日韩欧美一区二区在线视频| 色哟哟亚洲精品| 欧美自拍丝袜亚洲| 欧美视频一区在线观看| 欧美美女黄视频| 日韩欧美色综合网站| 欧美大肚乱孕交hd孕妇| 久久婷婷久久一区二区三区| 久久亚洲一级片| 国产精品天美传媒| 亚洲私人黄色宅男| 一区二区三区在线视频免费观看| 亚洲综合色自拍一区| 日韩精品色哟哟| 精品影视av免费| 成人av免费在线播放| 日本道精品一区二区三区| 欧美影院午夜播放| 色婷婷狠狠综合| 色素色在线综合| 欧美性xxxxx极品少妇| 91精品久久久久久蜜臀| 国产视频不卡一区| 亚洲精品va在线观看| 日本成人在线网站| 国产精品一级片在线观看| 97久久久精品综合88久久| 欧美日本在线视频| 国产片一区二区| 亚洲综合色在线| 激情久久久久久久久久久久久久久久| 国产精品一区二区免费不卡| 91麻豆免费看| 欧美videos中文字幕| 中文字幕中文字幕一区| 亚洲va欧美va人人爽午夜| 久久99精品久久久久久久久久久久| 国产成人啪免费观看软件| 91黄视频在线| 中文字幕亚洲一区二区av在线 | 国产麻豆精品一区二区| 欧美精品一二三区| 亚洲啪啪综合av一区二区三区| 国产成人av网站| 精品国产污网站| 日本欧美在线看| 欧美日韩精品电影| 一区二区三区在线免费| 91在线播放网址| 亚洲特黄一级片| 91在线免费视频观看| 国产女主播视频一区二区| 久久se精品一区精品二区| 91精品国产综合久久国产大片| 午夜一区二区三区在线观看| 色婷婷av一区二区三区软件| 18欧美亚洲精品| 波多野结衣中文字幕一区二区三区| xnxx国产精品| 精品一区二区三区在线播放| 日韩精品一区二区三区四区| 日本aⅴ亚洲精品中文乱码| 777色狠狠一区二区三区| 天堂av在线一区|