1� � F{ (()*+ ,
OLE 2.0 Toolkit -- April 1993 Release
MicrosoftR Object Linking and Embedding
Version 2 for the WindowsTM NT Operating System
Beta2 Release Notes
July 1993
This is a legal agreement between you (either an individual or an entity), the end user, and Microsoft
Corporation. If you do not agree to the terms of this Agreement, promptly return the disks and the
accompanying items (including written materials and binders or other containers) to Microsoft Corporation.
MICROSOFT LICENSE AGREEMENT FOR PRE-RELEASE PRODUCT
(Microsoft Object Linking and Embedding (OLE) Version 2.0 for Windows NT, Beta2 Release)
1. GRANT OF LICENSE. Microsoft grants you the non-exclusive, non-assignable right to make an unlimited number of copies of the enclosed software (including all OLE libraries, debug utilities, and development tools) and documentation (collectively, "PRODUCT") solely for internal use for the purposes of testing and evaluation. You may not rent, lease, sell, sublicense, assign, or otherwise transfer this PRODUCT. You may not reverse engineer, decompile, or disassemble the PRODUCT. You must cease use of the PRODUCT upon the earlier of either Microsoft's public release of the commercial version of the PRODUCT, or upon request by Microsoft.
2. PRE-RELEASE CODE. This PRODUCT is pre-release code and is not at the level of performance and compatibility of the final, generally available product offering. The PRODUCT may not operate correctly and may be substantially modified prior to first commercial shipment.
3. COPYRIGHT. The PRODUCT is owned by Microsoft or its suppliers and is protected by United States copyright laws and international treaty provisions. Therefore, you must treat the PRODUCT like any other copyrighted material (e.g. a book or musical recording).
4. TERMINATION. Microsoft may terminate this Agreement in writing at any time, with or without cause. Upon termination, you shall immediately return, or certify destruction of, all full or partial copies of the PRODUCT and all other materials provided by Microsoft. You agree that your obligation regarding non-disclosure of any specific information shall terminate at such time as that specific information is in the public domain through no fault of your own, or upon written consent by Microsoft.
5. SAMPLE CODE. Microsoft grants you a non-exclusive royalty-free right to use and modify the source code version and to reproduce and distribute the object code version of those portions of the PRODUCT which are designated as Sample Code provided that you: (a) distribute the Sample Code only in conjunction with and as part of your software product; (b) do not use Microsoft's name, logo, or trademarks to market your software application product; and (c) agree to indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of your software application product.
DISCLAIMER OF WARRANTY
The PRODUCT, including Sample Code, constitutes pre-release code and may be changed substantially before the first commercial release. The PRODUCT and Documentation are provided "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT FURTHER DISCLAIMS ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE PRODUCT AND DOCUMENTATION REMAINS WITH YOU.
IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE PRODUCT OR DOCUMENTATION, EVEN IF MICROSOFT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
U.S. GOVERNMENT RESTRICTED RIGHTS
The PRODUCT and Documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(i) and (2) of Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/ One Microsoft Way/Redmond, WA 98052-6399.
This Agreement is governed by the laws of the State of Washington.
Should you have any questions concerning this Agreement, or if you desire to contact Microsoft for any reason, please write:
Microsoft Corporation OLE Beta Coordinator/One Microsoft Way/ Redmond, WA 98052-6399.
Before using this Beta2 release of the OLE 2.0 Toolkit for Windows NT (referred to herein as 'this Beta OLE Toolkit' for brevity), please read the following release notes.
Purpose of Release
This Beta OLE Toolkit provides much improved content, functionality, and documentation over the May 1993 Beta1 release.
This release shares much of its code and documentation base with the April 1993 final release of the OLE 2.0 Toolkit for Windows. A substantial portion of the overall functionality of OLE 2.0 for Windows NT is now in place and working at some level. However, it is important to keep in mind that this Beta OLE Toolkit is not at the same level of development as the final OLE 2.0 Toolkit for Windows. Some features which were included in the Windows version may not be implemented yet for the Windows NT version, and others may not work properly.
Contents of this Beta OLE Toolkit
The following directory structure and files can be found in this release:
[ROOT]
Release notes for this OLE 2.0 Toolkit (this file)
Configuration batch files REGINIT.BAT and SETNVOLE.BAT
BIN
Debug versions of the OLE 2.0 DLLs
Sample and test application executables
.REG registration files for the sample and test application executables
DOCS
OLE and OLE Automation documentation
Help files for OLE, OLE Automation, and UI Dialog implementation
OLE 2.0 Specification
Technotes
OLE 2.0 Backgrounders
Bug reporting template for Compuserve
H
The .H header files
LIB
The .LIB library files
SAMPLES
Sources for different sample programs demonstrating OLE 2.0 and OLE Automation
Sources for OLE 2.0 UI components
Known Problems
Known problems with any of the sample or test applications are discussed in the section describing the application.
Known problems relating to OLE Automation can be found under the heading OLE Automation Issues.
Configuration
To properly configure your machine to make use of this Beta OLE Toolkit, create a new directory on your hard disk and copy the entire Beta OLE Toolkit tree from the CD/ROM to this new directory. The default location assumed by certain components in the toolkit is C:\MSTOOLS\OLE20. If you received your copy of this Beta OLE Toolkit with the Win32 SDK, this will be done for you as part of the Win32 SDK Setup procedure.
Once you've done this you will need to manually run the REGINIT batch file to add registration information concerning Beta OLE Toolkit components to your registry. This batch file will first spawn REGADD.EXE, a tool which is used both to clean up out-of-date (pre-beta2) information in the registry as well as to set certain default OLE information in the registry; simply click on the "RegAdd" menu and select "Cleanup", then click on the "RegAdd" menu and select "Default", then close the tool. The batch file will continue and will run REGEDIT to add registry information specfic to OLE 2.0 and the samples. This will *only* need to be done the first time you install the SDK. Note, however, that REGADD.EXE may be used at any future time to remove all Beta OLE Toolkit related information from the registry if so desired by selecting "Cleanup" from the "RegAdd" menu.
Please note that any registration information concerning the 32-bit OLE 1.0 test applications included in this release will be registered by the applications themselves when they are executed.
To properly set the environment for building the sample code you will need to invoke the SETNVOLE batch file, which will add certain Beta OLE Toolkit directories to your PATH and other environment variables. If you wish this can also be done at the system level by way of the "System" applet in the control panel.
You will need to use the "System" applet in the control panel to add the C:\MSTOOLS\OLE20\BIN directory to your path (assuming a default installation location) in order for certain OLE 1.0 applications (Mail and Cardfile) to work as OLE 1.0 containers properly with OLE 2.0 server applications.
You will also need to manually create a new Program Group (e.g., Win32 OLE2) in the program manager, and create new Program Items within this new group for each of the .EXE files in the BIN directory of the Toolkit.
Documentation
This Beta OLE Toolkit comes with the same electronic versions of the documentation that were released with the April 1993 final release of the OLE 2.0 Toolkit for Windows. Generally speaking, the documentation for the OLE 2.0 Toolkit for Windows is equally applicable for this Beta OLE Toolkit for Windows NT. The accompanying sample code should be used as supporting material for the documentation.
Since the publishing of the Programmer's Reference, some edits were made in the documentation. These edits are reflected in the electronic copy of the documentation.
A Windows Help file version of the documentation is included to ease the viewing of the documentation online.
Technotes
A separate technote file (TECHNOTE.WRI) is included in the DOCS directory. The file contains helpful information and a more detailed discussion on different subjects and issues that we have found difficult and in a need of a more careful explanation. Please read the notes before writing your OLE 2.0 application. Especially the topics about in-place editing should be read carefully when writing in-place editing applications.
In addition, a separate directory containing tech notes related to OLE Automation is also included.
Specification
This Beta OLE Toolkit contains the latest electronic version of the OLE 2.0 Specification. We have included the specification for those who are interested in a more detailed background and architectural discussion of the OLE 2.0 product. There is a significant overlap in material between the Programmer's Reference and the Design Specification. Some of the last minute edits that did not make it in the Programmer's Reference can be found in the Specification.
Features Currently Implemented
This Beta OLE Toolkit supports the following major areas of OLE 2 functionality:
* Compound Files
* Linking
* Embedding
* Drag and Drop
* Visual (In-Place) Editing
* Linking to Embedded Objects
* Compatibility with OLE 1.0 applications
* OLE Automation
The sample applications included in this release exercise each of these areas of functionality. In addition, these sample applications implement several of the recommended OLE 2 standard UI dialogs.
Changes Since the May 1993 Beta1 Release
The following changes have taken place since the May 1993 Beta1 release:
Adherance to 16-bit Implementation
This release of the 32-bit OLE code for Windows NT uses header files, interfaces, and APIs that
are fully compatible with the final release of the 16-bit OLE 2.0 Toolkit for Windows.
Header File Changes
There are a few header file changes since the May Beta1 release.
Error Code Changes
There are a few error code changes since the May Beta1 release.
Registry Changes/Additions
The registration format has been enhanced since the May Beta1 release.
All CLSIDs are now stored under a CLSID entry, and all IIDs are under an Interface entry.
An OLE entry has been added under the HKEY_LOCAL_MACHINE\SOFTWARE tree which
includes the size and location of OLE shared memory, the list of 16-32 name mappings for
known dlls, the name of the shared memory server executable, and some miscellaneous info.
InprocHandler, Inprocserver now have optional 32 bit equivalents: Inprocserver32,
Inprochandler32. If only the old (16bit) entries are present their value is mapped using
the KnownDlls list.
OLE Automation
This Beta OLE Toolkit includes a more complete set of OLE Automation components.
Areas Subject to Change
Some of the interfaces will undergo changes in order to have 32-bit OLE 2.0 for Windows NT be Unicode-based. Our plan is that *all* strings in all APIs and methods, incuding those in structures, will be Unicode, including IDispatch and typeinfo interfaces.
Please note that ongoing work may result in a change, addition, or deletion of one or more interfaces.
The changes that may take place between now and the final release:
* The final release will contain retail versions of the libraries (this Beta is debug only).
* The docfile format may change.
* Some of the interfaces may change.
Hints
Please consider the following hints when using this Beta OLE Toolkit:
1. Use of the Microsoft Win32 SDK is highly recommended. This Beta OLE Toolkit release was
developed using the final release of the Win32 SDK.
2. Before installing this Beta OLE Toolkit on your machine, please make sure that you don't have
any OLE 2.0 pre-beta2 components (dlls, libs, sample code, binaries etc.) in ANY directory on
your machine.
3. If you experience difficulties where applications cannot find classes that are registered, try
rebuilding the registration database. Make sure that you follow the new registration guidelines.
4. In order to correctly use this Beta OLE Toolkit, you need to add the BIN directory to your PATH
statement. This is to assure that the sample programs can find the OLE 2.0 DLLs. The batch file
SETNVOLE.BAT will take care of this and other important configuration issues for you.
5. To debug incoming messages in your application, place the breakpoint in CSvrLRPC::Invoke.
6. To debug outgoing messages in your application, place the breakpoint in CCliLRPC::Call.
7. To do low level debugging, place the breakpoint in LrpcWndProc.
8. You are able to avoid some compiler problems if you keep the names in nested classes short.
9. If you have a transacted storage, you should not rename an unopened child element more than
once before committing your changes or you will not be able to access it. For example, if
transacted Storage S contains child A, you shouldn't do the following:
pStgS->RenameElement("A", "B")
// optional ops without a Commit...
pStgS->RenameElement("B", "C")
// optional ops without a Commit...
pStgS->OpenStream("C", ..) // this will not work correctly
A simple solution is to open and release the child before renaming it (if you can't open it that
means its already open and you won't experience the above problem).
10. If you begin to notice strange behavior, you might try re-registering the registration information
by re-executing the REGINIT batch file.
11. Keep an eye on your TMP or TEMP directory for random .DFT files. These can build up and
really use up disk space.
12. Use PVIEW and PVIEWER (supplied with the Win32 SDK) to clean up after any random or
unexpected program terminations.
Issues Related with the OLE 2 Libraries
1. 16/32-bit Interoperability is not supported in this release.
2. OLE 1.0/2.0 compatibility is supported in this release.
Issues Related with the Sample Code
1. Different levels of debug output messages can be enabled in the OUTLINE sample applications.
The default level of debug messages is controlled by how the OUTLUI.DLL is built. This DLL
maintains a global debug level value which can be modified at run-time (via the Debug menu in
the OUTLINE applications--DbgSvr, DbgCntr, DbgISvr, DbgICntr). The debug level in effect
applies to all running applications because they all are bound to the same OUTLUI.DLL
instance.
The default value for the debug level for OUTLUI.DLL can be controlled by the value of the
DEBUG= entry in the UIMAKE.INI.
The following values produce the following levels of debugging information:
0 -- no debug messages
1 -- a small amount of debug messages
2 -- debug messages to trace every OLE method/API called (default)
3 -- debug messages to trace important functions in OUTLINE applications
4 -- debug messages to trace object reference counting.
2. The OUTLINE series must be compiled with the option to consider 50 characters significant in
function names.
3. Although OUTLINE sample code uses the OLE 2.0 UI dialog as a separate DLL, we recommend
that you statically link the OLE 2.0 dialogs with your code. If you use the UI component as a
separate DLL, please use a unique name and install the DLL in the same directory you install
your application.
4. ICNTROTL does not have a mechanism for managing the number of in-place server .exes that it
keeps running. Once activated, the servers will not be shut down until the document is closed.
When running in low memory, the applications should implement a mechanism that will take
care of shutting down the least recently used apps whose objects are not in view.
5. ICNTROTL can be used as both inside-out and outside-in capable container. The option is
controlled via the debug menu in the application. Note that this menu (and the option to change
the behavior of the application) is provided for debugging purposes only. A 'real' application
should NOT provide a user control for changing between inside-out and outside-in modes. When
using ICNTROTL it is recommended that you set the option before inserting any in-place capable
objects (i.e. in the beginning of the session).
6. ISVROTL.EXE is implemented (and registered in the registry) as an inside-out capable
server. It is recommended that the containers that support in-place editing use ISVROTL in
inside-out fashion.
For a detailed discussion of the behavior and implementation of inside-out vs. outside-in capable
servers and containers, please refer to the OLE 2.0 Toolkit TECHNOTES and Specification.
OLE Automation Issues
Ole2Di32.Dll
Ole2Di32.Dll is included with this release. There are no known limitations in this area.
TypLib32.Dll
TypLib32.Dll is included with this release. It contains the following known limitations:
1. LoadRegTypeLib does not correctly use information in the registry. If you specify a full path
in the registry (e.g., c:\ole2\stdole.tlb), LoadRegTypeLib ignores this path.
2. ITypeInfo::Invoke does not work correctly with more than one parameter. All parameters are
coerced to the type of the first parameter passed, which is incorrect.
MkTypLib.Exe
MkTypLib.Dll is included with this release. It contains the following known limitations:
1. When importing a library, you must specify a full path for the type library. Placing the
referenced type library in the current directory also works.
Active Object Registration Functions
The active object registration functions, which include GetActiveObject, RegisterActiveObject, and RevokeActiveObject, do not work properly in all scenarios. If you create an object, call RegisterActiveObject, and then release the object, an incorrect state is reached. Subsequent calls to GetActiveObject do not work properly.
NLS Support
Windows NT has built-in National Language Support. Therefore, we will not include any NLS support as part of OLE Automation. This means that OLENLS.H and the associated ASCII locale API functions (CompareStringA, LCMapStringA, GetLocaleInfoA, GetSTringTypeA) defined in OLE2NLS.DLL will not be provided. These are provided for the 16-bit OLE 2.0 Toolkit for Windows.
DspCalc2.Exe
Because of a bug in MkTypLib, calctype.odl contains a reference to stdole.tlb which uses a full path -- "c:\mstools\ole20\bin\stdole.tlb". If you did not install OLE 2.0 in the default directory, then this path is invalid, and the sample will fail to build. To fix the problem, correct the path in calctype.odl so that it points to the OLE bin directory.
Debugging Tools
DFVIEW
DFVIEW.EXE is a Windows program that provides a listing of the elements within a docfile. Just load the file that you want to view via the File.Open... menu. DFVIEW has a Help dialog that will explain in detail how to use the tool.
IDataObject VIEWER
The IDataObject Viewer can be used for looking at the list of data formats offered by IDataObject, either from a clipboard or a drag/drop operation.
LRPC Message Monitor
LRPC Message Monitor is a tool that displays the messages passed between two applications. You are able to view the messages in the window and scroll through them.
UUIDGEN
UUIDGEN.EXE is a program which generates a unique class id (CLSID). For UUIDGEN to correctly generate a unique id, you need to run it on a machine that has a network card. For details on CLSIDs and their use, please refer to the documentation in the Programmer's Reference and Chapter 4 of the Design Specification. If you don't have a network card in your system and you need a CLSID you can obtain one by calling Microsoft at 1-800-358-5015.
Sample Code
This release contains several different sample programs with source code. Please note that the sample programs are not complete, that they do not have equal implementation of features, and that not all of them exercise all of the features implemented in the Beta OLE 2.0 libraries.
Please note that all MAKEFILEs assume that you have properly configured your machine using the provided SETNVOLE batch file.
SPOLY.EXE
SPOLY is a very simple IDispatch-only OLE 2.0 server that allows containers to create and draw polygons.
SPOLY2.EXE
This is an alternate implementation of SPOLY that uses OLE helper functions to automatically delegate IDispatch::Invoke calls to C++ member functions.
DISPDEMO
This is a container of the SPOLY application. DISPDEMO implements a C++ wrapper class that creates and communicates with SPOLY polygons via IDispatch. The rest of DISPDEMO calls this C++ class, and is not aware of IDispatch or remoting.
DISPCALC
This is a simple calculator that supports OLE Automation. The calculator's IDispatch implementation is completely provided by a component object returned from the new API CreateStdDispatch.
DSPCALC2
This is a simple calculator that supports OLE Automation. The calculator has a type library and uses this type library to create its IDispatch interface.
TIBROWSE
TIBROWSE is a tool which allows you to browse type libraries, which are .tlb files. This sample shows how to use the ITypeLib and ITypeInfo interfaces.
OUTLINE SERIES
This sample application set demonstrates taking a 'base' application (in this case OUTLINE.EXE)
and extending it into an OLE 2.0 server and container (both in-place editing and non-in-place editing versions are provided -- the inplace editing version can contain both inside-out and outside-in objects).
All five applications are built from common sources. Files that begin with CNTR are specific to
the container version, files that begin with ICNTR are specific to the in-place container version, files that begin with SVR are specific to the server version and files that begin with ISVR are specific to the in-place server version . These sample applications highlight the changes necessary to implement OLE into an existing application. The container versions have the same functionality as the base (OUTLINE) and also allow you to embed and link objects.
All OUTLINE applications support loading and saving files using docfiles for storage. The five versions of the application are built in five subdirectories (outline\outline, outline\cntroutl, outline\icntrotl, outline\isvrotl, outline\svroutl). The same MAKEFILE (makefile) is used to build all five applications:
nmake -- builds OUTLINE base application
nmake APP=svroutl -- builds SVROUTL server application
nmake APP=isvrotl -- builds ISVROTL in-place server application
nmake APP=cntroutl -- builds CNTROUTL container application
nmake APP=icntrotl -- builds ICNTROTL in-place container application
nmake clean -- deletes generated files for OUTLINE
nmake APP=XX clean -- deletes generated files for XX
BTTNCUR.DLL
SAMPLES\BTTNCUR directory contains the source files that are used for creating the standard button images and cursors DLL. The MAKEFILE in the directory will build the BTTNCUR.DLL. For the use of the DLL, please see the OUTLINE sample code sources. This is version 1.1 of BTTNCUR, an update from the version 1.0 DLL shipped with "The Windows Interface" book. CHANGES.TXT file highlights the additions and modifications. If you use BTTNCUR.DLL you should use a unique name to avoid overwriting.
GIZMOBAR.DLL
SAMPLES\GIZMOBAR directory contains the source files that are used for creating the standard gizmobar DLL. The MAKEFILE in the directory will build the GIZMOBAR.DLL. For the use of the DLL, please see the OUTLINE sample code sources. If you use GIZMOBAR.DLL, you should use a unique name to avoid overwriting.
OLE 2.0 UI Component
The OUTLINE sample code applications use the standard OLE 2.0 dialogs found in OUTLUI.DLL. Although the OLE 2.0 UI can be used as a dynamically loaded library (DLL), we recommend that you statically link the dialog code (LIB) with your application. If you decide to use the OLE 2.0 dialogs as a DLL, please USE A UNIQUE NAME FOR YOUR DLL and install it in the same directory you install your application to avoid name conflict and overwriting.
Test Applications
CL32TEST.EXE and SR32TEST.EXE
Cl32test and Sr32test are test applications that can be used for testing your OLE 2.0 applications. Both Cl32test and Sr32test are fully featured OLE 2.0 applications. Additionally, they implement ways to exercise OLE 2.0 features that cannot be found in a 'regular' OLE 2.0 application. The best way to become familiar with the features provided is to play with the test applications.
There is a known problem with using Sr32test in interoperability scenarios with OLE 1.0 container applications. In general, Sr32test only works with OLE 2.0 container applications at this time.
Cl32test does not correctly handle more than a single in-place object within a window. Also, when you delete an InPlaceSDemo1 object from a Cl32test window, you will receive a warning that the reference count is off; just press OK and continue.
OLETEST.EXE
OLETEST is an OLE 2.0 application used to test container functionality. The best way to become familiar with the features provided is to play with the application. Please note that FileSave does not work properly (although FileSaveAs does), and the Test menu does not work at all.
SDEMO1.EXE
This is an OLE 1.0 server sample application upgraded to an OLE 2 server. It allows you to create
a rectangle and set its color. It is an SDI application. You can create one rectangle at a time. It
supports 2 verbs (0=play, 1=edit). For verb play it cycles through the available object color choices.
IPSDEMO1.EXE
This is an OLE 1.0 server sample application upgraded to an OLE 2 server. IPSDEMO1 is an SDI application. You can create one rectangle at a time. In addition, IPSDEMO1 supports in-place editing. It supports two verbs (0=play, 1=edit in place). For verb play it cycles through the available object color choices. IPSDEMO1 has a draggable button bar that can be anchored to the top of the frame window, anchored to the left side, or unanchored as a floating pallet.
32-bit OLE 1.0 Test Applications
A collection of 32-bit OLE 1.0 test applications is provided to enable testing of OLE 1.0/2.0 compatibility. The best way to become familiar with the features provided is to play with the test applications.
It is also interesting to note that several 32-bit OLE 1.0 applications come with Windows NT or the Win32 SDK; these include the container applications Cardfile and Mail, and the server applications Media Player, Pbrush, Soundrec, and Packgr32.
CLTEST.EXE
CLTEST is a 32-bit OLE 1.0 application used to test container funtionality.
CLIDEMO.EXE
CLIDEMO is a 32-bit OLE 1.0 application used to test OLE 1.0/2.0 compatibility.
SRVRTEST.EXE
SRVRTEST is a 32-bit OLE 1.0 application used to test server funtionality.
SRVRDEMO.EXE
SRVRDEMO is a 32-bit OLE 1.0 application used to test OLE 1.0/2.0 compatibility.
Developer Support
Technical support for this Beta OLE 2.0 Toolkit release for Windows NT will be supported on Compuserve via the WINOBJ forum. All communication (questions, bug reporting etc.) will happen via this forum of Compuserve. Below are the current section names:
1) Non Tech Services
2) Component Obj Model
3) Structured Storage
4) OLE: User Interface
5) OLE: Drag&Drop
6) OLE: Naming/Monikers
7) OLE1: Interop issues
8) OLE: Automation
13) OLE1 Issues
17) Strategic Issues
Bug Reporting Template
All bug reporting should be done via Compuserve by uploading a report using the following bug reporting template (this template can also be found in the DOCS subdirectory of the Beta OLE Toolkit):
Bug Title: (66 characters maximum)
Product: July 1993 Beta2 OLE 2.0 Toolkit for Windows NT
Version Number: [returned by OleBuildVersion()]
Description of Bug: (be as specific as possible)
Duplication Scenario: (be a specific as possible)
Work-around: (if any)
Tools, Services or Applications Running/Versions:
Machine Configuration:
Computer Brand and Model:
Processor Type and Speed:
Memory (RAM):
Peripherals (include make/model):
network cards:
network type:
hard disk size:
other disk/controllers:
CD-ROM drive:
video adapter:
Reproducible:
Always
Intermittent
Not reproducible
Severity level:
Sev 1: System crashes, data corruption error
Sev 2: Does not operate correctly
Sev 3: Cosmetic or minor usability problem
Sev 4: Suggestion or documentation error
Date:
Customer Name:
Customer Company:
Area Code and Phone:
CompuServe ID:
Questions and Concerns
Any technical questions or concerns regarding OLE 2.0 should be presented via Compuserve.
OLE Automation Beta Feedback and Technical Support
Please use Compuserve's OLE Automation forum for technical support and beta feedback for the OLE Automation components, which include TypLib32.Dll, MkTypLib.Exe and Ole2Di32.Dll. We value your feedback, which might include bug reports, feature suggestions and documentation suggestions.
OLE Automation Beta Survey
An electronic survey can be found in Library 8 of the WINOBJ forum. To participate in the survey, follow the following steps:
1. Download the survey files from Compuserve. The files are in Library 8 of the WINOBJ forum.
2. Run survey.exe from Windows. After you have finished answering questions, a .CSV will be created. This file contains your answers.
3. Upload your .CSV file to Compuserve. You should place it in Library 8 of the WINOBJ forum.
gle at a time. It
supports 2 verbs (0=play, 1=edit). For� � v � r � n � g � c � \ ) X � T � P @ L T I \`��
N @T � w t � p � l { h } d � ` � \ M X O T h P j L N j w t � p � l � h � d � a ( ] . Y A U H Q ^ M N ^ d w w s ~ o � k � g � c _ �! [ �! W +"