Odma.h
Category: Functionality - Defect Incident ID: X000002 Priority: 5 - Important Status: Workaround Under Development Component: Odma.h 2.0.0
- Repaired in: tbd
Related information:- X000009: Incorrect
ODMOpenDocODM_REFCOPYFlag
X000301: Constant Definitions Managed Improperly- Q000705: Changes Between ODMA Versions,
Q000703: ODMA-Aware Application and Connection-Manager Version Compatibility,
Errata 2.0: ODMA Version 2.0 Errata,
P000702: ODMA Library Release 2.0.1 projectAssigned To: tbd
- Reported By:
- Raja Sekhar (1998-07-17)
Bob St. Jean (1998-09-08)
Michael D. Smith (1999-04-16)
Dal Ghotra (1999-08-16)
Evgeny Rex (2001-05-09)
Viktor Yuzyuk (2001-05-15)Date Reported: 1998-07-17
Date Logged: 2000-08-11
Date Opened: 2001-05-11Date Closed: none
Content
Contributors
In the original ODMA 2.0 Library header file
Odma.h, the values for a number of flags and result codes are not defined:
Table 1-1. Missing Values for ODMSTATUSCodesODMSTATUSCorrect Value Comments ODM_NOERROR0Define this code to preserve down-level compatibility with ODMA 1.5 Definitions. ODM_E_ALREADYOPENED241. Do not use these result codes with any operation defined prior to ODMA 2.0. See Q000705: Changes Between ODMA Versions. These codes are not expected by pre-ODMA 2.0 applications, and failures may be provoked if they are returned.
2. Do not define these result codes until it is established how to safely return these codes to only those applications that are prepared for them.ODM_E_ARCHIVED23ODM_E_FILELOCKED25ODM_W_NOACTION271. An application developed without this definition may fail or behave as if the requested operation failed.
2. Do not define this code. ReturnODM_SUCCESSinstead.ODM_E_NORELATION28ODM_E_REFUSED26Do not define. Do not use. The ODMA 2.0 Connection Manager implementation of ODMRegisterAppnever returns thisODMSTATUSvalue.
Table 1-2. Missing/Corrected Values for ODMOpenDocandODMSelectDocExflagODMOpenDoc/ODMSelectDocEx flagvaluesCorrect Value Comments ODM_REFCOPY4Value of 3is incorrect.ODM_TEMPLATE8
Table 1-3. Values for Get/Set Relation *pdw flagODMGetRelation/ODMSetRelation *pdwflagvaluesCorrect Value Comments ODM_REL_CHILD1ODM_REL_PARENT2ODM_REL_NONE4ODM_REL_NOTORDERED8ODM_REL_FIXED32ODM_REL_RELEASED64ODM_REL_LATEST128
Table 1-4. Values for ODMSetDocEvent eventODMSetDocEvent eventvaluesCorrect Value Comments ODM_EVENT_PRINTED1ODM_EVENT_POSTED2ODM_EVENT_SENT3ODM_EVENT_FAXED4ODM_EVENT_ROUTED5ODM_EVENT_COPIED6ODM_EVENT_CONVERTED7ODM_EVENT_DMSDEFINED8
Table 1-5. Values for ODMGetODMInterfaceandODMQueryInterface HRESULTHRESULTCorrect Value Comments S_OK0L1. These values are defined by standard Windows libraries when odmacom.his properly included into a program. Do not define these values directly.
2. These are but a small selection of possible COMHRESULTcodes that can be delivered to applications whether or not returned directly by ODMA DMS implementations.
3. Apart fromS_OKandE_NOINTERFACE, applications should treat all others as ifE_UNEXPECTED.E_NOINTERFACE0x80004002LE_FAIL0x80004005LE_UNEXPECTED0x8000FFFFLE_ACCESSDENIED0x80070005L1. Do not return these values from an implementation of ODMQueryInterfaceorODMGetODMInterface.
2. Although these are defined by some standard Windows libraries, there is no use made of them by the ODMA 2.0 Connection Manager.E_INVALIDARG0x80070057LE_ODM_VERSIONn/aThere is no valid HRESULTwith this name.Do not implement.
The following actions are proposed:
- Leave
odma.h2.0.0-1 intact.- Create a supplemental
.hfile that can be added by#includefollowing the inclusion ofodma.h.- The supplemental
.hfile will define only those codes that are safe to introduce unannounced at this point.- For the codes that are useful but that introduce compatibility problems, it is recommended that they be abandoned for now and reintroduced with a maintenance release of the specification, the ODMA Connection Manager, and the ODMA libraries.
- The introduction of more codes will be accomplished in a way that preserves operation of all ODMA-aware applications implemented with the current ODMA 2.0, 1.5, or 1.0 versions of
odma.hand the pre-ODMA 2.0 ODMA Specifications.
[When the supplemental .h file is available, it will be made available here.]
[The discussion of history and problems introduced by the additional ODMA 2.0 codes is a bit complex. We will save this until a decent workaround is available]
- Dennis Hamilton
- reviewed the archive of ODMA Tech mail for unresolved incidents, logging this one (2000-08-11) and later opening it for resolution (2001-05-11) as more people began to notice the deficiency. Dennis provided analysis of the compatibility issues and the workaround approach.
- Bob St. Jean
- confirmed that there are omissions and provided an unofficial version of
odma.hwith his corrections.
created 2001-05-11-08:17 -0700 (pdt) by orcmid
$$Author: Orcmid $
$$Date: 04-11-18 14:16 $
$$Revision: 5 $