COM, Registry, and Events for
HP OpenVMS Developer's Guide


Begin Index

Contents (summary)
Preface Preface
Chapter 1 COM for OpenVMS Release Notes
Chapter 2 OpenVMS Registry Release Notes
Part 1 COM for OpenVMS
Chapter 3 Overview of COM for OpenVMS
Chapter 4 Installing the COM for OpenVMS Kit
Chapter 5 COM for OpenVMS Security
Chapter 6 COM for OpenVMS Utilities for Application Development and Deployment
Chapter 7 Developing a COM for OpenVMS Application
Chapter 8 Authentication
Chapter 9 Active Template Library
Chapter 10 COM for OpenVMS and DLL Surrogates
Chapter 11 COM for OpenVMS and IEEE Floating Point
Part 2 OpenVMS Registry
Chapter 12 Overview of OpenVMS Registry
Chapter 13 OpenVMS Registry System Management
Chapter 14 OpenVMS Registry Server Management
Part 3 OpenVMS Events
Chapter 15 OpenVMS Events
Part 4 Appendixes
Appendix A MIDL Compiler Options
Appendix B Troubleshooting
Appendix C Cookbook Examples: Building a Sample Application on OpenVMS
Appendix D Upgrading to COM Version 1.4 for OpenVMS from COM Version 1.0 for OpenVMS
Appendix E Running COM for OpenVMS in an Unauthenticated Mode
Appendix F Lists of Differences, APIs, and Interfaces
Appendix G List of Files Installed by COM for OpenVMS
Appendix H Glossary
Appendix I Acronyms
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 COM for OpenVMS Release Notes
     1.1     COM for OpenVMS Versions
     1.2     Upgrading from Earlier Versions of COM for OpenVMS to Version 1.4
         1.2.1         Upgrading from COM Version 1.0 or 1.1 for OpenVMS Requires You to Repopulate the OpenVMS Registry
         1.2.2         DECwindows Motif Requirement Removed
         1.2.3         C Compiler Requirement Removed
         1.2.4         Previously Registered Applications That Use Logical Names for the Local Server Path
         1.2.5         Changes to the Examples
     1.3     Problems Fixed in This Release
         1.3.1         New NTA$LOGON.EXE Fixes Data Corruption in Password File
         1.3.2         Access Violation When Compiling Very Large IDL Files
         1.3.3         Windows 2000 Interoperability Requires Windows 2000 SP4 and Latest DCERPC
         1.3.4         ERROR_ACCESS_DENIED (C0000005 or 80070005)
     1.4     Known Problems in the Current Release
         1.4.1         Fatal Exception in DCOM$RPCSS While Launching Multiple Instances of COM Applications
         1.4.2         COM Version 1.4 Fails with Microsoft MS04-012 (KB 828741) Patch
         1.4.3         Kernel Threads and Upcalls Not Supported
         1.4.4         Errors Seen Between OpenVMS Systems Running COM Version 1.3 Under Heavy Load
     1.5     Limitations and Restrictions
         1.5.1         Windows XP Not Supported
         1.5.2         NetBEUI as Listed Protocol in DCOMCNFG
         1.5.3         COM Version 1.0 for OpenVMS and COM Version 1.4 for OpenVMS Not Supported in the Same Cluster
         1.5.4         Threading Model Supported by COM for OpenVMS
         1.5.5         Enhanced NTLM in Windows NT SP4 and Later Versions Not Supported
         1.5.6         Specifying Activation Security in CoCreateInstanceEx
         1.5.7         RPC Communication Failures Caused by Advanced Server
         1.5.8         RPC Cannot Support Failure (800706E4) Error Message
Chapter 2
2 OpenVMS Registry Release Notes
Part 1
Part 1 COM for OpenVMS
Chapter 3
3 Overview of COM for OpenVMS
     3.1     What is COM?
         3.1.1         Suggested Reading
     3.2     Overview of COM for OpenVMS
         3.2.1         How COM for OpenVMS Uses the OpenVMS Registry
     3.3     Using COM for OpenVMS
         3.3.1         Developing New Applications
         3.3.2         Encapsulating Existing Applications
Chapter 4
4 Installing the COM for OpenVMS Kit
     4.1     Contents of the COM Version 1.4 for OpenVMS Kit
     4.2     Prerequisites
     4.3     Supported COM for OpenVMS Installations
     4.4     Installing COM for OpenVMS on an OpenVMS Standalone System
     4.5     Upgrading COM for OpenVMS on an OpenVMS Standalone System
     4.6     Installing COM for OpenVMS on an OpenVMS Cluster
     4.7     Upgrading COM for OpenVMS in an OpenVMS Cluster
     4.8     Defining Shortcut Commands for COM for OpenVMS
     4.9     Checking the COM for OpenVMS Version
     4.10     Understanding the COM for OpenVMS Environment
         4.10.1         COM for OpenVMS Service Control Manager (SCM)
         4.10.2         OpenVMS Registry Server
         4.10.3         HP Advanced Server for OpenVMS Server
         4.10.4         ACME Server
         4.10.5         RPC Endpoint Mapper
         4.10.6         RPC and SSPI/NTLM Layers
         4.10.7         OpenVMS Events
     4.11     Installing COM for OpenVMS
     4.12     COM for OpenVMS Postinstallation Procedures
     4.13     Starting COM for OpenVMS (COM for OpenVMS Service Control Manager)
         4.13.1         Starting COM for OpenVMS Automatically after a Reboot
     4.14     Shutting Down COM for OpenVMS (COM for OpenVMS Service Control Manager)
         4.14.1         Suppressing the DCOM$SHUTDOWN Confirmation Request
Chapter 5
5 COM for OpenVMS Security
     5.1     System Configuration
         5.1.1         LOGINOUT.EXE Use of External Authentication
         5.1.2         DCE Integrated Login Restriction
     5.2     Cross-Domain Configuration
     5.3     Acquiring Windows Credentials
     5.4     Application Security
         5.4.1         Launch Security
         5.4.2         Activation Security
         5.4.3         Server Process Identity
         5.4.4         Domain Issues
         5.4.5         Disabling Authentication
         5.4.6         Access Denied Problems (80070005)
     5.5     Server Run-Time Environment
Chapter 6
6 COM for OpenVMS Utilities for Application Development and Deployment
     6.1     DCOM$SETUP Utility
     6.2     Running DCOM$SETUP
         6.2.1         Creating and Configuring DCOM$RPCSS Accounts
         6.2.2         Starting and Stopping the COM Server (DCOM$RPCSS Process)
         6.2.3         Registering an Application
     6.3     Running DCOM$CNFG
         6.3.1         The DCOM$CNFG Application List Submenu
         6.3.2         Registry Value Permissions Submenus
         6.3.3         Registry Key Permissions Submenus
         6.3.4         Application Identity Submenu
         6.3.5         The DCOM$CNFG System-wide Default Properties Submenu
         6.3.6         System-wide Default Security Submenu
     6.4     Registering In-Process Servers: DCOM$REGSVR32 Utility
Chapter 7
7 Developing a COM for OpenVMS Application
     7.1     Step 1: Generate Unique Identifiers
     7.2     Step 2: Build an Application Using the MIDL Compiler
         7.2.1         Running the MIDL Compiler
         7.2.2         Running the MIDL Compiler with DCOM$RUNSHRLIB
         7.2.3         Modifying Your Applications To Use the C++ Only MIDL Compiler
         7.2.4         Required MIDL Switches
         7.2.5         Required Include Directories
     7.3     Step 3: Compile the COM Application
         7.3.1         Required Header File: VMS_DCOM.H
         7.3.2         Required Macro Definitions
         7.3.3         Required Include Directories
         7.3.4         Required C++ Qualifiers
     7.4     Step 4: Link the COM Application
         7.4.1         Linking the Client and the Out-of-Process Component
         7.4.2         Linking the In-Process Component Shareable Image
             7.4.2.1             Creating a Symbol Vector
         7.4.3         Linking the Proxy/Stub Shareable Image
             7.4.3.1             Creating a Symbol Vector
     7.5     Required OpenVMS Registry Entries
         7.5.1         HKEY_CLASSES_ROOT\CLSID
             7.5.1.1             Component CLSIDs
             7.5.1.2             Proxy/Stub CLSIDs
         7.5.2         HKEY_CLASSES_ROOT\Interface
     7.6     Converting OpenVMS and Windows Error Codes to Text
         7.6.1         NTA$VMSGetMessage
    Command 1     NTA$VMSGetMessage
         7.6.2         DCOM$TOOL SHOW ERROR
             7.6.2.1             DCOM$TOOL Optional Qualifiers
Chapter 8
8 Authentication
     8.1     Authentication Overview
     8.2     Acquiring Windows Credentials Using NTA$LOGON
         8.2.1         NTA$LOGON Optional Qualifiers
         8.2.2         Examples of Using NTA$LOGON to Acquire Windows Credentials
     8.3     The Authentication and Credential Management (ACM) Authority
         8.3.1         Windows Authentication on OpenVMS
         8.3.2         Managing the ACME_SERVER Process (ACME Server Commands)
         8.3.3         Configuring the MSV1_0 ACME Agent
Chapter 9
9 Active Template Library
     9.1     COM for OpenVMS and ATL
     9.2     Developing a COM for OpenVMS Application Using ATL
         9.2.1         Step 1: Create the ATL Component in Microsoft Visual Studio
         9.2.2         Step 2: Modify Generated Files for ATL Applications on OpenVMS
             9.2.2.1             Remove _ATL_MIN_CRT
             9.2.2.2             Include ATLMAIN.CXX
             9.2.2.3             Modify Registration Procedure
             9.2.2.4             Remove Calls to Windows Message Functions for OpenVMS V7.3-2
         9.2.3         Step 3: Build an Application Using the MIDL Compiler
         9.2.4         Step 4: Compile the ATL COM Application
             9.2.4.1             Required Header File: ATLBASE.H
             9.2.4.2             Required Macro Definitions
             9.2.4.3             Required Include Directories
             9.2.4.4             Required C++ Qualifiers
         9.2.5         Step 5: Link the ATL COM Application
             9.2.5.1             Linking the Client and the Out of Process Component
             9.2.5.2             Linking the In Process Component Shareable Image
             9.2.5.3             Creating a Symbol Vector
     9.3     ATL Samples
         9.3.1         Out of Process COM Sample (TESTATL_OUTPROC)
             9.3.1.1             Creating the Application on Windows
             9.3.1.2             Building, Registering, and Running the Application on OpenVMS
         9.3.2         In-Process COM Sample (TESTATL_INPROC)
             9.3.2.1             Creating the Application on Windows
             9.3.2.2             Building, Registering, and Running the Application on OpenVMS
     9.4     Suggested Reading
Chapter 10
10 COM for OpenVMS and DLL Surrogates
     10.1     Running Your Components in the Context of a DLL Surrogate
     10.2     Developing a Surrogate Application
Chapter 11
11 COM for OpenVMS and IEEE Floating Point
     11.1     Running Sample Programs with IEEE Floating Point Values
     11.2     Restrictions Using IEEE Floating-Point Values in COM for OpenVMS Applications
Part 2
Part 2 OpenVMS Registry
Chapter 12
12 Overview of OpenVMS Registry
     12.1     What is the Registry?
         12.1.1         Suggested Reading
     12.2     OpenVMS Registry Concepts and Definitions
         12.2.1         Keys, Subkeys, and Values
             12.2.1.1             Key and Value Volatility
             12.2.1.2             Key Write-through and Write-behind
             12.2.1.3             Linking a Key to Other Keys and Values
             12.2.1.4             Rules for Creating OpenVMS Registry Keys and Value Names
         12.2.2         Class
         12.2.3         Hive
     12.3     OpenVMS Registry Structure
     12.4     OpenVMS Registry Restrictions and Limitations
         12.4.1         Registry Data Transfer Size Restriction Eased
     12.5     Reading and Writing to the OpenVMS Registry
         12.5.1         $REGISTRY System Services
         12.5.2         REG$CP Server Management Utility
     12.6     OpenVMS Registry Security
         12.6.1         OpenVMS Security Model
             12.6.1.1             Granting OpenVMS Registry Access Rights Using the AUTHORIZE Utility
         12.6.2         Windows Security Model
     12.7     Controlling the OpenVMS Registry Server Operations
         12.7.1         Defining Maximum Reply Age/Age Checker Interval Settings
         12.7.2         Defining the Database Log Cleaner Interval/Initial Log File Size Settings
         12.7.3         Defining Default File Quota/File Quota Interval Settings
         12.7.4         Defining the Scan Interval Setting
         12.7.5         Defining the Log Registry Value Error Setting
         12.7.6         Defining the Operator Communications Interval Setting
         12.7.7         Defining the Process Time Limit Setting
         12.7.8         Defining the Reply Log Cleaner Interval Setting
         12.7.9         Defining Snapshot Interval/Snapshot Location/Snapshot Versions Settings
         12.7.10         Defining the Write Retry Interval Setting
Chapter 13
13 OpenVMS Registry System Management
     13.1     Installing the OpenVMS Registry
         13.1.1         Configuring OpenVMS Registry Values
         13.1.2         Registry Database Conversion and Compaction
             13.1.2.1             Converting an Existing Database
             13.1.2.2             Determining the Registry Database Version
             13.1.2.3             Reclaiming the Database
             13.1.2.4             Manual Conversion and Reclamation
     13.2     Starting the OpenVMS Registry
         13.2.1         Starting the OpenVMS Registry Manually
     13.3     Shutting Down the OpenVMS Registry
     13.4     OpenVMS Registry Server Commands
    Command 2     SHOW SERVER REGISTRY_SERVER
    Command 3     SET SERVER REGISTRY_SERVER
     13.5     OpenVMS Registry Failover in a Cluster
         13.5.1         Changing the Priority of OpenVMS Registry Server Processes
     13.6     Connecting to the OpenVMS Registry from a Windows System
     13.7     OpenVMS Registry Quotas
     13.8     OpenVMS Registry Security
     13.9     Backing Up and Restoring the OpenVMS Registry Database
     13.10     Internationalization and Unicode Support
Chapter 14
14 OpenVMS Registry Server Management
     14.1     Managing the OpenVMS Registry Server from the Command Line
     14.2     Backing Up and Restoring the OpenVMS Registry Database
         14.2.1         Creating a Snapshot of the OpenVMS Registry Database
         14.2.2         Restoring a Snapshot of the OpenVMS Registry Database
     14.3     OpenVMS Registry Server Management Utility Syntax
    Command 4     CREATE DATABASE
    Command 5     CREATE KEY
    Command 6     CREATE SNAPSHOT
    Command 7     CREATE VALUE
    Command 8     DELETE KEY
    Command 9     DELETE TREE
    Command 10     DELETE VALUE
    Command 11     EXIT
    Command 12     EXPORT DATABASE
    Command 13     EXPORT KEY
    Command 14     HELP
    Command 15     IMPORT
    Command 16     LIST KEY
    Command 17     LIST SECURITYDESCRIPTOR
    Command 18     LIST VALUE
    Command 19     MODIFY KEY
    Command 20     MODIFY TREE
    Command 21     MODIFY VALUE
    Command 22     SEARCH KEY
    Command 23     SEARCH VALUE
    Command 24     SHOW
    Command 25     SPAWN
    Command 26     START MONITORING
    Command 27     STOP MONITORING
    Command 28     WAIT
    Command 29     ZERO COUNTERS
Part 3
Part 3 OpenVMS Events
Chapter 15
15 OpenVMS Events
     15.1     What are Events?
         15.1.1         Suggested Reading
     15.2     Overview of OpenVMS Events
         15.2.1         Viewing OpenVMS Events Using Windows Event Viewer
         15.2.2         Viewing OpenVMS Events Using HP Advanced Server for OpenVMS Event Viewer
         15.2.3         Event Logging on OpenVMS Only
    Command 30     NTA$EVENTW
     15.3     Writing Your Own Events
     15.4     Troubleshooting OpenVMS Events
Part 4
Part 4 Appendixes
Appendix A
Appendix A MIDL Compiler Options
     A.1     Mode
     A.2     Input
     A.3     Output File Generation
     A.4     Output File Names
     A.5     C Compiler and Preprocessor Options
     A.6     Environment
     A.7     Error and Warning Messages
     A.8     Optimization
     A.9     Miscellaneous
Appendix B
Appendix B Troubleshooting
     B.1     RPC Troubleshooting
     B.2     Troubleshooting the ACME server
     B.3     Troubleshooting the DCOM$RPCSS Process
     B.4     Troubleshooting the Advanced Server for OpenVMS
     B.5     Troubleshooting COM for OpenVMS Application Failures
         B.5.1         Access Denied Failures
Appendix C
Appendix C Cookbook Examples: Building a Sample Application on OpenVMS
     C.1     COM Example (Sample1)
         C.1.1         OpenVMS Instructions
             C.1.1.1             Building the Application on OpenVMS
             C.1.1.2             Registering the Application on OpenVMS
             C.1.1.3             Running the Application on OpenVMS as an Out-of-Process Server
             C.1.1.4             Running the Application on OpenVMS and Specifying a Remote Server
             C.1.1.5             Running the Application on OpenVMS as an In-Process Server
         C.1.2         Windows Instructions
             C.1.2.1             Building the Application on Windows
             C.1.2.2             Registering the Application on Windows
             C.1.2.3             Running the Application on Windows
     C.2     Automation Example (Dispatch_Sample1)
         C.2.1         OpenVMS Instructions
             C.2.1.1             Building the Application on OpenVMS
             C.2.1.2             Registering the Application on OpenVMS
             C.2.1.3             Running the Application on OpenVMS as an Out-of-process Server
             C.2.1.4             Running the Application on OpenVMS and Specifying a Remote Server
             C.2.1.5             Running the Application on OpenVMS as an In-Process Server
         C.2.2         Windows Instructions
             C.2.2.1             Building the Application on Windows
             C.2.2.2             Registering the Application on Windows
             C.2.2.3             Running the Application on Windows
     C.3     Cross-Domain Security Example (CLIENTAUTH)
         C.3.1         OpenVMS Instructions
             C.3.1.1             Registering the Application on OpenVMS
             C.3.1.2             Running the Application on OpenVMS as an Out-of-Process Server
             C.3.1.3             Running the Application on OpenVMS and Specifying a Remote Server
             C.3.1.4             Running the Application on OpenVMS as an In-Process Server
         C.3.2         Windows Instructions
             C.3.2.1             Building the Application on Windows NT
             C.3.2.2             Registering the Application on Windows
             C.3.2.3             Running the Application on Windows
Appendix D
Appendix D Upgrading to COM Version 1.4 for OpenVMS from COM Version 1.0 for OpenVMS
     D.1     Upgrading from Earlier Versions of COM for OpenVMS
         D.1.1         Rebuild Existing COM for OpenVMS Applications
         D.1.2         Configuring the Windows Systems
         D.1.3         Configuring the OpenVMS System
     D.2     Previously Configured Applications on Windows
         D.2.1         You Must Repopulate the OpenVMS Registry for COM Version 1.4 for OpenVMS
         D.2.2         Changing Application Security Settings in the OpenVMS Registry
             D.2.2.1             COM Application Registry Keys
Appendix E
Appendix E Running COM for OpenVMS in an Unauthenticated Mode
     E.1     Installing COM for OpenVMS to Run in Unauthenticated Mode
     E.2     Configuring COM for OpenVMS to Run in Unauthenticated Mode
         E.2.1         Define the DCOM$UNAUTHENTICATED Logical Systemwide
         E.2.2         Populate the OpenVMS Registry
         E.2.3         Create the DCOM$GUEST Account
         E.2.4         Create the DCOM$RPCSS Account
     E.3     Configuring Windows to Interoperate with Unauthenticated COM
         E.3.1         Setting the Windows Systemwide Authentication Level
         E.3.2         Setting Windows Application Security Properties
         E.3.3         Setting the Windows Application Security Identity
     E.4     Expected Failures from CLIENTAUTH Sample Program
     E.5     Converting from Unauthenticated Mode to Authenticated Mode


Previous Next Contents Index