A set of DDTT OS/2 API-cover routines is provided. These routines detect and report error conditions returned by OS/2 API calls. Formatted error messages do not have to be created for each API called; however, if the API returns an error, it will be reported in the log file. The provided cover APIs have the same name as their OS/2 counterparts but are prefaced with ddt. Likewise, the calling parameters are also identical, except for three additional parameters added after the standard parameters:
IString pszCallingRoutineName; //Name of the device specific stub function // calling routine. This IString is printed // as part of any error message generated in // the API cover routine. IString pszLocationDescription; // Any text the DLL writer wants included // with the error message text from the API // cover routine. OutputStream& output; // OutputStream to send any error or // informational messages from the API cover // routine.
Listed below is the current set of OS/2 APIs for which DDTT has implemented cover routines:
ddtDosOpen
ddtDosRead
ddtDosWrite
ddtDosDevIOCtl
ddtDosClose
ddtDosPhysicalDisk
The writer of a device-specific DLL must include ddtos2.h.
# include ddtos2.h
Below is a sample prototype of one of the most frequently used API cover routines.
APIRET _export ddtDosDevIOCtl( HFILE hDevice, ULONG category, ULONG function, PVOID pParams, ULONG cbParmLenMax, PULONG pcbParmLen, PVOID pData, ULONG cbDataLenMax, PULONG pcbDataLen, IString pszCallingRoutineName, IString pszLocationDescription, OutputStream& output);