Copyright ? 2000 AIIM International
Version 2.0.0-1 Review Draft Last updated 2001-01-11-08:28 -0800 (pst)The Open Document Management API (ODMA) Coalition defined and developed libraries for building ODMA-compliant software products in conformance with the ODMA 2.0 Specification.
The ODMA 2.0 Library Files are those definition files needed to construct ODMA-aware applications and ODMA-compliant DMS integrations. These files are also employed in the construction, maintenance, and porting of the ODMA 2.0 Connection Manager. Along with the specification itself, these are the essential software files for ODMA 2.0 software-development projects.
This information applies to Zip Package 2.0.0-1 of the ODMA 2.0 Library Files. For later versions and current status, consult the ODMA 2.0 Library Files description page.
Content
- 3.1
Odma.h(version 2.0.0-1)- The basic ODMA 2.0 API definitions (C and C++) used by ODMA-aware applications
- 3.2
Odmacom.h(version 2.0.0-1)- The basic ODMA 2.0 COM Interface definitions for use by ODMA-aware COM clients, COM servers, and ODMA-compliant DMS integrations.
- 3.3
Odma.lib(version 2.0.0-1)- The Microsoft object library for binding a 16-bit (Windows 3.11 compatible) application to the 16-bit implementation of the ODMA Connection Manager,
Odma.dll.- 3.4
ODMA32.lib(version 2.0.0-1)- The Microsoft object library for binding a Win32 (Windows 95, Windows NT, or later) application to the 32-bit implementation of the ODMA Connection Manager,
ODMA32.dll.
Odma.hOdmacom.hOdma.lib and
ODMA32.libChange History
1.1 Access-Viewing Requirements
1.2 Development-Tool RequirementsThe ODMA 2.0 Library Files (edition 2.0.0-1) are designed specifically for development of ODMA-compliant software on the Microsoft Windows platform (Intel PC architecture). The libraries are for use by programs developed in C/C++ Language and constructed using standard development tools (e.g., Microsoft Visual Studio) for the Windows platform.
The materials included in the ODMA 2.0 Library Files package may be informative and useful for other purposes as well. There is no special effort to satisfy other applications, though.
To determine whether there are more-suitable materials for your purposes, please consult the latest information on the AIIM DMware ODMA site:
- ODMA 2.0 Status for the latest information on ODMA materials and the supported versions of ODMA
- ODMA Support for overall information for all versions, including any later than ODMA 2.0.
- ODMA Downloads for all materials available for download, including more-recent and alternative materials to the ODMA 2.0 Library Files.
- ODMA FAQ for responses to Frequently-Asked-Questions on ODMA trouble-shooting, development, and support beyond those included in the ODMA 2.0 Library Files package.
For more information on how ODMA 2.0 Library Files edition 2.0.0-1 materials are applied, it is also useful to review the following sections of this document:
- Section 3, ODMA 2.0 Library Content
for information on the actual content (in Table 1)- Section 4, Using
Odma.hfor prerequisites to consider when applying the ODMA API in C/C++ programs
- Section 5, Using
Odmacom.h
for prerequisites to consider when accessing or delivering Microsoft COM interfaces for ODMA in C/C++ programs- Section 6, Using
Odma.libandODMA32.lib
for considerations in binding to the ODMA API, and the development tools needed for delivering 16-bit (Win16) and 32-bit (Win32) ODMA-compliant Intel-architecture components
To access and use the material, you require:
- A web browser or HTML viewer that supports HTML 3.2, including tables.
- A ZIP-archive decompression utility that will extract files from WinZIP-compatible archives.
- An Internet connection and web browser for accessing the ODMA sites and downloading necessary materials.
It is also important to have a current copy of the ODMA 2.0 specification and any errata compiled for it.
To develop ODMA-compliant software using the ODMA 2.0 Library Files, you will need
- A C/C++ compiler system for developing Win32 applications that can use Win32 interfaces and be bound to Win32 Dynamic Link Libraries (DLLs). If you wish to construct a Win32 DMS integration, the programming-language system must support construction of Win32-compliant DLLs.
- A C/C++ compiler system for developing 16-bit (Win16) applications that can use 16-bit Windows interfaces and be bound to 16-bit DLLs. Current Microsoft tools do not support development for Win16. It is necessary to obtain older development products from Microsoft or other sources if construction and maintenance of Win16 components is important.
- A licensed set of Windows headers and Windows libraries, usually provided with the chosen programming-language system.
It is also important to review current issues, incident reports, and FAQ that may impact your development of ODMA-2.0-compliant components.
If you have not already done so, it is valuable to obtain the ODMA 2.0 Software Development Kit (SDK) for component samples and the ODMA 2.0 Connection Managers. This and other material that may be of value can be located via the ODMA Downloads page.
2.1 Identify Current Files
2.2 Download 2.0.0-1 Files
2.3 Extract Files for Development Use
This document applies to the original library files created for ODMA 2.0. They are available on-line as ODMA 2.0 Library Files package version 2.0.0-1.
Unless you have already done so, and are satisfied that the 2.0.0-1 files are what you want, you should check on the AIIM DMware ODMA site for the latest description of ODMA 2.0 Libraries. That description of the current ODMA 2.0 library can be found on the AIIM DMware ODMA development site at URL
http://www.infonuovo.com/odma/downloads/odma20L.htmIf there is more-recent material that is more-appropriate for your purposes, locate the instructions that apply to that material and employ them in place of this description. Do not continue with these instructions.
If package version 2.0.0-1 is the available material that you elect to use, continue with these instructions.
ODMA 2.0 Library Files edition 2.0.0-1 is distributed in the Zip archive file
odma200L-1.zip.Download the
.zipfile from the designated location. Choose a suitable working destination, such as a place where you intend to extract the contents. Rename the file as needed to satisfy requirements of your operating system. It is valuable to choose locations and names that avoid confusion between this library package and any others that become available.If you obtain the .zip file by other means, you can confirm that you have the correct package by reviewing the
odma200L-1.zipContent in Table 1.
The files incorporated in
odma200L-1.zipare designed to be extracted together into a single file-system directory. Using typical Zip-file extraction software, an Extract All operation to a chosen directory will deliver the entire content exactly as described in Table 1.All documentation is in HTML format, and the package can be reviewed using the page
odma20L.htmas the starting point.Two kinds of files are provided for use with programming-language systems:
- C/C++ header files
Odma.handOdmacom.h- development-system link library files
Odma.libandODMA32.lib
Table 1. odma200L-1.zipContentName Size (bytes) Time Stamp
(local time)Edition Description odma20L.htm
-
-2.0.0-1 Description of the package, how to use it, and how to obtain later material. Odma.h
11567
1998-04-09-12:312.0.0-1 ODMA 2.0 Definitions and Interfaces for C/C++ construction of ODMA-compliant software Odmacom.h
5652
1998-01-16-17:072.0.0-1 ODMA 2.0 Definitions and Interfaces for C/C++ construction of ODMA-compliant software that provides or uses the ODMA-defined Microsoft COM interfaces. Odma.lib
12288
1998-05-07-15:392.0.0-1 Library for binding ODMA 2.0-aware Win16 applications to the Win16 ODMA 2.0.0-1 Connection Manager ODMA32.lib
18860
1998-05-07-13:102.0.0-1 Library for binding ODMA 2.0-aware Win32 applications to the Win32 ODMA 2.0.0-1 Connection Manager odma200c.htm
94582000-08-19-16:562.0.0-1 HTML-viewable rendition of Odmacom.hodma200h.htm
160712000-08-11-18:012.0.0-1 HTML-viewable rendition of Odma.hQ000014.htm- - - Q000014: Creating ODMA Document IDs. Using Document IDs with a DMS Integration Q000703.htm
255762000-09-11-12:570.13 Q000703: ODMA-Aware Application and Connection-Manager Version Compatibility. Information on choosing the proper version of definitions and libraries Q000706.htm
368192000-09-11-13:300.14 Q000706: ODMA Version-Interoperability Configuration. Information on setting up the ODMA SDKs for testing with all versions of ODMA Connection Managers and samples Q000901.htm-- - Q000901: Using COM. Information on the way that Microsoft COM is applied for ODMA and on using COM with ODMA. Q001201.htm- - - Q001201: Versions to Develop For.
3.1.1 Format
3.1.2 Symbols
3.1.3 Dependencies
see also, 4. UsingOdma.hOdma.h2.0.0-1 is the original file of ODMA 2.0 definitions for creating ODMA-compliant programs in the C and C++ languages. The file is required for any ODMA-compliant component that depends on or integrates with an ODMA 2.0 Connection Manager.Odma.his also employed in construction of the ODMA 2.0 Connection Managers.
Odma.h2.0.0 depends on the Microsoft Windows Win16 and Win32 platforms and their definitions. The file is not designed for use on any other platform.For more information on appropriate usage of
odma.h, see section 4, UsingOdma.h.
Odma.h2.0.0-1 is a 11,567-byte file with timestamp of1998-04-09-12:31. The file is encoded in the ISO 8859-1 Latin 1 Character-Set, best displayed using Windows ANSI code page 1252. There are tab (HT) characters in the file, with line separations using carriage-return/line-feed (CR/LF) pairs.The first seven lines of the file contain the following identifying information:
/* odma.h - Definitions, prototypes, etc. for Open Document Managment API (ODMA) version 2.0. COPYRIGHT (C) 1994, 1995 AIIM International All Right Reserved */
The file defines and uses the C/C++ pre-processor symbol
ODMA_Hto avoid duplicate processing of theOdma.hdefinitions.All definitions of C/C++ types, preprocessor symbols, and function prototypes use symbols beginning with the three-character prefix "
ODM." No other form of symbol is introduced by processing ofOdma.h.
The file depends implicitly on other headers files of the Microsoft Windows platform. The definitions in Microsoft header file
<wtypes.h>(and others introduced bywtypes.has needed) are sufficient.
If #include <wtypes.h>or #include <windows.h>precede #include "Odma.h"then this dependency is satisfied. If
<wtypes.h>is not part of the Microsoft platform-specific materials, or if it fails on the platform you are compiling for, use<windows.h>instead.
Odma.hadjusts for platform dependencies depending on six preprocessor symbols:WIN32,_WINDOWS_,_MSDOS,unix,_UNIX, and__cplusplus.
3.2.1 Format
3.2.2 Symbols
3.2.3 Dependencies
see also, 5. UsingOdmacom.h
Odmacom.h 2.0.0-1 is the original form of ODMA 2.0
definitions for creating COM-dependent ODMA components in C and C++. Odmacom.h 2.0.0 is required by
ODMA-aware applications that use ODMA 2.0-specified COM interfaces.
The file is also required for programs that supply the ODMA 2.0-defined COM
interfaces. Odmacom.h is employed in the
construction of the ODMA 2.0 Connection Managers.
Odmacom.h 2.0.0 depends on the Microsoft Windows
Win16 and Win32 platforms and their definitions. The file is not
designed for use on any other platform.
For more information on appropriate usage of Odmacom.h,
see section 5, Using Odmacom.h.
Odmacom.h 2.0.0-1 is a 5,652-byte file with timestamp
of 1998-01-16-17:07. The file is encoded in the ISO
8859-1 Latin 1 Character-Set, best displayed using Windows ANSI code page
1252. There are tab (HT)
characters in the file, with line separations using
carriage-return/line-feed (CR/LF)
pairs.
The first seven lines of the file contain the following identifying information:
/* odmacom.h - Component Object Model related definitions, macros, etc. for
ODMA version 2.0.
COPYRIGHT (C) 1994, 1995
AIIM International
All Rights Reserved
*/
- see also: Q000705: Changes Between ODMA Versions
Odmacom.hdefines and uses the C/C++ pre-processor symbolODMACOM_Hto avoid duplicate processing of theOdmacom.hdefinitions.All
Odmacom.hdefinitions of ODMA-specific C/C++ types, preprocessor symbols, interface classes, structures, constant values, and function prototypes employ symbols beginning with the following prefixes:
IODM
IID_ODM
LPODM
ODMWhen used in C++ programs,
odmacom.hdefines a number of C++ class methods as part of COM interface definitions (Table 2). These methods can conflict with method names used in other C++ class definitions (e.g., ones from the Microsoft Foundation Classes), especially when multiple inheritance is employed. This is a consideration when constructing C++ classes that offer or inherit ODMA-defined COM interfaces.
|
|
|
|
|
|
|
|
|
|
|
|
Release |
Release |
Release |
SelectDoc |
QueryExecute |
CloseDocEx |
OpenDoc |
QueryGetResults |
SaveAsEx |
SaveDoc |
QueryClose |
SaveDocEx |
CloseDoc |
SelectDocEx |
|
NewDoc |
QueryCapability |
|
SaveAs |
SetDocEvent |
|
Activate |
GetAlternateContent |
|
GetDocInfo |
SetAlternateContent |
|
SetDocInfo |
GetDocRelation |
|
GetDMSInfo |
SetDocRelation |
|
GetLeadMoniker |
Odmacom.hdepends implicitly on other header files of the Microsoft Windows platform. The definitions from Microsoft header file<wtypes.h>(and others introduced bywtypes.has needed) are sufficient.
If #include <wtypes.h>or #include <windows.h>precede #include "Odma.h"
then this dependency is satisfied. If
<wtypes.h>is not part of the Microsoft platform-specific materials, or if it fails on the platform you are compiling for, use<windows.h>.The file depends explicitly on inclusion of
"odma.h"for its correct processing, and checks for the pre-processor symbolODMA_Hto avoid duplicate inclusion ofOdma.h.
Odmacom.hdepends on the following files provided for Microsoft Windows platforms:<objbase.h>(Win32),<memory.h>(not Win32),<compobj.h>(not Win32),<ole2.h>(all), and<moniker.h>(all).Five preprocessor symbols are used to coordinate the processing of definitions:
WIN32,_OBJBASE_H_,__COMPOBJ_H_,_OLE2_H_, and__cplusplus. The preprocessor symbolINTERFACEis undefined and redefined as part of the use of Windows-platform interface-definition macros employed in the processing ofOdmacom.hinterface definitions.
3.3.1 Format
3.3.2 Symbols
3.3.3 Dependencies
see also, 6. UsingOdma.libandODMA32.libODMA-aware applications that operate on the 16-bit Windows (Win16) platform must be bound to
Odma.dll, the Connection Manager for Win16. This binding can occur dynamically or statically. When binding is done statically,Odma.libis used as part of linking the application program or component.
Odma.libversion 2.0.0 is the Win16 object library file to use for static binding to the ODMA 2.0 Connection Manager for Win16,Odma.dllversion 2.0.0. The library is not useful for binding to earlier versions of the Win16 Connection Manager.For more information on usage of
Odma.lib, see section 6, UsingOdma.libandODMA32.lib.
Odma.lib2.0.0-1 is a 12,288-byte file with timestamp of1998-05-07-15:39. The file is encoded in the Microsoft development tools MSLIBR format.Inprise Turbo Dump 5.0.16.6 recognizes the file. Inspection of the
TDUMPreport yields two kinds of information:
- A large number of ODMA Connection Manager 2.0.0 internal function names are visible in
Odma.libas C++ names.- The public, documented API entries are identified, in agreement with the ordinally-numbered list given in section 3.3.2, Symbols. In MSLIBR files, the exported names are always fully-capitalized (e.g.,
ODMREGISTERAPPforODMRegisterApp).
The following definitions are provided by
Odma.lib2.0.0:LIBRARY ODMA DESCRIPTION 'ODMA 2.0 Connection Manager 16-Bit' CODE MOVEABLE DISCARDABLE DATA MOVEABLE SINGLE HEAPSIZE 16392 EXPORTS ODMRegisterApp @2 ODMUnRegisterApp @3 ODMSelectDoc @4 ODMOpenDoc @5 ODMSaveDoc @6 ODMCloseDoc @7 ODMNewDoc @8 ODMSaveAs @9 ODMActivate @10 ODMGetDocInfo @11 ODMSetDocInfo @12 ODMGetDMSInfo @13 ODMQueryInterface @14 ODMGetLeadMoniker @15 ODMQueryExecute @16 ODMQueryGetResults @17 ODMQueryClose @18 ODMGetDMSCount @19 ODMGetDMSList @20 ODMGetDMS @21 ODMSetDMS @22 ODMCloseDocEx @23 ODMSaveAsEx @24 ODMSaveDocEx @25 ODMSelectDocEx @26 ODMQueryCapability @27 ODMSetDocEvent @28 ODMGetAlternateContent @29 ODMSetAlternateContent @30 ODMGetDocRelation @31 ODMSetDocRelation @32
Odma.libversion 2.0.0 does not depend on the presence of any other libraries in providing access to the 16-bit (Win16) ODMA 2.0 Connection Manager.
3.4.1 Format
3.4.2 Symbols
3.4.3 Dependencies
see also, 6. UsingOdma.libandODMA32.libODMA-aware applications that operate on the 32-bit Windows (Win32) platform must be bound to
ODMA32.dll, the Connection Manager for Win32. This binding can occur dynamically or statically. When binding is done statically,ODMA32.libis used when linking the application program or component.
ODMA32.libversion 2.0.0 is the Win32 object library file to use for static binding to the ODMA 2.0 Connection Manager for Win32,ODMA32.dllversion 2.0.0. The library is not useful for binding to earlier versions of the Win32 Connection Manager.For more information on usage of
ODMA32.lib, see section 6, UsingOdma.libandODMA32.lib.
ODMA32.lib2.0.0-1 is a 18,860-byte file with timestamp of1998-05-07-13:10. The file is encoded in Microsoft Common Object Format File (COFF) binary Library format.Library Information:
time date stamp: 1998-05-07-02:10:13
machine: i386
linker version: 5.10
operating system version: 4.00
The following definitions are provided by
ODMA32.lib2.0.0:LIBRARY ODMA32 DESCRIPTION 'ODMA 2.0 Connection Manager 32-Bit' CODE MOVEABLE DISCARDABLE DATA MOVEABLE SINGLE HEAPSIZE 16392 EXPORTS ODMRegisterApp @2 ODMUnRegisterApp @3 ODMSelectDoc @4 ODMOpenDoc @5 ODMSaveDoc @6 ODMCloseDoc @7 ODMNewDoc @8 ODMSaveAs @9 ODMActivate @10 ODMGetDocInfo @11 ODMSetDocInfo @12 ODMGetDMSInfo @13 ODMQueryInterface @14 ODMGetLeadMoniker @15 ODMQueryExecute @16 ODMQueryGetResults @17 ODMQueryClose @18 ODMGetDMSCount @19 ODMGetDMSList @20 ODMGetDMS @21 ODMSetDMS @22 ODMCloseDocEx @23 ODMSaveAsEx @24 ODMSaveDocEx @25 ODMSelectDocEx @26 ODMQueryCapability @27 ODMSetDocEvent @28 ODMGetAlternateContent @29 ODMSetAlternateContent @30 ODMGetDocRelation @31 ODMSetDocRelation @32
ODMA32.libversion 2.0.0 does not depend on the presence of any other libraries in providing static binding to the 32-bit (Win32) ODMA 2.0 Connection Manager.
Odma.h
- Who uses Odma.h?
- What level of Interoperability is desired?
- Using the appropriate ODMA Version
- Incorporating Odma.h into programs.
- Watching out for the dependencies.
- Tips on Usage
Odmacom.h
- see also:
- Q00901: Using COM
- Who uses Odmacom.h?
- What level of Interoperability is desired?
- Using the appropriate ODMA Version
- Incorporating Odma.h into programs.
- Important Precautions
- Tips on Usage
- Confirming ODMA Operation
Odma.lib and
ODMA32.lib
- Who Uses Odma.lib and ODMA32.lib
- Win16 and Win32 considerations
- Choosing Type of Binding
- Using the Correct Library for Platform, Binding, and ODMA Version
- Important Precautions
- Tips on Usage
- Confirming ODMA Operation
Odma.h, Odmacom.h,
Odma.lib, and ODMA32.lib are zipped
"as is" along with this accompanying odma20L.htm
(package 2.0.0-1) description. HTML versions of the definition files
are provided in the browser-viewable pages odma200h.htm and odma200c.htm.
Supplemental notes that support effective use of the libraries are also
provided: Q000703.htm, Q000706.htm,
Q000014.htm, Q000901.htm,
and Q001201.htm.created 2000-07-11-15:36 -0700 (pdt) by orcmid
$$Author: Orcmid $
$$Date: 05-02-03 16:13 $
$$Revision: 15 $