ANON.SERVICES ANON.SERVICES

File Details

Back to Folder
ID9e175793-9485-4a72-a662-4b787f935917
Filename Release Notes and Redistribution Guidelines.htm Release Notes and Redistribution Guidelines.htm
Size60.06 KB
Uploaded2025-03-07 08:44:55
Downloads0
MIME Typetext/html
Hashes
  • CRC32: a2e7f6ef
  • MD5: 22bea1f083088c6ddfec7cb9d542b4d6
  • SHA1: 5f51578f568faac6c5cb1895f0f094922b74512a
  • SHA256: 42779e0330c42a7b80b93bf673f78156edd759d342b727769881d6b02121dbfa

Download file


Preview (text)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0088)http://web.archive.org/web/20030211102547/www.microsoft.com/com/dcom/dcom98/relnotes.asp -->
<HTML><HEAD><TITLE>Microsoft DCOM98 for Windows 98, version 1.3 - Release Notes and Redistribution Guidelines</TITLE>
<META name=DESCRIPTION 
content="DCOM98 1.3 extends support for Distributed Component Object Model (DCOM) for Microsoft Windows 98. Several new enhancements and additions have been made to this release of Component Object Model (COM) components and OLE for Windows 98, DCOM98 1.3. In addition, the instructions, guidelines, and features for DCOM98 1.3 have also been updated. As with any download, reading the release notes prior to downloading the product is recommended.">
<META name=KEYWORDS 
content="DCOM, Distributed COM, DCOM for Windows 98; DCOM98, DCOM 98 1.3 Release Notes, installation notes, known issues in DCOM98, known issues in DCOM, known issues in DCOM 98, bug fixes in DCOM98, bug fixes in DCOM 98, bug fixes in DCOM, uninstallind DCOM98, uninstalling DCOM 98, uninstalling DCOM, installing DCOM98, installing DCOM 98, installing DCOM, downloading and extracting DCOM98, extracting DCOM98, extracting DCOM98, extracting DCOM, developer notes for DCOM 98, developer notes for DCOM, developer notes for DCOM98, support and resources for DCOM, DCOM support, DCOM resources">
<META name=MS.LOCALE content=EN-US>
<META content="text/html; charset=iso8859-1" http-equiv=Content-Type>
<SCRIPT language=javascript>
<!--
function newitem(str)
{
	endDate = new Date(str)
	if (Date.parse(Date()) < Date.parse(endDate))
	{
		document.write('<IMG SRC="/com/images/new.gif" WIDTH="33" HEIGHT="13" BORDER="0" ALT="New">')
	}
}

function updateitem(str)
{
	endDate = new Date(str)
	if (Date.parse(Date()) < Date.parse(endDate))
	{
		document.write('<IMG SRC="/com/images/rev.gif" WIDTH="48" HEIGHT="13" BORDER="0" ALT="Updated">')
	}
}
//-->
</SCRIPT>

<SCRIPT><!--
//alert("ia_archiver");
//--></SCRIPT>

<META name=GENERATOR content="MSHTML 8.00.7600.16700"></HEAD>
<BODY aLink=#003399 leftMargin=0 link=#003399 topMargin=0 bgColor=#ffffff 
text=#000000 vLink=#666600 MARGINHEIGHT="0" MARGINWIDTH="0"><!-- Start: ToolBar V2.0-->
<SCRIPT language=JavaScript 
src="Release%20Notes%20and%20Redistribution%20Guidelines_files/toolbar.js"></SCRIPT>

<SCRIPT language=JavaScript 
src="Release%20Notes%20and%20Redistribution%20Guidelines_files/global.js"></SCRIPT>

<SCRIPT language=JavaScript>
var ToolBar_Supported = ToolBar_Supported ;
if (ToolBar_Supported != null && ToolBar_Supported == true)
{
//To Turn on/off Frame support, set Frame_Supported = true/false.
Frame_Supported = false;

// Customize default ICP menu color - bgColor, fontColor, mouseoverColor
setDefaultICPMenuColor("#336699", "#ffffff", "#FFCC00");

// Customize toolbar background color
setToolbarBGColor("#ffffff");

// display ICP Banner
setICPBanner("/com/images/resource.gif","","Microsoft DCOM98 for Windows 98, version 1.3 - Release Notes and Redistribution Guidelines") ;

addICPMenu("m1", "COM Home", "Click here to return to the COM Home Page", "/com/default.asp");
addICPSubMenu("m1", "COM Home Page", "/com/default.asp");
addICPSubMenu("m1", "COM Site Map", "/com/sitemap.asp");
addICPSubMenu("m1", "About COM", "/com/about.asp");
addICPMenu("m2", "Events and Training", "", "/com/resources/events_training.asp");
addICPSubMenu("m2", "Events", "/com/news/events.asp");
addICPSubMenu("m2", "Books", "/com/resources/books.asp");
addICPMenu("m3", "COM Support", "", "/com/resources/support.asp");
addICPSubMenu("m3", "COM Security FAQ", "http://support.microsoft.com/support/kb/articles/Q158/5/08.asp");
addICPSubMenu("m3", "Service Packs", "/isapi/gosupport.asp?TARGET=/support/ntserver/default-sl.asp?RLD=16");
addICPSubMenu("m3", "Mailing Lists", "/isapi/gomsdn.asp?TARGET=/workshop/essentials/mail.asp#mailing");
addICPSubMenu("m3", "Newsgroups", "/isapi/gomsdn.asp?TARGET=/workshop/essentials/mail.asp#news");
addICPMenu("m4", "MSDN Online", "", "/isapi/gomsdn.asp?TARGET=/default.asp");
addICPSubMenu("m4", "Home", "/isapi/gomsdn.asp?TARGET=/default.asp");
addICPSubMenu("m4", "Voices", "/isapi/gomsdn.asp?TARGET=/voices/default.asp");
addICPSubMenu("m4", "Libraries", "/isapi/gomsdn.asp?TARGET=/resources/libraries.asp");
addICPSubMenu("m4", "Community", "/isapi/gomsdn.asp?TARGET=/community/default.asp");
addICPSubMenu("m4", "Downloads", "/isapi/gomsdn.asp?TARGET=/downloads/default.asp");
addICPSubMenu("m4", "Site Guide", "/isapi/gomsdn.asp?TARGET=/siteguide/default.asp");
addICPSubMenu("m4", "Search MSDN", "/isapi/gosearch.asp?TARGET=/us/dev/");
addICPMenu("m5", "Developer Products", "", "/isapi/gomsdn.asp?TARGET=/vstudio/default.asp");
addICPSubMenu("m5", "Visual Studio", "/isapi/gomsdn.asp?TARGET=/vstudio/default.asp");
addICPSubMenu("m5", "Visual Basic", "/isapi/gomsdn.asp?TARGET=/vbasic/default.asp");
addICPSubMenu("m5", "Visual C++", "/isapi/gomsdn.asp?TARGET=/visualc/default.asp");
addICPSubMenu("m5", "Visual FoxPro", "/isapi/gomsdn.asp?TARGET=/vfoxpro/default.asp");
addICPSubMenu("m5", "Visual InterDev", "/isapi/gomsdn.asp?TARGET=/vinterdev/default.asp");
addICPSubMenu("m5", "Visual J++", "/isapi/gomsdn.asp?TARGET=/visualj/default.asp");
addICPSubMenu("m5", "Visual SourceSafe", "/isapi/gomsdn.asp?TARGET=/ssafe/default.asp");

}

<!--TOOLBAR_START--><!--TOOLBAR_EXEMPT--><!--TOOLBAR_END-->

</SCRIPT>
<!-- Start: ToolBar for down-level browsers-->
<DIV id=TBDownLevelDiv>
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" bgColor=#ffffff>
  <TBODY>
  <TR>
    <TD height=60 vAlign=top rowSpan=2 width=250><A 
      href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/" 
      target=_top><IMG border=0 src="" width=230 height=59></A></TD>
    <TD height=20 vAlign=top align=right><IMG border=0 
      src="Release%20Notes%20and%20Redistribution%20Guidelines_files/curve.htm" 
      width=18 height=20></TD>
    <TD bgColor=#000000 height=20 vAlign=center colSpan=2 noWrap 
      align=right><FONT color=#ffffff size=1 
      face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
      style="FONT: x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
      href="http://www.microsoft.com.wstub.archive.org/isapi/gomscom.asp?target=/support/" 
      target=_top><FONT color=#ffffff>Support</FONT></A>&nbsp;&nbsp;<FONT 
      color=#ffffff>|</FONT> &nbsp;&nbsp;<A 
      style="FONT: x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
      href="http://www.microsoft.com.wstub.archive.org/isapi/gosearch.asp?target=/" 
      target=_top><FONT color=#ffffff>Search</FONT></A>&nbsp;&nbsp;<FONT 
      color=#ffffff>|</FONT> &nbsp;&nbsp;<A 
      style="FONT: x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
      href="http://www.microsoft.com.wstub.archive.org/isapi/gomscom.asp?target=/" 
      target=_top><FONT color=#ffffff>microsoft.com Guide</FONT></A>&nbsp;&nbsp; 
      </B></FONT></TD></TR>
  <TR>
    <TD height=40 vAlign=top width=19>&nbsp;</TD>
    <TD height=40 vAlign=top colSpan=2 noWrap align=right><!--<IMG SRC='http://www.microsoft.com/library/toolbar/images/ads/ad.gif' BORDER=0>--><A 
      href="http://www.microsoft.com.wstub.archive.org/isapi/gomscom.asp?target=/" 
      target=_top><IMG border=0 
      src="Release%20Notes%20and%20Redistribution%20Guidelines_files/mslogo.gif" 
      width=112 height=40></A></TD></TR>
  <TR><!-- Start: Local menus -->
    <TD bgColor=#336699 height=20 vAlign=center colSpan=4 noWrap>
      <TABLE border=0 cellSpacing=0 cellPadding=0>
        <TBODY>
        <TR>
          <TD bgColor=#336699><FONT color=#ffffff size=1 
            face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
            style="FONT: bold x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
            href="http://www.microsoft.com.wstub.archive.org/com/default.asp" 
            target=_top><FONT color=#ffffff>COM 
            Home</FONT></A>&nbsp;&nbsp;</B></FONT></TD>
          <TD><FONT color=#ffffff size=1 
          face="Verdana, Arial"><B>|</B></FONT></TD>
          <TD bgColor=#336699><FONT color=#ffffff size=1 
            face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
            style="FONT: bold x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
            href="http://www.microsoft.com.wstub.archive.org/com/resources/events_training.asp" 
            target=_top><FONT color=#ffffff>Events and 
            Training</FONT></A>&nbsp;&nbsp;</B></FONT></TD>
          <TD><FONT color=#ffffff size=1 
          face="Verdana, Arial"><B>|</B></FONT></TD>
          <TD bgColor=#336699><FONT color=#ffffff size=1 
            face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
            style="FONT: bold x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
            href="http://www.microsoft.com.wstub.archive.org/com/resources/support.asp" 
            target=_top><FONT color=#ffffff>COM 
            Support</FONT></A>&nbsp;&nbsp;</B></FONT></TD>
          <TD><FONT color=#ffffff size=1 
          face="Verdana, Arial"><B>|</B></FONT></TD>
          <TD bgColor=#336699><FONT color=#ffffff size=1 
            face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
            style="FONT: bold x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
            href="http://www.microsoft.com.wstub.archive.org/isapi/gomsdn.asp?TARGET=/default.asp" 
            target=_top><FONT color=#ffffff>MSDN 
            Online</FONT></A>&nbsp;&nbsp;</B></FONT></TD>
          <TD><FONT color=#ffffff size=1 
          face="Verdana, Arial"><B>|</B></FONT></TD>
          <TD bgColor=#336699><FONT color=#ffffff size=1 
            face="Verdana, Arial"><B>&nbsp;&nbsp;<A 
            style="FONT: bold x-small Verdana, Arial, Helvetica, sans-serif; COLOR: #ffffff; TEXT-DECORATION: none" 
            href="http://www.microsoft.com.wstub.archive.org/isapi/gomsdn.asp?TARGET=/vstudio/default.asp" 
            target=_top><FONT color=#ffffff>Developer 
            Products</FONT></A>&nbsp;&nbsp;</B></FONT></TD></TR></TBODY></TABLE></TD><!-- End: Local menus --></TR></TBODY></TABLE></DIV><!-- End: ToolBar For old browsers-->
<SCRIPT language=JavaScript>
<!--// Hide from old browsers

var ToolBar_Supported = ToolBar_Supported;
if (ToolBar_Supported != null && ToolBar_Supported == true)
{
	TBDownLevelDiv.style.display ='none';

	// To change current page ICP banner, pass the appropriate values to the 
	// function: setICPBanner (BannerGif, BannerUrl, BannerAltStr).
	// For example,
	//setICPBanner("/library/homepage/images/bnr_all.gif","","microsoft.com Home");

	drawToolbar();

	// To highlight current menu button, pass the appropriate values to the 
	// function: setICPMenuColor(MenuIDStr, bgColor, fontColor, mouseoverColor).
	// For example,
	// setICPMenuColor("HomeMenu", "blue", "", "");
}

//-->
</SCRIPT>
<!-- End: ToolBar V2.0--><!--TOOLBAR_START--><!--TOOLBAR_EXEMPT--><!--TOOLBAR_END-->
<TABLE border=0 cellSpacing=0 cellPadding=0 width="100%" height="100%">
  <TBODY>
  <TR>
    <TD bgColor=#ffffff vAlign=top width=180>
      <DIV style="MARGIN-TOP: 2pt"></DIV>&nbsp;<IMG id=OUT1i class=LEVEL1 src="" 
      width=9 height=9 ?>&nbsp;<B><FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A 
      class=LEVEL1>News</A></FONT></B><BR>
      <DIV id=OUT1s>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT color=#000000 
      size=2 face="verdana, arial, helvetica, sans-serif"><A id=OUT1t 
      class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/news/press.asp">Press 
      Releases</A></FONT><BR>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT 
      color=#000000 size=2 face="verdana, arial, helvetica, sans-serif"><A 
      id=OUT2t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/news/events.asp">Events</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT3t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/news/articles.asp">Articles</A></FONT><BR></DIV>&nbsp;<IMG 
      id=OUT2i class=LEVEL1 src="" width=9 height=9 ? hand>&nbsp;<B><FONT 
      color=#000000 size=2 face="verdana, arial, helvetica, sans-serif"><A 
      id=OUT2t class=LEVEL1 
      href="http://www.microsoft.com.wstub.archive.org/com/wpaper/default.asp"><FONT 
      color=#000000>White Papers</FONT></A></FONT></B><BR>&nbsp;<IMG id=OUT3i 
      class=LEVEL1 src="" width=9 height=9 ? hand>&nbsp;<B><FONT color=#000000 
      size=2 face="verdana, arial, helvetica, sans-serif"><A id=OUT3t 
      class=LEVEL1 
      href="http://www.microsoft.com.wstub.archive.org/com/presentations/default.asp"><FONT 
      color=#000000>Presentations</FONT></A></FONT></B><BR>&nbsp;<IMG id=OUT4i 
      class=LEVEL1 src="" width=9 height=9 ? hand>&nbsp;<B><FONT color=#000000 
      size=2 face="verdana, arial, helvetica, sans-serif"><A id=OUT4t 
      class=LEVEL1 
      href="http://www.microsoft.com.wstub.archive.org/com/cstudy/default.asp"><FONT 
      color=#000000>Case Studies</FONT></A></FONT></B><BR>&nbsp;<IMG id=OUT5i 
      class=LEVEL1 src="" width=9 height=9 ?>&nbsp;<B><FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A 
      class=LEVEL1>Technologies</A></FONT></B><BR>
      <DIV id=OUT5s>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT color=#000000 
      size=2 face="verdana, arial, helvetica, sans-serif"><A id=OUT1t 
      class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/tech/com.asp">COM</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT2t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/tech/DCOM.asp">DCOM</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT3t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/tech/COMPlus.asp">COM+</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT4t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/tech/MTS.asp">MTS</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT5t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/tech/ActiveX.asp">ActiveX</A></FONT><BR></DIV>&nbsp;<IMG 
      id=OUT6i class=LEVEL1 src="" width=9 height=9 ?>&nbsp;<B><FONT 
      color=#000000 size=2 face="verdana, arial, helvetica, sans-serif"><A 
      class=LEVEL1>Resources</A></FONT></B><BR>
      <DIV id=OUT6s>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT color=#000000 
      size=2 face="verdana, arial, helvetica, sans-serif"><A id=OUT1t 
      class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/downloads.asp">Downloads</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT2t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/samples.asp">Samples</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT3t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/specs.asp">Specs</A></FONT><BR>&nbsp;<IMG 
      src="" width=9 height=9>&nbsp;<FONT color=#000000 size=2 
      face="verdana, arial, helvetica, sans-serif"><A id=OUT4t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/websites.asp">Web 
      Sites</A></FONT><BR>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT 
      color=#000000 size=2 face="verdana, arial, helvetica, sans-serif"><A 
      id=OUT5t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/email.asp">E-mail 
      aliases</A></FONT><BR>&nbsp;<IMG src="" width=9 height=9>&nbsp;<FONT 
      color=#000000 size=2 face="verdana, arial, helvetica, sans-serif"><A 
      id=OUT6t class=LEVEL2 
      href="http://www.microsoft.com.wstub.archive.org/com/resources/books.asp">Books</A></FONT><BR></DIV><BR><IMG 
      src="" width=170 height=1> </TD>
    <TD bgColor=#ffffff vAlign=top><IMG src="" width=1 height=550> </TD>
    <TD width=10><IMG src="" width=10 height=1></TD>
    <TD vAlign=top width="100%">
      <TABLE border=0 cellSpacing=10 cellPadding=0 width="100%">
        <TBODY>
        <TR>
          <TD><!-- XXXXXXXXXXXXXX --><!--  BEGIN CONTENT   --><!-- XXXXXXXXXXXXXX -->
            <H1>DCOM98 for Windows 98, version 1.3</H1>
            <H2>Release Notes</H2>
            <P>DCOM98 provides Distributed COM support for Microsoft� Windows� 
            98. The DCOM wire protocol transparently provides support for 
            reliable, secure, and efficient communication between Component 
            Object Model (COM) components such as ActiveX� controls, scripts, 
            and Java applets residing on different machines in a LAN, a WAN, or 
            on the Internet. With DCOM, your application can be distributed 
            across locations that make the most sense to you and to the 
            application.</P>
            <P>For more in-depth information, see the DCOM Technical overview 
            available in the <A 
            href="http://www.microsoft.com.wstub.archive.org/isapi/gomsdn.asp?TARGET=/isapi/msdnlib.idc?theURL=/library/backgrnd/html/msdn_dcomtec.htm">MSDN 
            Online Library</A>. <IMG border=0 alt="Non-COM site" src="" width=18 
            height=10> <A name=top></A>
            <H3>Contents</H3>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#features">New 
            Features</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#bugfix">Bug 
            Fixes</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#issues">Known 
            Issues</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#diff">Differences 
            from DCOM on Windows NT</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#redis">Redistribution</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#support">Support 
            &amp; Resources</A><BR><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#files">DCOM98 
            File List</A><BR></P><A name=features></A>
            <H3>New Features</H3>
            <H4>Visual Studio 6.0 Process Monitoring Support</H4>
            <P>In support of Visual Studio 6.0, DCOM98 provides monitoring 
            information for developers to help them understand the behavior, 
            performance, and structure of their application. If you are using 
            Visual Studio Analyzer on a computer that is running Windows 98, you 
            should always use this version of DCOM98.</P>
            <H4>COM Internet Services</H4>
            <P>The COM Internet Services (CIS) enable clients and servers to be 
            connected over the Internet using COM. CIS consists of </P>
            <UL>
              <LI>A new DCOM protocol, Tunneled TCP 
              <LI>A new moniker type, OBJREF moniker 
              <LI>A new CISCNFG utility </LI></UL>
            <P>For CIS client support in Windows 98, you must install both 
            DCOM98 and DCOMCNFG. Then use the CISCNFG tool, which is installed 
            when you install the DCOM configuration utility, to change the 
            registry key that defines which protocol to use for remote 
            processes. In the Command Prompt window, enter:</P><PRE><FONT size=2 face=COURIER>
ciscnfg &lt;protocol&gt;
</FONT></PRE>Where <B>&lt;protocol&gt;</B> is: 
            <UL>
              <LI>rpc to use RPC 
              <LI>http to use HTTP 
              <LI>tcp_http to try TCP first and then, if the server times out, 
              to try HTTP. </LI></UL>
            <P>The ciscnfg command with no argument provides usage 
            information.</P>
            <P>No SDK updates are required to use the Tunneled TCP protocol. 
            There are a few updates for OBJREF monikers.</P>
            <H4>CreateObjrefMoniker</H4>
            <P></P>Creates an OBJREF moniker based on a pointer to an 
object.<BR><PRE><FONT size=2 face=COURIER>
WINOLEAPI CreateObjrefMoniker(
LPUNKNOWN pUnk, //Pointer to the object
LPMONIKER *ppMk //Address of pointer to OBJREF moniker
);
</FONT></PRE>
            <P></P>
            <H4>Parameters</H4>
            <P>pUnk</P>
            <P>Pointer to the IUnknown interface on the object that the moniker 
            is to represent.</P>
            <P>ppMk</P>
            <P>Address of a pointer to the IMoniker interface on the OBJREF 
            moniker created.</P>
            <P>Return Values This function supports the standard return values 
            <B>E_OUTOFMEMORY</B> and <B>E_UNEXPECTED</B>, as well as the 
            following:<BR><PRE><FONT size=2 face=COURIER>
S_OK 
</FONT></PRE>
            <P>The OBJREF moniker was successfully created</P>
            <H4>Remarks</H4>
            <P>Clients use OBJREF monikers to obtain a marshaled pointer to a 
            running object in the server's address space. The server typically 
            calls <B>CreateObjrefMoniker</B> to create an OBJREF moniker and 
            then calls <B>IMoniker::GetDisplayName</B>, and finally releases the 
            moniker. The display name for an OBJREF moniker is of the form: <BR><PRE><FONT size=2 face=COURIER>OBJREF:nnnnnnnn 
</FONT></PRE>
            <P></P>
            <P>Where nnnnnnnn is an arbitrarily long base-64 encoding that 
            encapsulates the machine location, process endpoint, and interface 
            pointer ID (IPID) of the running object.</P>
            <P>The display name can then be transferred to the client as text. 
            For example, the display name can reside on an HTML page that the 
            client downloads.</P>
            <P>The client can pass the display name to 
            <B>MkParseDisplayName</B>, which creates an OBJREF moniker based on 
            the display name. A call to the moniker's 
            <B>IMoniker::BindToObject</B> method then obtains a marshaled 
            pointer to the running instance on the server. For example, a 
            server-side COM component contained in an active server page can 
            create an OBJREF moniker, obtain its display name, and write the 
            display name to the HTML output that is sent to the client browser. 
            A script that runs on the client side can use the display name to 
            get access to the running object itself. A client-side Visual Basic� 
            script, for instance, could store the display name in a variable 
            called <B>strMyName</B> and include this line: <PRE><FONT size=2 face=COURIER>
objMyInstance = GetObject(strMyName)
</FONT></PRE>
            <P></P>
            <P>The script engine internally makes the calls to 
            <B>MkParseDisplayName</B> and <B>IMoniker::BindToObject</B>, and the 
            script can then use <B>objMyInstance</B> to refer directly to the 
            running object.</P>
            <P>If the running object uses static IPIDs and the server process 
            always runs on the same computer at a well-known endpoint, the 
            display name of the OBJREF moniker will always be the same. In that 
            case, the server can store the display name instead of calculating 
            it each time it receives a request for the object.</P>
            <H4>IMoniker - OBJREF Moniker Implementation</H4>
            <P>OBJREF monikers represent a reference to an object instance that 
            is running on an out-of-process server, either locally or remotely. 
            The moniker identifies the object instance and the computer the 
            object is running on.</P>
            <P>An OBJREF moniker is similar in many ways to a pointer moniker, 
            except that the running object is out-of-process. A client can call 
            <B>IMoniker::BindToObject</B> on an OBJREF moniker and use the 
            pointer it obtains to access the running object, regardless of its 
            location.</P>
            <P>An important distinction from a pointer moniker is that the 
            display name of an OBJREF moniker can be embedded in an HTML page, 
            and the running object represented by the moniker can be bound by a 
            client script, applet, or ActiveX control.</P>
            <H4>When to Use</H4>
            <P>The primary use for an OBJREF moniker is to obtain access to a 
            running object instance over the Internet. An active server page or 
            some other means of generating dynamic HTML content places the 
            display name of an OBJREF moniker in a parameter to an applet or an 
            ActiveX control. The code of the applet or control calls 
            <B>CreateObjrefMoniker</B> to create an OBJREF moniker based on the 
            display name, and it then calls <B>IMoniker::BindToObject</B> on the 
            resulting OBJREF moniker to get access to the running object 
            instance. The active server page (ASP) then marshals a pointer to 
            the running object back to the page's client.</P>
            <H4>Remarks</H4>
            <P><B>IMoniker::BindToObject</B>. For OBJREF monikers, the pmkToLeft 
            parameter must be <B>NULL</B>. Because the OBJREF moniker represents 
            a running object, no activation takes place. If the represented 
            object is no longer running, <B>BindToObject</B> fails with 
            <B>E_UNEXPECTED</B>.</P>
            <P><B>IMoniker::BindToStorage</B>. This method obtains a marshaled 
            pointer to the requested interface on the storage that contains the 
            running object. Because the OBJREF moniker represents a running 
            object, no activation takes place. If the represented object is no 
            longer running, <B>BindToStorage</B> fails with 
            <B>E_UNEXPECTED</B>.</P>
            <P><B>IMoniker::Reduce</B>. This method returns 
            <B>MK_S_REDUCED_TO_SELF</B> and passes back the same moniker.</P>
            <P><B>IMoniker::ComposeWith</B>. If <B>pmkRight</B> is an 
            anti-moniker, the returned moniker is <B>NULL</B>. If 
            <B>pmkRight</B> is a composite whose leftmost component is an 
            anti-moniker, the returned moniker is the composite with the 
            leftmost anti-moniker removed. If <B>pmkRight</B> is neither an 
            anti-moniker nor a composite moniker whose leftmost component is an 
            anti-moniker, then the method checks the <B>fOnlyIfNotGeneric</B> 
            parameter. If it is FALSE, the method combines the two monikers into 
            a generic composite; if it is TRUE, the method sets 
            <B>*ppmkComposite</B> to NULL and returns 
            <B>MK_E_NEEDGENERIC</B>.</P>
            <P><B>IMoniker::Enum</B>. This method returns S_OK and sets 
            ppenumMoniker to NULL.</P>
            <P><B>IMoniker::IsEqual</B>. This method returns S_OK if 
            <B>*pmkOther</B> is an OBJREF moniker and the paths for both 
            monikers are identical (using a case-insensitive comparison). 
            Otherwise, the method returns S_FALSE.</P>
            <P><B>IMoniker::Hash</B>. This method calculates a hash value for 
            the moniker.</P>
            <P><B>IMoniker::IsRunning</B>. Because OBJREF monikers represent a 
            running object instance, this method returns TRUE unless the object 
            is known to be no longer running because a recent call failed. The 
            method ignores <B>pmkToLeft</B>.</P>
            <P><B>IMoniker::GetTimeOfLastChange</B>. This method returns 
            <B>E_NOTIMPL</B>.</P>
            <P><B>IMoniker::Inverse</B>. This method returns an anti-moniker 
            (i.e., the results of calling <B>CreateAntiMoniker</B>).</P>
            <P><B>IMoniker::CommonPrefixWith</B>. If the two monikers are equal, 
            this method returns <B>MK_S_US</B> and sets <B>*ppmkPrefix</B> to 
            NULL. If the other moniker is not an OBJREF moniker, this method 
            passes both monikers to the <B>MonikerCommonPrefixWith</B> function. 
            This function correctly handles the case where the other moniker is 
            a generic composite.</P>
            <P>If there is no common prefix, this method returns 
            <B>MK_E_</B>.<BR><B>IMoniker::RelativePathTo</B>. This method 
            returns <B>E_NOTIMPL</B>.</P>
            <P><B>IMoniker::GetDisplayName</B>. This method obtains the display 
            name for the OBJREF moniker. The display name is a 64-bit encoding 
            that encapsulates the machine location, process endpoint, and 
            interface pointer ID (IPID) of the running object. For future 
            compatibility, the display name is restricted to characters that can 
            be specified as part of a URL.</P>
            <P><B>IMoniker::ParseDisplayName</B>. If <B>pmkToLeft</B> is not 
            NULL, this method returns <B>MK_E_SYNTAX</B>.</P>
            <P><B>IMoniker::IsSystemMoniker</B>. This method returns <B>S_OK</B> 
            and passes back <B>MKSYS_OBJREFMONIKER</B>.</P>
            <H4>Support for Visual Basic 6.0 Data Types</H4>
            <P>Visual Basic 6.0 allows Visual Basic variants to contain user- 
            defined data structures. DCOM98 now supports remoting of these 
            variants.</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=bugfix></A>
            <H3>Bug Fixes</H3>
            <H4>Race Condition When Unloading Multiple Modules</H4>
            <P>When multiple modules were unloaded simultaneously, a race 
            condition would occur. Depending upon the order in which the modules 
            were unloaded, an access violation could result. This has been 
            corrected in this release of DCOM98.</P>
            <H4>Desktop Unresponsive During RPC Protocol Negotiations</H4>
            <P>Earlier versions of DCOM98 did not dispatch messages while they 
            were negotiating RPC protocols. In certain cases, if the user 
            launched another application during the time that RPC protocols were 
            being negotiated, the machine would appear to be unresponsive. After 
            30 seconds, processing of messages would resume. This behavior has 
            been changed in the latest release of DCOM98, and applications can 
            be launched while RPC protocols are being negotiated.</P>
            <H4>Desktop Unresponsive When New Application Launched</H4>
            <P>RPC creates a hidden window in the Multiple-Threaded Apartment 
            (MTA), which is not required to dispatch messages per DCOM spec. 
            When a user launches a new application from the desktop, Windows 
            sends a message to all other window handles, notifying them of this 
            event, and expecting a reply. Under earlier versions of DCOM98, the 
            hidden RPC window might not reply, and Windows would hang. This 
            version of DCOM98 fixes this problem, and the RPC window no longer 
            makes the desktop unresponsive when new applications are 
            launched.</P>
            <H4>Multiple IP Addresses Heap Corruption</H4>
            <P>In certain situations, if you were running a previous version of 
            DCOM98 on a machine with more than one IP address, the IP address 
            buffer would be overrun and the heap would be corrupted. This has 
            been fixed in the latest release of DCOM98.</P>
            <H4>Only First IP Address Used</H4>
            <P>If you were running a previous version of DCOM98 on a machine 
            that had two network adapter cards (and therefore two IP addresses, 
            each assigned to a different address card), DCOM98 would use only 
            one network adapter. In this release of DCOM98, if the first one 
            tried does not work, the second one will be used.</P>
            <H4>RPC Now Tries Multiple IP Addresses</H4>
            <P>When doing a remote procedure call to a machine with multiple IP 
            addresses, subsequent IP addresses will now be tried if connecting 
            to the first one fails.</P>
            <H4>File Monikers Support Additional Path Syntax</H4>
            <P>File monikers can now be created out of arguments of the form 
            &lt;startdir&gt;&lt;relativepath&gt;, such as 
            "C:\bug\bug\..\..\foo.jpg." Prior to this release of DCOM98, only 
            relative paths (e.g., "..\..\foo.jpg") or absolute paths (e.g., 
            "C:\foo.jpg") were permitted.</P>
            <H4>General Protection Fault When Oleaut32.dll Unloaded</H4>
            <P>In previous versions of DCOM98, a general protection fault 
            occurred when Oleaut32.dll was unloaded before a call to 
            <B>CoUninitialize</B>. This would most often occur when a VB 
            application created a control statically linked to Oleaut32.dll, and 
            then freed the control prior to calling <B>CoUninitialize</B>. This 
            no longer causes a general protection fault in the latest release of 
            DCOM98.</P>
            <H4>Visual Basic Type Marshaling and Unmarshaling</H4>
            <P>The marshalling and unmarshaling of certain Visual Basic data 
            types has been fixed. Array parameters with a size greater than 64K 
            are now allowed. Structures defined using aliases to the type are 
            now marshaled and unmarshaled correctly.</P>
            <H4>Atoms Being Deleted Too Many Times in OleUninitialize</H4>
            <P>This bug appeared in applications that call <B>OleInitialize</B> 
            and <B>OleUninitialize</B> multiple times. During initialization, 
            OLE adds many atoms for DDE RPC. If the atoms have already been 
            added by another thread, they are not added again. However, during 
            uninitialization, atoms were always deleted, and the handles were 
            not nullified. Therefore, the next time <B>OleInitialize</B> was 
            called, the old handles would still exist, even though the atoms 
            were already deleted, and OLE would not add them again. This led to 
            all OLE atoms being invalid after multiple calls to 
            <B>OleInitialize</B> and <B>OleUninitialize</B>. This problem has 
            been fixed in this release of DCOM98.</P>
            <H4>ADO Servers Shut Down Properly</H4>
            <P>Active Data Objects (ADOs) use pointer monikers to start a server 
            process. Previous versions of DCOM98 contained a bug involving 
            pointer moniker reference counting, whereby pointer monikers were 
            created with an initial reference count of 1, rather than 0. 
            Therefore, the reference count of the pointer moniker would never 
            get to zero, and the pointer moniker would never be freed. As a 
            result, ADO servers were never shut down, even after the last 
            pointer to them had been released. This has been fixed in this 
            release of DCOM98.</P>
            <H4>CoCreateInstance Works with Own DNS Name</H4>
            <P>In previous versions of DCOM98, calling <B>CoCreateInstance</B> 
            with the fully qualified name of the local machine did not work. 
            This has been fixed in the current version of DCOM98, and 
            <B>CoCreateInstance</B> now correctly creates and instance on the 
            local machine.</P>
            <H4>Slow Commit On Root Storage With Very Large Compound File</H4>
            <P>In previous versions of DCOM98, the commit time on a root storage 
            opened in STGM_TRANSACTED mode became very slow as the compound file 
            became very large (e.g. 400M). The internal page table limits have 
            been increased, and this is no longer a problem.</P>
            <H4>Exporting Objects From a Recreated MTA</H4>
            <P>In previous versions of DCOM98, a server could not export an 
            object from a Multi-Threaded Apartment (MTA) if this was not the 
            first time the MTA had been created in the process. This has been 
            fixed. Now, if a server creates an MTA, destroys it, and 
            subsequently recreates the MTA, objects will be able to be exported 
            from the MTA.</P>
            <H4>Multiple Instances Of Visual Basic 4 Exes</H4>
            <P>In previous versions of DCOM98 if you started multiple instances 
            of the same Visual Basic 4 executable, then shut them down in any 
            order but LIFO (Last-In First-Out), the last exe would hang. This 
            was also true of E-Forms in Microsoft Exchange. This has been fixed 
            in the latest release of DCOM98. You may now shut down Visual Basic 
            4 exes in any order.</P>
            <H4>Extended Characters in Visual Basic File Names</H4>
            <P>If you named a Visual Basic module or class using extended 
            characters for a given language, that file might not open on 
            machines configured for a different locale. This has been fixed.</P>
            <H4>Heap Memory Leak When Using IDataObject/IAdviseSink</H4>
            <P>There was a memory leak when using Uniform Data Transfer between 
            a data object on a local server that implements the 
            <B>IDataObject</B> interface and a client that implements 
            <B>IAdviseSink</B>. When the client used the STA model, every call 
            would leak 32 bytes. This problem manifests itself as the server 
            taking more and more time to execute. The leak has been fixed.</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=issues></A>
            <H3>Known Issues</H3>
            <H4>Corel WordPerfect Suite 7: Installation Causes Invalid Page 
            Fault</H4>
            <P>If you install Corel WordPerfect Suite 7 on a Windows 98 system 
            running DCOM98, you may get an invalid page fault in PfOd70.pfc 
            during installation. If this error appears, just close the error 
            message dialog box. Setup should continue successfully.</P>
            <H4>Microsoft Access 95: Database Replication Does Not Work</H4>
            <P>If you try to replicate an Access database using Microsoft Access 
            95 on machines with DCOM98 installed, you may get the following 
            error message:</P>
            <BLOCKQUOTE>Microsoft Access cannot complete this operation 
              because it can't find or initialize the dynamic-link library 
              Msjtrclr. </BLOCKQUOTE>
            <P>This is a problem in Microsoft Access 95. You may work around 
            this issue by writing a program which uses the Access object model 
            rather than the replica tool, or by using the briefcase for 
            replication. Microsoft Access 97 is not affected by this issue.</P>
            <H4>WordPerfect</H4>
            <P>If you have a WordPerfect document containing an embedded Corel 
            spreadsheet and the spreadsheet contains another embedded object 
            (for example, a bitmap), you may get a warning dialog saying you�ve 
            lost the network connection when you close the innermost object. 
            There may be four or five such warnings. All these warnings are 
            benign. Just close them and continue.</P>
            <H4>Multiple-threaded apartment (MTA) clients that use BSTR 
            conversion routines may block DDE messages</H4>
            <P>Automation BSTR conversion routines (for example, BstrFromR4) 
            create hidden windows to facilitate the type conversion. These 
            windows do not service the Windows message queue. If such a window 
            is created from within an MTA client, DDE messages may be blocked. 
            The client thread has no obligation to service the message queue 
            under the MTA programming model. If it does not, this top-level 
            window causes global broadcast messages to block.</P>
            <P>There are two ways to work around this situation. Either call the 
            BSTR conversion routines from within a single-threaded apartment 
            (STA) client, or make the client�s MTA thread behave like an STA 
            thread. (An STA thread must service the message queue.) If the 
            thread is blocking on a win32 handle, it must call the 
            <B>MsgWaitForMultipleObjects</B> function to simultaneously dispatch 
            Windows messages.</P>
            <H4>DLL path names longer than 127 characters cause error</H4>
            <P>If you register a DLL with a path name of 128 characters or 
            longer, the registration will succeed, but <B>CoCreateInstance</B> 
            or <B>CoGetClassObject</B> will return an error 
            (REGDB_E_CLASSNOTREG) when accessing an object supported by this 
            DLL.</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=diff></A>
            <H3>Differences from DCOM on Windows NT</H3>
            <H4>Security Capabilities of DCOM98</H4>
            <P>The core functionality and application programming interface 
            (API) for DCOM98 are identical in both Windows 98 and Windows NT 
            4.0. However, certain capabilities related to security are different 
            because of the different security infrastructures of the operating 
            systems. Using the default security settings of the system is 
            recommended; it is also necessary to enable "user-level" security on 
            file-system shares. (See below.)</P>
            <P>The following services, which can be used to override default 
            security, are available:</P>
            <UL>
              <LI><B>CoInitializeSecurity</B> 
              <LI><B>CoQueryAuthenticationService</B> 
              <LI><B>CoQueryProxyBlanket</B> 
              <LI><B>CoSetProxyBlanket</B> 
              <LI><B>CoQueryClientBlanket</B> 
              <LI><B>IClientSecurity Interface</B> 
              <LI><B>IServerSecurity Interface</B> </LI></UL>
            <P>However, certain capabilities that are part of DCOM for Windows 
            NT will not be available on Windows 98 because of differences in the 
            security infrastructure on Windows 98.</P>
            <P>In particular, the lack of security functions in the Win32 API, 
            such as the ability to create access control lists (ACLs), and the 
            <B>AccessCheck</B> function, as well as the lack of a security 
            context associated with thread and process tokens, should be taken 
            into account. Windows 98 does not natively support these functions 
            or constructs. Because of this, DCOM98 will not support 
            impersonation (specifically, the <B>CoImpersonateClient</B> and 
            <B>CoRevertToSelf</B> helper functions over the 
            <B>IServerSecurity</B> interface), which is based on thread- and 
            process-token security in Windows NT 4.0. Impersonation is commonly 
            used to automatically control access to restrictable system 
            resources such as the file system, other processes, and the network. 
            These resources are not restrictable on Windows 98.</P>
            <P>DCOM98 does, however, offer programmers various helper objects to 
            provide ACL and access-check functionality, which can be used to 
            explicitly control access by remote clients to both system and 
            user-defined resources or data. These helper objects are provided by 
            the system object <B>CLSID_DCOMAccessControl</B>, which implements 
            the <B>IAccessControl</B> interface.</P>
            <P><B>IAccessControl</B> should be used to manage security 
            permissions programmatically wherever portability between Windows 98 
            and Windows NT is a concern. The <B>CLSID_DCOMAccessControl</B> 
            object is available in all releases of DCOM98 and in Windows NT 4.0 
            SP2 or later. For details about <B>IAccessControl</B>, see the 
            Platform SDK documentation.</P>
            <H4>Launch and Access Security</H4>
            <P>Controlling who can launch server-class code is not supported in 
            DCOM98, because launching servers is not supported. Servers/classes 
            must already be running in order for remote clients to connect to 
            them and make use of their services.</P>
            <P>DCOM98 does support the ability to connect to already running 
            classes/servers. Access security is supported via the 
            <B>\APPID\{.}\AccessPermissions</B> registry key and adjusted via 
            the <B>DCOMCNFG</B> tool or during installation or setup of the 
            server code. Unauthenticated users will be able to use servers if 
            you configure the class to support unauthenticated connections 
            (through static configuration tools or dynamically via the 
            <B>CoInitializeSecurity</B> function). You can also build arbitrary 
            ACLs to define which users and groups can access specific 
            services.</P>
            <H4>Authentication Levels</H4>
            <P>DCOM98 clients can make DCOM calls using any authentication 
            level. DCOM98 servers or clients receiving callbacks can accept only 
            DCOM calls using RPC_C_AUTHN_LEVEL_NONE or RPC_C_AUTHN_LEVEL_CONNECT 
            authentication levels.</P>
            <H4>Transports</H4>
            <P>DCOM98 supports only TCP connectivity. If you do not have the 
            TCP/IP protocol installed, DCOM98 will not be able to support 
            cross-machine COM.</P>
            <H4>Registry Settings</H4>
            <P>The following registry keys found under 
            <B>HKEY_LOCAL_MACHINE\Software\Microsoft\OLE</B> are established by 
            DCOM98:</P>
            <P><B>EnableDCOM</B> (default value = "Y"). Enables DCOM on this 
            machine. When set to "N", the machine is prevented from connecting 
            to or activating objects on remote machines, and remote machines are 
            unable to connect to objects on the local machine. Setting this 
            value to "Y" enables either connectivity as a client to remote 
            objects (when <B>EnableRemoteConnect='N'</B>, as explained below), 
            or full client/server connectivity (when 
            <B>EnableRemoteConnect='Y'</B>, as explained below).</P>
            <P><B>EnableRemoteConnect</B> (default value = "N"). Enables COM 
            servers to support remote clients. When this value is set to "Y", 
            references to interfaces on local objects can be passed to remote 
            clients, and remote clients are allowed to connect to running 
            objects. When this value is set to "N", this machine is allowed to 
            connect to remote objects but cannot act as a server: the machine is 
            prevented from connecting to running objects.</P>
            <P>In addition, the following registry key is found under 
            <B>HKEY_CLASSES_ROOT\CLSID</B>:</P>
            <P><B>{bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion.</B> 
            Contains the version number of DCOM98 in the format "a,b,c,d". This 
            value can be used by Internet Component Download to determine 
            whether DCOM98 is installed. This value is added to the registry 
            during setup and should not be modified. 
            <H4>Using Windows 98 as a remote server host</H4>
            <P>Windows 98 can be a remote server host, with the following 
            caveats:</P>
            <UL>
              <LI>There is no launch capability. The server process must be 
              already running for a client to connect to it. 
              <LI>If secure connections are needed, the server (and in the case 
              of callbacks, the client) must have user-level access control with 
              the name of a security provider set. 
              <LI>The registry value <B>"EnableRemoteConnect"</B> must be set to 
              <B>"Y"</B>. </LI></UL>
            <P>DCOM98 has been tested most extensively using the Windows NT 
            Domain security provider. You may encounter problems using other 
            security providers.</P>
            <P>To establish user-level access control, you must have Filesec.vxd 
            installed. This file is generally installed on Windows 98 machines 
            when you install file and print sharing.</P>
            <P>To enable user-level access control, open the Network dialog box 
            in Control Panel, click the Access Control tab, check the box marked 
            User-level Access Control, and enter the name of your security 
            domain. This may affect the way you currently share directories on 
            the network from your computer; see the online documentation for 
            details. If you do not have an Access Control tab in your network 
            configuration control panel, you need to install a network client 
            service. Click the Network clients, setting up entry in the online 
            help index for information on installing a network client.</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=redis></A>
            <H3>Redistribution</H3>
            <P>DCOM98 may not be redistributed. For additional information, 
            please review the redistribution guidelines contained in the 
            end-user license agreement (license.txt).</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=support></A>
            <H3>Support &amp; Resources</H3>
            <H4>Paid Support</H4>
            <P>DCOM98 application development is supported by Microsoft Product 
            Support Services. You can ask questions through your Premier Level 
            support contract. You can also ask questions through your 
            Professional Level contract or purchase individual Professional 
            Support incidents (essentially a one-time fee for one question). If 
            you would like to understand more about Microsoft's paid support 
            options, you can call Microsoft Support Sales at (800) 936-3500 from 
            6:00 a.m. to 6:00 p.m. Pacific time, Monday through Friday, 
            excluding holidays. Please note that technical support is not 
            available through this number. Microsoft Product Support Services 
            Information is also available on the World Wide Web at <A 
            href="http://www.microsoft.com.wstub.archive.org/support/">http://www.microsoft.com.wstub.archive.org/support/</A>. 
            <IMG border=0 alt="Non-COM site" src="" width=18 height=10></P>
            <H4>Free Support</H4>
            <P>Newsgroups are a great place for free peer support. As time and 
            resources allow, Microsoft developers, program managers, support 
            engineers, and test engineers visit the site to collect feedback and 
            answer questions or correct misperceptions. There is no guarantee 
            that you will receive a response from Microsoft to any newsgroup 
            posting.</P>
            <P>The following newsgroups can be used to ask questions about 
            DCOM98:</P>
            <UL>
              <LI><A 
              href="news:comp.os.ms-windows.programmer.ole">comp.os.ms-windows.programmer.ole</A> 

              <LI><A 
              href="news:microsoft.public.win32.programmer.ole">microsoft.public.win32.programmer.ole</A> 
              </LI></UL>
            <P>The DCOM mailing list is another good form of free peer support. 
            An advantage to being on a mailing list is that this is where 
            Microsoft will make early announcements of information on a given 
            topic. Again, it is peer support, and Microsoft staff will often 
            lurk there, but are not guaranteed to respond to any postings.</P>
            <P>To learn more about the DCOM mailing list as well as other 
            DCOM-related lists, please review the <A 
            href="http://www.microsoft.com.wstub.archive.org/com/resources/email.asp">E-Mail 
            Aliases and Mailing List page</A>.</P>
            <H4>Providing Feedback</H4>
            <P>Please send any comments or bug reports to the DCOM mailing 
            list.</P>
            <H4>Resources</H4>
            <P>You can find additional information about DCOM on the <A 
            href="http://www.microsoft.com.wstub.archive.org/com/default.asp">COM 
            Home Page</A>.</P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><A name=files></A>
            <H3>DCOM98 File List</H3>
            <P>This table lists the version numbers of files distributed with 
            DCOM98.</P>
            <P>
            <TABLE border=1>
              <TBODY>
              <TR>
                <TH>File Name</TH>
                <TH>DCOM98</TH></TR>
              <TR>
                <TD>asycfilt.dll</TD>
                <TD>2.40.4275.1</TD></TR>
              <TR>
                <TD>comcat.dll</TD>
                <TD>5.0.1601.1</TD></TR>
              <TR>
                <TD>compobj.dll</TD>
                <TD>2.30.200.0</TD></TR>
              <TR>
                <TD>dcom2w98.dll</TD>
                <TD>2.10.35.35</TD></TR>
              <TR>
                <TD>dllhost.exe</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>imagehlp.dll</TD>
                <TD>4.0.1381.1</TD></TR>
              <TR>
                <TD>iprop.dll</TD>
                <TD>4.0.1381.6</TD></TR>
              <TR>
                <TD>ole2.dll</TD>
                <TD>2.30.200.0</TD></TR>
              <TR>
                <TD>ole32.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>oleaut32.dll</TD>
                <TD>2.40.4275.1</TD></TR>
              <TR>
                <TD>olecnv32.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>olepro32.dll</TD>
                <TD>5.0.4275.1</TD></TR>
              <TR>
                <TD>olethk32.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcltc1.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcltc5.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcltccm.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpclts5.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcltscm.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcmqcl.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcmqsvr.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcns4.dll</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>rpcrt4.dll</TD>
                <TD>4.71.2900.2</TD></TR>
              <TR>
                <TD>rpcss.exe</TD>
                <TD>4.71.2900.0</TD></TR>
              <TR>
                <TD>secur32.dll</TD>
                <TD>4.10.0.1999</TD></TR>
              <TR>
                <TD>stdole2.tlb</TD>
                <TD>2.40.4275.1</TD></TR>
              <TR>
                <TD>stdole32.tlb</TD>
                <TD>2.10.3027.1</TD></TR>
              <TR>
                <TD>storage.dll</TD>
                <TD>2.30.200.0</TD></TR></TBODY></TABLE></P>
            <P>This table lists the version numbers of files distributed with 
            DC0M95CFG.</P>
            <P>
            <TABLE border=1>
              <TBODY>
              <TR>
                <TH>File Name</TH>
                <TH>DCOM95CFG</TH></TR>
              <TR>
                <TD>dcomcnfg.exe</TD>
                <TD>5.00.1603.0</TD></TR>
              <TR>
                <TD>ciscnfg.exe</TD>
                <TD>4.71.2618.0</TD></TR></TBODY></TABLE></P>
            <P><A 
            href="http://www.microsoft.com.wstub.archive.org/com/dcom/dcom98/relnotes.asp#top"><IMG 
            border=0 alt=Up src="" width=11 height=15>Back to contents</A>
            <P><!-- XXXXXXXXXXXXXX --><!--  END CONTENT   --><!-- XXXXXXXXXXXXXX --><FONT 
            size=1><I>Last Updated: <!--$$JustDate:-->4/14/99 
            <!-- $--></I></FONT><!-- MSFT COPYRIGHT-->&nbsp;
            <P><FONT class=SMALL size=1 
            face="Verdana, Arial, Geneva, Helvetica, sans-serif">�2002 Microsoft 
            Corporation. All rights reserved. <A 
            href="http://www.microsoft.com.wstub.archive.org/info/cpyright.htm">Terms 
            of Use.</A> </FONT>&nbsp;
            <P><!--MSFT COPYRIGHT--></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- SOME SCRIPT SRC'S ON THIS PAGE HAVE BEEN REWRITTEN BY THE WAYBACK MACHINE
OF THE INTERNET ARCHIVE IN ORDER TO PRESERVE THE TEMPORAL INTEGRITY OF THE SESSION. -->
<SCRIPT language=Javascript>
<!--

// FILE ARCHIVED ON 20030211102547 AND RETRIEVED FROM THE
// INTERNET ARCHIVE ON 20101217233330.
// JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
// ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
// SECTION 108(a)(3)).

   var sWayBackCGI = "http://web.archive.org/web/20030211102547/";

   function xResolveUrl(url) {
      var image = new Image();
      image.src = url;
      return image.src;
   }
   function xLateUrl(aCollection, sProp) {
      var i = 0;
      for(i = 0; i < aCollection.length; i++) {
         var url = aCollection[i][sProp];         if (typeof(url) == "string") { 
          if (url.indexOf("mailto:") == -1 &&
             url.indexOf("javascript:") == -1
             && url.length > 0) {
            if(url.indexOf("http") != 0) {
                url = xResolveUrl(url);
            }
            url = url.replace('.wstub.archive.org','');
            aCollection[i][sProp] = sWayBackCGI + url;
         }
         }
      }
   }

   xLateUrl(document.getElementsByTagName("IMG"),"src");
   xLateUrl(document.getElementsByTagName("A"),"href");
   xLateUrl(document.getElementsByTagName("AREA"),"href");
   xLateUrl(document.getElementsByTagName("OBJECT"),"codebase");
   xLateUrl(document.getElementsByTagName("OBJECT"),"data");
   xLateUrl(document.getElementsByTagName("APPLET"),"codebase");
   xLateUrl(document.getElementsByTagName("APPLET"),"archive");
   xLateUrl(document.getElementsByTagName("EMBED"),"src");
   xLateUrl(document.getElementsByTagName("BODY"),"background");
   xLateUrl(document.getElementsByTagName("TD"),"background");
   xLateUrl(document.getElementsByTagName("INPUT"),"src");
   var forms = document.getElementsByTagName("FORM");
   if (forms) {
       var j = 0;
       for (j = 0; j < forms.length; j++) {
              f = forms[j];
              if (typeof(f.action)  == "string") {
                 if(typeof(f.method)  == "string") {
                     if(typeof(f.method) != "post") {
                        f.action = sWayBackCGI + f.action;
                     }
                  }
              }
        }
    }


//-->
</SCRIPT>
</BODY></HTML>

    

Report Abuse

Please select a reason, enter your email, solve the captcha, and optionally add a comment. This file's UUID will be reported.

captcha