| 1. | Introduction |
| 1.1. | Prerequisites |
| 1.2. | Related Documents |
| 2. | Getting Started |
| 2.1. | ComfyJ Distribution Overview |
| 2.2. | System Requirements |
| 2.3. | Package Contents |
| 3. | Configuring ComfyJ |
| 3.1. | Library JAR Files |
| 3.2. | Native Code Library |
| 3.3. | License Files |
| 4. | Using COM Integration |
| 4.1. | COM Support Initialization and Shutdown |
| 4.1.1. | COM Memory Management in JNIWrapper |
| 4.1.2. | Initializing COM |
| 4.1.3. | Performing Clean-up |
| 4.2. | Using COM in Multi-Threaded Applications |
| 4.2.1. | OleMessageLoop Class |
| 4.2.2. | Invoking COM Methods Without Return Values |
| 4.2.3. | Invoking COM Methods with Return Values |
| 4.2.4. | Displaying Errors |
| 4.2.5. | Creating New OLE Message Loop Thread |
| 4.2.6. | Invoking Functions Synchronously |
| 4.2.7. | Invoking Functions Asynchronously |
| 4.2.8. | Binding Objects to OLE Message Loop Thread |
| 4.3. | Exposing COM to Java |
| 4.3.1. | Creating Server Implementation |
| 4.3.2. | Creating Class Factory |
| 4.3.3. | Creating Instances |
| 4.4. | Using COM/OLE Automation |
| 4.4.1. | Automation Class |
| 4.5. | Using OCX Components Without GUI |
| 4.6. | Embedding ActiveX/OLE Components into Swing Applications |
| 4.6.1. | Displaying Java Menus over ActiveX Component |
| 4.7. | Registering Callbacks for Generated COM Components (COM Events Handling) |
| 5. | Code Generator for ComfyJ |
| 5.1. | Running Code Generator |
| 5.1.1. | Running Code Generator in GUI Mode |
| 5.1.2. | Detecting GUID, ProgID and Version |
| 5.2. | Namespaces and Package Naming |
| 5.3. | Generated Code Structure |
| 5.3.1. | Structures, Unions, Enumerations |
| 5.3.2. | Interfaces |
| 5.3.3. | Implementation Classes |
| 5.3.4. | CoClasses |
| 5.3.5. | VTBL Classes |
| 6. | COM to Java Integration |
| 6.1. | Developing Java COM Servers |
| 6.1.1. | Developing Java Dispinterface |
| 6.1.2. | Developing Java COM Server Class |
| 6.2. | Registering Java COM Servers |
| 6.2.1. | ComfyJ ServerManager: Registering in Command-Line Mode |
| 6.2.2. | ComfyJ ServerManager: Registering in GUI Mode |
| 6.2.3. | Registering at Run Time |
| 6.3. | Using Java COM Servers |
| 6.3.1. | Java Client |
| 6.3.2. | C++ Client |
| 6.3.3. | Visual Basic Client |
| 7. | ComfyJ Samples |
| 8. | Support |
| 8.1. | ComfyJ Forum |
| 8.2. | Reporting Problems |
| 8.3. | Troubleshooting |
| 9. | Where to Get a New Version |