| Updated: 21 January 1999 |
OpenVMS Connectivity Developer Guide
| Previous | Contents | Index |
The appendixes provide information about the MIDL compiler, COM sample code, and APIs and interfaces.
This section also contains coupons for related COM books, a glossary and list of acronyms.
| Switch | Use |
|---|---|
| /ms_ext | Microsoft extensions to the IDL language (default) |
| /c_ext | Allow Microsoft C extensions in the IDL file (default) |
| /osf | OSF mode - disables /ms_ext and /c_ext options |
| /app_config | Allow selected ACF attributes in the IDL file |
| /mktyplib203 | MKTYPLIB Version 2.03 compatibility mode |
| Switch | Use |
|---|---|
| /acf filename | Specify the attribute configuration file |
| /I directory-list | Specify one or more directories for include path |
| /no_def_idir | Ignore the current and the INCLUDE directories |
| Switch | Use |
|---|---|
| /client none | Do not generate client files |
| /client stub | Generate client stub file only |
| /out directory | Specify destination directory for output files |
| /server none | Generate no server files |
| /server stub | Generate server stub file only |
| /syntax_check | Check syntax only; do not generate output files |
| /Zs | Check syntax only; do not generate output files |
| /old | Generate old format type libraries |
| /new | Generate new format type libraries |
| Switch | Use |
|---|---|
| /cstub filename | Specify client stub file name |
| /dlldata filename | Specify dlldata file name |
| /h filename | Specify header file name |
| /header filename | Specify header file name |
| /iid filename | Specify interface UUID file name |
| /proxy filename | Specify proxy file name |
| /sstub filename | Specify server stub file name |
| /tlb filename | Specify type library file name |
| Switch | Use |
|---|---|
| /cpp_cmd cmd_line | Specify name of C preprocessor |
| /cpp_opt options | Specify additional C preprocessor options |
| /D name[=def] | Pass #define name, optional value to C preprocessor |
| /no_cpp | Turn off the C preprocessing option |
| /nocpp | Turn off the C preprocessing option |
| /U name | Remove any previous definition (undefine) |
| Switch | Use |
|---|---|
| /char signed | C compiler default char type is signed |
| /char unsigned | C compiler default char type is unsigned |
| /char ascii7 | Char values limited to 0-127 |
| /dos | Target environment is MS-DOS client |
| /env dos | Target environment is MS-DOS client |
| /env mac | Target environment is Apple Macintosh |
| /env powermac | Target environment is Apple PowerMac |
| /env win16 | Target environment is Microsoft Windows 16-bit (Win 3.x) |
| /env win32 | Target environment is Microsoft Windows 32-bit (NT) |
| /mac | Target environment is Apple Macintosh |
| /ms_union | Use Midl 1.0 non-DCE wire layout for non-encapsulated unions |
| /oldnames | Do not mangle version number into names |
| /powermac | Target environment is Apple PowerMac |
| /rpcss | Automatically activate rpc_sm_enable_allocate |
| /use_epv | Generate server side application calls via entry-pt vector |
| /no_default_epv | Do not generate a default entry-point vector |
| /prefix client str | Add "str" prefix to client-side entry points |
| /prefix server str | Add "str" prefix to server-side manager routines |
| /prefix switch str | Add "str" prefix to switch routine prototypes |
| /prefix all str | Add "str" prefix to all routines |
| /win16 | Target environment is Microsoft Windows 16-bit (Win 3.x) |
| /win32 | Target environment is Microsoft Windows 32-bit (NT) |
| Switch | Use |
|---|---|
| /error none | Turn off all error checking options |
| /error allocation | Check for out of memory errors |
| /error bounds_check | Check size vs transmission length specification |
| /error enum | Check enum values to be in allowable range |
| /error ref | Check ref pointers to be non-null |
| /error stub_data | Emit additional check for server side stub data validity |
| /no_warn | Suppress compiler warning messages |
| Switch | Use |
|---|---|
| /align {1|2|4|8} | Designate packing level of structures |
| /pack {1|2|4|8} | Designate packing level of structures |
| /Zp{1|2|4|8} | Designate packing level of structures |
| /Oi | Generate fully interpreted stubs |
| /Oic | Generate fully interpreted stubs for standard interfaces and stubless proxies for object interfaces as of NT 3.51 release |
| /Oicf | Generate fully interpreted stubs with extensions and stubless proxies for object interfaces as of NT 4.0 release |
| /Os | Generate inline stubs |
| /hookole | Generate HookOle debug info for local object interfaces |
| Switch | Use |
|---|---|
| @response_file | Accept input from a response file |
| /? | Display a list of MIDL compiler switches |
| /confirm | Display options without compiling MIDL source |
| /help | Display a list of MIDL compiler switches |
| /nologo | Suppress displaying of the banner lines |
| /o filename | Redirects output from screen to a file |
| /W{0|1|2|3|4} | Specify warning level 0-4 (default = 1) |
| /WX | Report warnings at specified /W level as errors |
SAMPLE1 and DISPATCH_SAMPLE1 are taken from Dale Rogerson's book, Inside COM, published by Microsoft Press. |
This sample implements a COM client and server in which the component provides two interfaces: IX and IY. The client also queries the component for a third interface, IZ, an interface that the component does not provide.
This sample demonstrates connectivity between two OpenVMS systems,
between two Windows NT systems, or between an OpenVMS system and a
Windows NT system.
B.1.1 OpenVMS Instructions
The following sections describe how to build the application on an
OpenVMS system.
B.1.1.1 Building the Application on OpenVMS
Copy files from the DCOM examples directory to your local directory. For example:
$ set default mydisk:[mydirectory] $ copy dcom$examples:[sample1]*.* [] |
To build the application, run the following command procedure:
$ @build_sample1 |
If you have MMS, you can use the included description file as follows:
$ MMS/DESCRIPTION=BUILD_SAMPLE1.MMS |
The BUILD file builds and registers both the in-process and
out-of-process servers.
B.1.1.2 Registering the Application on OpenVMS
The build procedure automatically registers both CMPNT$SHR.EXE and CMPNT.EXE. To register the components manually, use the following procedure:
$ regsvr32 :== $DCOM$REGSVR32.EXE $ regsvr32 path-nameCMPNT$SHR.EXE |
$ regsvr32 /u path-nameCMPNT$SHR.EXE |
$ cmpnt :== $path-nameCMPNT.EXE $ cmpnt /regserver |
$ cmpnt /unregserver |
$ regsvr32 path-namePROXY$SHR.EXE |
$ regsvr32 /u path-namePROXY$SHR.EXE |
To run the sample where the component is an out-of-process server, run CMPNT.EXE. When the system displays the Server: Waiting message from the component, run the client in a separate window or terminal session.
$ run cmpnt |
$ client :== $path-nameCLIENT.EXE For OutProc: $ client 2 $ |
The client displays the following:
To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 2 to select the out-of-process server.
B.1.1.4 Running the Application on OpenVMS and Specifying a Remote Server
Run CMPNT.EXE on the system you designate as the remote machine (or server system). The remote system can also be a Windows NT system. When you receive the Server: Waiting message from the component, run the client on the system you designate as the local machine (or client system). For example:
$ client :== $path-nameCLIENT.EXE $ client remote-system-name 2 $ |
The client displays the following:
To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 2 to select remote server execution, out-of-process
server.
B.1.1.5 Running the Application on OpenVMS as an In-Process Server
To run the sample where the component is an in-process server, run only the client. For example:
For InProc: $ client 1 $ |
The client displays the following:
To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 1 to select the in-process server.
B.1.2 Windows NT Instructions
The following sections describe how to build the application on a
Windows NT system.
B.1.2.1 Building the Application on Windows NT
Copy the README-SAMPLE1.TXT file and the following files from the COM examples directory to your Windows NT system:
CLIENT.CXX CMPNT.CXX CMPNT.DEF GUIDS.CXX MAKE-ONE. MAKEFILE.BAT PROXY.DEF REGISTRY.CXX REGISTRY.H SERVER.IDL |
Build the sample using the MAKEFILE.BAT file. For example:
> MAKEFILE |
The Makefile builds and registers both the in-process and
out-of-process servers.
B.1.2.2 Registering the Application on Windows NT
The build procedure make-one automatically registers CMPNT.DLL, PROXY.DLL, and CMPNT.EXE as follows:
regsvr32 -s Cmpnt.dll regsvr32 -s Proxy.dll Cmpnt /RegServer |
To unregister the application, enter the following:
regsvr32 -u Cmpnt.dll regsvr32 -u Proxy.dll Cmpnt /UnRegServer |
Run CLIENT. Follow the same procedure as described for OpenVMS for running the application as an in-process server ( Section B.1.1.5) and out-of-process server Section B.1.1.3).
Do not use command-line arguments to instantiate the object on the current machine. Use the name of a remote machine (UNC or DNS) as an argument to instantiate the object on the remote machine. For example:
>Client hostname ! point the client at the remote system 2 ! means outproc invocation > |
This sample implements the Automation component server as a dual interface. There are two separate clients: Dclient, which connects to the dual interface through the dispinterface, and Client, which is a COM client implementation that connects through the IUnknown interface (using a v-table).
This sample demonstrates connectivity between two OpenVMS systems,
between two Windows NT systems, or between an OpenVMS system and a
Windows NT system.
B.2.1 OpenVMS Instructions
The following sections describe how to build the application on an
OpenVMS system.
B.2.1.1 Building the Application on OpenVMS
Copy files from the DCOM examples directory to your local directory. For example:
$ set default mydisk:[mydirectory] $ copy dcom$examples:[dispatch_sample1]*.* [] |
To build the application, run the following command procedure:
$ @build_dispatch_sample1 |
If you have MMS, you can use the included description file as follows:
$ MMS/DESCRIPTION=BUILD_DISPATCH_SAMPLE1.MMS |
The BUILD file builds and registers both the in-process and
out-of-process servers.
B.2.1.2 Registering the Application on OpenVMS
The build procedure automatically registers both CMPNT$SHR.EXE and CMPNT.EXE. To register the components manually, use the following procedure:
$ regsvr32 :== $DCOM$REGSVR32.EXE $ regsvr32 path-nameCMPNT$SHR.EXE |
$ regsvr32 /u path-nameCMPNT$SHR.EXE |
$ cmpnt :== $path-nameCMPNT.EXE $ cmpnt /regserver |
$ cmpnt /unregserver |
To run the sample where the component is an out-of-process server, run CMPNT.EXE.
When the system displays the Server: Waiting message from the component, run the client in a separate window or terminal session.
$ run cmpnt |
$ run dclient |
$ run client |
The client displays the following:
To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 2 to select the out-of-process server.
B.2.1.4 Running the Application on OpenVMS and Specifying a Remote Server
Run CMPNT.EXE on the system you designate as the remote machine (or server system). The remote system can also be a Windows NT system. When you receive the Server: Waiting message from the component, run the client on the system you designate as the local machine (or client system). For example:
To use the COM client, enter the following:
$ client :== $path-nameCLIENT.EXE $ client remote-system-name To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 2 to select remote server execution, out-of-process
server.
B.2.1.5 Running the Application on OpenVMS as an In-Process Server
To run the sample where the component is an in-process server, run only the client. For example:
$ run dclient |
$ run client |
The client displays the following:
To which server do you want to connect? 1) In-Process Server 2) Out-of-Process Server : |
Enter 1 to select the in-process server.
B.2.2 Windows NT Instructions
The following sections describe how to build the application on a
Windows NT system.
B.2.2.1 Building the Application on Windows NT
Copy the README-DISPATCH-SAMPLE1.TXT file and the following files from the COM examples directory to your Windows NT system:
CLIENT.CXX DCLIENT.CXX CMPNT.CXX CMPNT.DEF MAKE-ONE. MAKEFILE.BAT REGISTRY.CXX REGISTRY.H SERVER.IDL |
Build the sample using the MAKEFILE.BAT file. For example:
C:> MAKEFILE |
The Makefile builds and registers both the in-process and
out-of-process servers.
B.2.2.2 Registering the Application on Windows NT
The build procedure make-one automatically registers CMPNT.DLL, PROXY.DLL, and CMPNT.EXE as follows:
regsvr32 -s Cmpnt.dll Cmpnt /RegServer |
To unregister the application, enter the following:
regsvr32 -u Cmpnt.dll Cmpnt /UnRegServer |
Run DCLIENT or CLIENT. Follow the same procedure as described for OpenVMS for running the application as an in-process server ( Section B.2.1.5) and an out-of-process server ( Section B.2.1.3).
Do not use command-line arguments to instantiate the object on the current machine. Use the name of a remote machine (UNC or DNS) as an argument to instantiate the object on the remote machine.
The following upgrade notes describe known incompatibilites between
COM Version 1.0 for OpenVMS and earlier field test versions, and provide migration
solutions when appropriate.
C.1.1 COM for OpenVMS Field Test Versions are Incompatible with OpenVMS Version 7.2
An incompatibility between field test versions of COM for OpenVMS and OpenVMS Version 7.2 prevents the COM for OpenVMS runtime from starting.
If you are running a COM for OpenVMS field test version (G1.0, H1.0, or I1.0) and you upgrade to OpenVMS Version 7.2, you must install COM Version 1.0 for OpenVMS before you can start COM or run any COM applications.
For more information about installing and configuring COM for OpenVMS,
see Chapter 4.
C.1.2 Upgrading from Any Field Test Version of COM for OpenVMS to COM Version 1.0 for OpenVMS
If you are upgrading from COM for OpenVMS EFT1, EFT2, or EFT3, you must
recompile and relink any user-written COM applications after you
install this version of COM for OpenVMS.
C.1.3 Nameless Structures and Variant Args
Field test versions of COM for OpenVMS included a copy of OAIDL.H with special conditional code that required you to change the way you defined variant arguments. This special conditional code has been removed for COM Version 1.0 for OpenVMS. You must modify any applications that use variant arguments to revert to the standard method of defining those arguments.
For example, the Field Test versions of COM for OpenVMS would have required the following code:
varg.n1.n2.vt = VT_R8 ; // Type of VARIANT data
varg.n1.n2.n3.dblVal = vald; // Data for the VARIANT
|
COM Version 1.0 for OpenVMS allows you to use the standard method shown in the following example:
varg.vt = VT_R8; // Type of VARIANT data
varg.dblVal = vald; // Data for the VARIANT
|
This appendix contains a list of implementation differences between
COM for OpenVMS and Microsoft COM as well as a list of APIs and
interfaces provided in this field test release of COM for OpenVMS.
D.1 Differences between COM for OpenVMS and Microsoft COM
The following sections list important implementation differences
between COM for OpenVMS and Microsoft's COM.
D.1.1 Service Control Manager (SCM)
OpenVMS does not provide an equivalent to the Windows NT Service Control Manager. As a result, applications that depend on Server services (such as stop, start, pause, and resume) rely on the OpenVMS features that provide similar functionality (if the features are available).
For example, you would use the OpenVMS site-specific startup and
shutdown command procedures to implement automatic starting of services
at system startup and automatic shutdown of services at system
shutdown. Service APIs such as RegisterServiceCtrlHandler,
ChangeServiceConfig, and so on, are not provided on OpenVMS.
D.1.2 Server application stack size
In COM for OpenVMS, server application functions run in the context of
server threads. As a result, server functions have a limited stack
space of 46 K bytes. If you require additional space for local
variables or structures, you should allocate dynamic memory for local
variables or structures.
D.2 APIs
APIs that require security support are not supported in COM Version 1.0 for OpenVMS.
The APIs supported in this release are as follows:
BindMoniker BstrFromVector CLSIDFromProgID CLSIDFromString CoAddRefServerProcess CoCopyProxy CoCreateFreeThreadedMarshaler CoCreateGuid CoCreateInstance CoCreateInstanceEx CoDisconnectObject CoDosDateTimeToFileTime CoFileTimeNow CoFileTimeToDosDateTime CoFreeAllLibraries CoFreeLibrary CoFreeUnusedLibraries CoGetCallContext CoGetClassObject CoGetCurrentProcess CoGetInstanceFromFile CoGetInstanceFromIStorage CoGetInterfaceAndReleaseStream CoGetMalloc CoGetMarshalSizeMax CoGetPSClsid CoGetStandardMarshal CoGetTreatAsClass CoImpersonateClient CoInitialize CoInitializeEx CoInitializeSecurity CoIsHandlerConnected CoLoadLibrary CoLockObjectExternal CoMarshalInterface CoQueryAuthenticationServices CoQueryClientBlanket CoQueryProxyBlanket CoRegisterClassObject CoRegisterMallocSpy CoRegisterMessageFilter CoRegisterPSClsid CoReleaseMarshalData CoReleaseServerProcess CoResumeClassObjects CoRevertToSelf CoRevokeClassObject CoRevokeMallocSpy CoSetProxyBlanket CoSuspendClassObjects CoTaskMemAlloc CoTaskMemFree CoTaskMemRealloc CoTreatAsClass CoUninitialize CoUnmarshalInterface CreateAntiMoniker CreateBindCtx CreateClassMoniker CreateDataAdviseHolder CreateDispTypeInfo CreateErrorInfo CreateGenericComposite CreateILockBytesOnHGlobal CreateItemMoniker CreatePointerMoniker CreateStdDispatch CreateStreamOnHGlobal CreateTypeLib DispGetIDsOfNames DispGetParam DispInvoke DllCanUnloadNow DllGetClassObject DllGetClassObject DllMain DllRegisterServer DllUnregisterServer DosDateTimeToVariantTime FreePropVariantArray GetActiveObject GetAltMonthNames GetClassFile GetConvertStg GetErrorInfo GetHGlobalFromILockBytes GetHGlobalFromStream GetRunningObjectTable IIDFromString IsEqualCLSID IsEqualGUID IsEqualIID IsValidIid IsValidInterface IsValidPtrIn IsValidPtrOut LHashValOfName LHashValOfNameSys LoadRegTypeLib LoadTypeLibEx MkParseDisplayName MonikerCommonPrefixWith MonikerRelativePathTo ProgIDFromCLSID PropStgNameToFmtId PropVariantClear PropVariantCopy QueryPathOfRegTypeLib ReadClassStg ReadClassStm ReadFmtUserTypeStg RegisterActiveObject RegisterTypeLib ReleaseStgMedium RevokeActiveObject SafeArrayAccessData SafeArrayAllocData SafeArrayAllocDescriptor SafeArrayCopy SafeArrayCopyData SafeArrayCreate SafeArrayCreateVector SafeArrayDestroy SafeArrayDestroyData SafeArrayDestroyDescriptor SafeArrayGetDim SafeArrayGetElement SafeArrayGetElemsize SafeArrayGetLBound SafeArrayGetUBound SafeArrayLock SafeArrayPtrOfIndex SafeArrayPutElement SafeArrayRedim SafeArrayUnaccessData SafeArrayUnlock SetConvertStg SetErrorInfo StgCreateDocfile StgCreateDocfileOnILockBytes StgCreatePropSetStg StgCreatePropStg StgIsStorageFile StgIsStorageILockBytes StgOpenPropStg StgOpenStorage StgOpenStorageOnILockBytes StgSetTimes StringFromCLSID StringFromGUID2 StringFromIID SysAllocString SysAllocStringByteLen SysAllocStringLen SysFreeString SysReAllocString SysReAllocStringLen SysStringByteLen SysStringLen SystemTimeToVariantTime UnRegisterTypeLib VarDateFromUdate VarNumFromParseNum VarParseNumFromStr VarUdateFromDate VariantChangeType VariantChangeTypeEx VariantClear VariantCopy VariantCopyInd VariantInit VariantTimeToDosDateTime VariantTimeToSystemTime VectorFromBstr WriteClassStg WriteClassStm WriteFmtUserTypeStg |
The interfaces supported in this release are as follows:
IAdviseSink IBindCtx IClassActivator IClassFactory IConnectionPoint IConnectionPointContainer ICreateErrorInfo ICreateTypeInfo ICreateTypeLib IDataAdviseHolder IDataObject IDispatch IEnumCallBack IEnumConnectionPoints IEnumConnections IEnumFORMATETC IEnumMoniker IEnumOLEVerb IEnumSTATDATA IEnumSTATPROPSETSTG IEnumSTATSTG IEnumString IEnumUnknown IEnumVariant IErrorInfo IExternalConnection ILockBytes IMalloc IMallocSpy IMarshal IMessageFilter IMoniker IMultiQI IParseDisplayName IPersist IPersistFile IPersistStorage IPersistStream IPropertySetStorage IPropertyStorage IRootStorage IRunnableObject IRunningObjectTable IStdMarshalInfo IStorage IStream ISupportErrorInfo ITypeComp ITypeInfo ITypeInfo2 ITypeLib ITypeLib2 IUnknown |
The following files are installed as part of the COM for OpenVMS installation process:
[000000]DEC-AXPVMS-DCOM-V0100--1.PCSI$TLB [DCOM$LIBRARY]CDERR.H [DCOM$LIBRARY]CGUID.H [DCOM$LIBRARY]COGUID.H [DCOM$LIBRARY]COMMDLG.H [DCOM$LIBRARY]CONIO.H [DCOM$LIBRARY]DCOM$GUIDGEN.CLD [DCOM$LIBRARY]DCOM$REGDATA.REG [DCOM$LIBRARY]DCOM$RUNSHRLIB.CLD [DCOM$LIBRARY]DCOM.OPT [DCOM$LIBRARY]DDE.H [DCOM$LIBRARY]DDEML.H [DCOM$LIBRARY]DLGS.H [DCOM$LIBRARY]EXCPT.H [DCOM$LIBRARY]IMM.H [DCOM$LIBRARY]INITGUID.H [DCOM$LIBRARY]LZEXPAND.H [DCOM$LIBRARY]MCX.H [DCOM$LIBRARY]MIDLES.H [DCOM$LIBRARY]MIDL_STUB_TYPES.H [DCOM$LIBRARY]MMSYSTEM.H [DCOM$LIBRARY]NB30.H [DCOM$LIBRARY]OAIDL.H [DCOM$LIBRARY]OAIDL.IDL [DCOM$LIBRARY]OBJBASE.H [DCOM$LIBRARY]OBJIDL.H [DCOM$LIBRARY]OBJIDL.IDL [DCOM$LIBRARY]OCIDL.H [DCOM$LIBRARY]OCIDL.IDL [DCOM$LIBRARY]OLE2.H [DCOM$LIBRARY]OLEAUTO.H [DCOM$LIBRARY]OLECTL.H [DCOM$LIBRARY]OLEIDL.H [DCOM$LIBRARY]POPPACK.H [DCOM$LIBRARY]PRSHT.H [DCOM$LIBRARY]PSHPACK1.H [DCOM$LIBRARY]PSHPACK2.H [DCOM$LIBRARY]PSHPACK4.H [DCOM$LIBRARY]PSHPACK8.H [DCOM$LIBRARY]PTHREAD.H [DCOM$LIBRARY]PTHREAD_EXCEPTION.H [DCOM$LIBRARY]RPC.H [DCOM$LIBRARY]RPCDCE.H [DCOM$LIBRARY]RPCDCEP.H [DCOM$LIBRARY]RPCNDR.H [DCOM$LIBRARY]RPCNSI.H [DCOM$LIBRARY]RPCNSIP.H [DCOM$LIBRARY]RPCNTERR.H [DCOM$LIBRARY]RPCPROXY.H [DCOM$LIBRARY]SERVPROV.H [DCOM$LIBRARY]SERVPROV.IDL [DCOM$LIBRARY]SHELLAPI.H [DCOM$LIBRARY]STDOLE2.TLB [DCOM$LIBRARY]STDOLE32.TLB [DCOM$LIBRARY]TCHAR.H [DCOM$LIBRARY]UNKNWN.H [DCOM$LIBRARY]UNKNWN.IDL [DCOM$LIBRARY]URLMON.H [DCOM$LIBRARY]URLMON.IDL [DCOM$LIBRARY]UUID.OLB [DCOM$LIBRARY]VMS_DCOM.H [DCOM$LIBRARY]VMS_IOCTL.H [DCOM$LIBRARY]WCHAR.H [DCOM$LIBRARY]WINBASE.H [DCOM$LIBRARY]WINCON.H [DCOM$LIBRARY]WINDEF.H [DCOM$LIBRARY]WINDOWS.H [DCOM$LIBRARY]WINDU_PLATFORM.H [DCOM$LIBRARY]WINDU_STDLIB.H [DCOM$LIBRARY]WINDU_STRING.H [DCOM$LIBRARY]WINDU_VTBL.H [DCOM$LIBRARY]WINERROR.H [DCOM$LIBRARY]WINGDI.H [DCOM$LIBRARY]WINNETWK.H [DCOM$LIBRARY]WINNLS.H [DCOM$LIBRARY]WINNT.H [DCOM$LIBRARY]WINPERF.H [DCOM$LIBRARY]WINREG.H [DCOM$LIBRARY]WINSOCK.H [DCOM$LIBRARY]WINSPOOL.H [DCOM$LIBRARY]WINSVC.H [DCOM$LIBRARY]WINUSER.H [DCOM$LIBRARY]WINVER.H [DCOM$LIBRARY]WTYPES.H [DCOM$LIBRARY]WTYPES.IDL [DCOM$LIBRARY]WUEXTEN.H [DCOM$LIBRARY]WUUNALIGNED.H [DCOM$LIBRARY]WUVERSION.H [DCOM$WIN32.NLS]BIG5.NLS [DCOM$WIN32.NLS]CTYPE.NLS [DCOM$WIN32.NLS]C_037.NLS [DCOM$WIN32.NLS]C_10000.NLS [DCOM$WIN32.NLS]C_10001.NLS [DCOM$WIN32.NLS]C_10002.NLS [DCOM$WIN32.NLS]C_10003.NLS [DCOM$WIN32.NLS]C_10004.NLS [DCOM$WIN32.NLS]C_10005.NLS [DCOM$WIN32.NLS]C_10006.NLS [DCOM$WIN32.NLS]C_10007.NLS [DCOM$WIN32.NLS]C_10008.NLS [DCOM$WIN32.NLS]C_10010.NLS [DCOM$WIN32.NLS]C_10017.NLS [DCOM$WIN32.NLS]C_10029.NLS [DCOM$WIN32.NLS]C_10079.NLS [DCOM$WIN32.NLS]C_10081.NLS [DCOM$WIN32.NLS]C_10082.NLS [DCOM$WIN32.NLS]C_1026.NLS [DCOM$WIN32.NLS]C_1250.NLS [DCOM$WIN32.NLS]C_1251.NLS [DCOM$WIN32.NLS]C_1252.NLS [DCOM$WIN32.NLS]C_1253.NLS [DCOM$WIN32.NLS]C_1254.NLS [DCOM$WIN32.NLS]C_1255.NLS [DCOM$WIN32.NLS]C_1256.NLS [DCOM$WIN32.NLS]C_1257.NLS [DCOM$WIN32.NLS]C_1258.NLS [DCOM$WIN32.NLS]C_1361.NLS [DCOM$WIN32.NLS]C_20105.NLS [DCOM$WIN32.NLS]C_20261.NLS [DCOM$WIN32.NLS]C_20269.NLS [DCOM$WIN32.NLS]C_20273.NLS [DCOM$WIN32.NLS]C_20277.NLS [DCOM$WIN32.NLS]C_20278.NLS [DCOM$WIN32.NLS]C_20280.NLS [DCOM$WIN32.NLS]C_20284.NLS [DCOM$WIN32.NLS]C_20285.NLS [DCOM$WIN32.NLS]C_20290.NLS [DCOM$WIN32.NLS]C_20297.NLS [DCOM$WIN32.NLS]C_20420.NLS [DCOM$WIN32.NLS]C_20423.NLS [DCOM$WIN32.NLS]C_20833.NLS [DCOM$WIN32.NLS]C_20838.NLS [DCOM$WIN32.NLS]C_20866.NLS [DCOM$WIN32.NLS]C_20871.NLS [DCOM$WIN32.NLS]C_20880.NLS [DCOM$WIN32.NLS]C_20905.NLS [DCOM$WIN32.NLS]C_21025.NLS [DCOM$WIN32.NLS]C_21027.NLS [DCOM$WIN32.NLS]C_28592.NLS [DCOM$WIN32.NLS]C_28593.NLS [DCOM$WIN32.NLS]C_28594.NLS [DCOM$WIN32.NLS]C_28595.NLS [DCOM$WIN32.NLS]C_28596.NLS [DCOM$WIN32.NLS]C_28597.NLS [DCOM$WIN32.NLS]C_28598.NLS [DCOM$WIN32.NLS]C_28599.NLS [DCOM$WIN32.NLS]C_29001.NLS [DCOM$WIN32.NLS]C_437.NLS [DCOM$WIN32.NLS]C_500.NLS [DCOM$WIN32.NLS]C_708.NLS [DCOM$WIN32.NLS]C_720.NLS [DCOM$WIN32.NLS]C_737.NLS [DCOM$WIN32.NLS]C_775.NLS [DCOM$WIN32.NLS]C_850.NLS [DCOM$WIN32.NLS]C_852.NLS [DCOM$WIN32.NLS]C_855.NLS [DCOM$WIN32.NLS]C_857.NLS [DCOM$WIN32.NLS]C_860.NLS [DCOM$WIN32.NLS]C_861.NLS [DCOM$WIN32.NLS]C_862.NLS [DCOM$WIN32.NLS]C_863.NLS [DCOM$WIN32.NLS]C_864.NLS [DCOM$WIN32.NLS]C_865.NLS [DCOM$WIN32.NLS]C_866.NLS [DCOM$WIN32.NLS]C_869.NLS [DCOM$WIN32.NLS]C_870.NLS [DCOM$WIN32.NLS]C_874.NLS [DCOM$WIN32.NLS]C_875.NLS [DCOM$WIN32.NLS]C_932.NLS [DCOM$WIN32.NLS]C_936.NLS [DCOM$WIN32.NLS]C_949.NLS [DCOM$WIN32.NLS]C_950.NLS [DCOM$WIN32.NLS]KSC.NLS [DCOM$WIN32.NLS]LOCALE.NLS [DCOM$WIN32.NLS]L_EXCEPT.NLS [DCOM$WIN32.NLS]L_INTL.NLS [DCOM$WIN32.NLS]PRC.NLS [DCOM$WIN32.NLS]PRCP.NLS [DCOM$WIN32.NLS]SORTKEY.NLS [DCOM$WIN32.NLS]SORTTBLS.NLS [DCOM$WIN32.NLS]UNICODE.NLS [DCOM$WIN32.NLS]XJIS.NLS [DCOM$WIN32]WINDU$GDISHR.EXE [DCOM$WIN32]WINDU$KERNELSHR.EXE [DCOM$WIN32]WINDU$PRNTSHR.EXE [DCOM$WIN32]WINDU$USERSHR.EXE [DCOM$WIN32]WINDU.INI [DCOM$WIN32]WINDU.OPT [SYS$STARTUP]DCOM$RPCSS.COM [SYS$STARTUP]DCOM$SHUTDOWN.COM [SYS$STARTUP]DCOM$STARTUP.COM [SYSEXE]DCOM$CNFG.EXE [SYSEXE]DCOM$COMREGEDT.EXE [SYSEXE]DCOM$GUIDGEN.EXE [SYSEXE]DCOM$MIDL.EXE [SYSEXE]DCOM$REGSVR32.EXE [SYSEXE]DCOM$RPCSS.EXE [SYSEXE]DCOM$RUNSHRLIB.EXE [SYSEXE]DCOM$SCLIENT.EXE [SYSEXE]DCOM$SSERVER.EXE [SYSEXE]DCOM$SSERVER_REG.COM [SYSHLP]COM_V10_FOROPENVMS_SPD.PDF [SYSHLP]COM_V10_FOROPENVMS_SPD.PS [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]BUILD_DISPATCH_SAMPLE1.COM [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]BUILD_DISPATCH_SAMPLE1.MMS [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]CLIENT.CXX [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]CMPNT$SHR.OPT [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]CMPNT.CXX [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]CMPNT.DEF [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]DCLIENT.CXX [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]MAKE-ONE. [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]MAKEFILE.BAT [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]README-DISPATCH-SAMPLE1.TXT [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]REGISTRY.CXX [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]REGISTRY.H [SYSHLP.EXAMPLES.DCOM.DISPATCH_SAMPLE1]SERVER.IDL [SYSHLP.EXAMPLES.DCOM.SAMPLE1]BUILD_SAMPLE1.COM [SYSHLP.EXAMPLES.DCOM.SAMPLE1]BUILD_SAMPLE1.MMS [SYSHLP.EXAMPLES.DCOM.SAMPLE1]CLIENT.CXX [SYSHLP.EXAMPLES.DCOM.SAMPLE1]CMPNT$SHR.OPT [SYSHLP.EXAMPLES.DCOM.SAMPLE1]CMPNT.CXX [SYSHLP.EXAMPLES.DCOM.SAMPLE1]CMPNT.DEF [SYSHLP.EXAMPLES.DCOM.SAMPLE1]GUIDS.CXX [SYSHLP.EXAMPLES.DCOM.SAMPLE1]MAKE-ONE. [SYSHLP.EXAMPLES.DCOM.SAMPLE1]MAKEFILE.BAT [SYSHLP.EXAMPLES.DCOM.SAMPLE1]PROXY$SHR.OPT [SYSHLP.EXAMPLES.DCOM.SAMPLE1]PROXY.DEF [SYSHLP.EXAMPLES.DCOM.SAMPLE1]README-SAMPLE1.TXT [SYSHLP.EXAMPLES.DCOM.SAMPLE1]REGISTRY.CXX [SYSHLP.EXAMPLES.DCOM.SAMPLE1]REGISTRY.H [SYSHLP.EXAMPLES.DCOM.SAMPLE1]SERVER.IDL [SYSHLP.EXAMPLES.DCOM.SIMPLE]BUILD_SIMPLE.COM [SYSHLP.EXAMPLES.DCOM.SIMPLE]INSTALL.BAT [SYSHLP.EXAMPLES.DCOM.SIMPLE]MAKEFILE. [SYSHLP.EXAMPLES.DCOM.SIMPLE]README-SIMPLE.TXT [SYSHLP.EXAMPLES.DCOM.SIMPLE]REGISTER_SIMPLE.COM [SYSHLP.EXAMPLES.DCOM.SIMPLE]SCLIENT.CPP [SYSHLP.EXAMPLES.DCOM.SIMPLE]SSERVER.CPP [SYSHLP.EXAMPLES.DCOM.SIMPLE]SSERVER.REG [SYSHLP]OVMS_CONNECT_DEV_GDE_0199.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199.PDF [SYSHLP]OVMS_CONNECT_DEV_GDE_0199.PS [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_001.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_002.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_003.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_004.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_005.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_CONTENTS.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_CONTENTS_001.HTML [SYSHLP]OVMS_CONNECT_DEV_GDE_0199_INDEX.HTML [SYSHLP]VM-0126A.GIF [SYSHLP]VM-0224A.GIF [SYSHLP]VM-0225A.GIF [SYSHLP]VM-0226A.GIF [SYSHLP]VM-0227A.GIF [SYSHLP]VM-0228A.GIF [SYSHLP]VM-0283A.GIF [SYSLIB]DCOM$MIDL_SHR.EXE [SYSLIB]DCOM$NT_WRAPPERS_SHR.EXE [SYSLIB]DCOM$OLE32_SHR.EXE [SYSLIB]DCOM$OLEAUT32_SHR.EXE [SYSLIB]DCOM$RPCRT4_SHR.EXE [SYSMGR]DCOM$CREATE_ACCOUNT.COM [SYSMGR]DCOM$REGISTRY_KEYS.COM [SYSMGR]DCOM$SETUP.COM [SYSMSG]DCOM$GUIDGEN_MSG.EXE [000000]DEC-AXPVMS-DCOM-V0100--1.PCSI$DESCRIPTION |
By special arrangement with the publishers, Compaq is able to provide COM for OpenVMS developers with the following discount coupons for some of the third-party COM books mentioned in this manual. Please follow the instructions on the coupon when ordering books.
class (registry class): Registry element attribute
that allows you to store additional descriptive information with a
registry key or subkey.
encapsulation: The process of updating or extending the life of existing application code by leaving most of the code and its functionality intact, while including new or updated code (usually in a different programming language) at key entry points.
For example, you might add a Windows graphical interface to a
character-cell application by writing some Visual Basic code that
collects information from a Windows client, then formats and submits
the data to the existing character cell application as if the data had
come from the character cell interface.
hive: A discrete set of keys, subkeys, and value
entries contained in the registry.
in-process server: An application that is located on
the same system as the requesting client. On Windows NT systems,
in-process servers are usually implemented as DLLs. On OpenVMS systems,
in-process servers are usually implemented as shareable images.
key (registry key): Registry element that contains
information specific to the computer, system, or user.
out-of-process server: An application that is located
on a different system than the requesting client. On Windows NT
systems, out-of-process servers are usually implemented as .EXE files.
registry: A hierarchical database consisting of one or
more files that stores configuration information about system hardware
and software.
subkey (registry subkey): Registry element that is a
child of a registry key. A registry key can have zero or more subkeys.
value (registry value): Registry element that is the
entry or value for a registry key or subkey.
| Previous | Next | Contents | Index |
|
Copyright © Compaq Computer Corporation 1999. All rights reserved. |
6539P005.HTM
|