home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 September / VPR0009A.BIN / VS60SP4JPN / support / odbcinst.h < prev    next >
C/C++ Source or Header  |  1999-01-29  |  15KB  |  403 lines

  1. /*--------------------------------------------------------------------------
  2.   ODBCInst.h -- Prototypes for ODBCCP32.DLL
  3.  
  4.   (c) Microsoft Corp., 1990-1998
  5. --------------------------------------------------------------------------*/
  6.  
  7. #ifndef __ODBCINST_H
  8. #define __ODBCINST_H
  9.  
  10. #ifndef __SQL
  11. #include "sql.h"
  12. #endif
  13.  
  14. #ifdef __cplusplus
  15. extern "C" {                               // Assume C declarations for C++
  16. #endif    // __cplusplus
  17.  
  18. #ifndef ODBCVER
  19. #define ODBCVER 0x0351                       // Assume ODBC 3.51
  20. #endif
  21.  
  22. #ifndef WINVER
  23. #define  WINVER  0x0400                     // Assume Windows 4.0
  24. #endif
  25.  
  26. // Constants ---------------------------------------------------------------
  27. // SQLConfigDataSource request flags
  28. #define  ODBC_ADD_DSN     1               // Add data source
  29. #define  ODBC_CONFIG_DSN  2               // Configure (edit) data source
  30. #define  ODBC_REMOVE_DSN  3               // Remove data source
  31.  
  32. #if (ODBCVER >= 0x0250)
  33. #define  ODBC_ADD_SYS_DSN 4                  // add a system DSN
  34. #define  ODBC_CONFIG_SYS_DSN    5          // Configure a system DSN
  35. #define  ODBC_REMOVE_SYS_DSN    6          // remove a system DSN
  36. #if (ODBCVER >= 0x0300)
  37. #define     ODBC_REMOVE_DEFAULT_DSN    7        // remove the default DSN
  38. #endif  /* ODBCVER >= 0x0300 */
  39.  
  40. // install request flags
  41. #define     ODBC_INSTALL_INQUIRY    1        
  42. #define  ODBC_INSTALL_COMPLETE    2
  43.  
  44. // config driver flags
  45. #define  ODBC_INSTALL_DRIVER    1
  46. #define  ODBC_REMOVE_DRIVER        2
  47. #define  ODBC_CONFIG_DRIVER        3
  48. #define  ODBC_CONFIG_DRIVER_MAX 100
  49. #endif
  50.  
  51. // SQLGetConfigMode and SQLSetConfigMode flags
  52. #if (ODBCVER >= 0x0300)
  53. #define ODBC_BOTH_DSN        0
  54. #define ODBC_USER_DSN        1
  55. #define ODBC_SYSTEM_DSN        2
  56. #endif  /* ODBCVER >= 0x0300 */
  57.  
  58. // SQLInstallerError code
  59. #if (ODBCVER >= 0x0300)
  60. #define ODBC_ERROR_GENERAL_ERR                   1
  61. #define ODBC_ERROR_INVALID_BUFF_LEN              2
  62. #define ODBC_ERROR_INVALID_HWND                  3
  63. #define ODBC_ERROR_INVALID_STR                   4
  64. #define ODBC_ERROR_INVALID_REQUEST_TYPE          5
  65. #define ODBC_ERROR_COMPONENT_NOT_FOUND           6
  66. #define ODBC_ERROR_INVALID_NAME                  7
  67. #define ODBC_ERROR_INVALID_KEYWORD_VALUE         8
  68. #define ODBC_ERROR_INVALID_DSN                   9
  69. #define ODBC_ERROR_INVALID_INF                  10
  70. #define ODBC_ERROR_REQUEST_FAILED               11
  71. #define ODBC_ERROR_INVALID_PATH                 12
  72. #define ODBC_ERROR_LOAD_LIB_FAILED              13
  73. #define ODBC_ERROR_INVALID_PARAM_SEQUENCE       14
  74. #define ODBC_ERROR_INVALID_LOG_FILE             15
  75. #define ODBC_ERROR_USER_CANCELED                16
  76. #define ODBC_ERROR_USAGE_UPDATE_FAILED          17
  77. #define ODBC_ERROR_CREATE_DSN_FAILED            18
  78. #define ODBC_ERROR_WRITING_SYSINFO_FAILED       19
  79. #define ODBC_ERROR_REMOVE_DSN_FAILED            20
  80. #define ODBC_ERROR_OUT_OF_MEM                   21
  81. #define ODBC_ERROR_OUTPUT_STRING_TRUNCATED      22
  82. #endif /* ODBCVER >= 0x0300 */
  83.  
  84. #ifndef EXPORT
  85. #define EXPORT 
  86. #endif
  87.  
  88. #ifndef RC_INVOKED
  89. // Prototypes --------------------------------------------------------------
  90. #define INSTAPI __stdcall
  91.  
  92. // High level APIs
  93. BOOL INSTAPI SQLInstallODBC          (HWND       hwndParent,
  94.                                       LPCSTR     lpszInfFile,
  95.                                       LPCSTR     lpszSrcPath,
  96.                                       LPCSTR     lpszDrivers);
  97. BOOL INSTAPI SQLManageDataSources    (HWND       hwndParent);
  98. BOOL INSTAPI SQLCreateDataSource     (HWND       hwndParent,
  99.                                       LPCSTR     lpszDSN);
  100. BOOL INSTAPI SQLGetTranslator        (HWND       hwnd,
  101.                                        LPSTR      lpszName,
  102.                                        WORD       cbNameMax,
  103.                                        WORD      *pcbNameOut,
  104.                                        LPSTR      lpszPath,
  105.                                        WORD       cbPathMax,
  106.                                        WORD      *pcbPathOut,
  107.                                        DWORD     *pvOption);
  108.  
  109. // Low level APIs
  110. // NOTE: The high-level APIs should always be used. These APIs
  111. //       have been left for compatibility.
  112. BOOL INSTAPI SQLInstallDriver        (LPCSTR     lpszInfFile,
  113.                                       LPCSTR     lpszDriver,
  114.                                       LPSTR      lpszPath,
  115.                                       WORD       cbPathMax,
  116.                                       WORD         * pcbPathOut);
  117. BOOL INSTAPI SQLInstallDriverManager (LPSTR      lpszPath,
  118.                                       WORD       cbPathMax,
  119.                                       WORD         * pcbPathOut);
  120. BOOL INSTAPI SQLGetInstalledDrivers  (LPSTR      lpszBuf,
  121.                                       WORD       cbBufMax,
  122.                                       WORD         * pcbBufOut);
  123. BOOL INSTAPI SQLGetAvailableDrivers  (LPCSTR     lpszInfFile,
  124.                                       LPSTR      lpszBuf,
  125.                                       WORD       cbBufMax,
  126.                                       WORD         * pcbBufOut);
  127. BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent,
  128.                                       WORD       fRequest,
  129.                                       LPCSTR     lpszDriver,
  130.                                       LPCSTR     lpszAttributes);
  131. BOOL INSTAPI SQLRemoveDefaultDataSource(void);
  132. BOOL INSTAPI SQLWriteDSNToIni        (LPCSTR     lpszDSN,
  133.                                       LPCSTR     lpszDriver);
  134. BOOL INSTAPI SQLRemoveDSNFromIni     (LPCSTR     lpszDSN);
  135. BOOL INSTAPI SQLValidDSN             (LPCSTR     lpszDSN);
  136.  
  137. BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR lpszSection,
  138.                                          LPCSTR lpszEntry,
  139.                                          LPCSTR lpszString,
  140.                                          LPCSTR lpszFilename);
  141.  
  142. int  INSTAPI SQLGetPrivateProfileString( LPCSTR lpszSection,
  143.                                         LPCSTR lpszEntry,
  144.                                         LPCSTR lpszDefault,
  145.                                         LPSTR  lpszRetBuffer,
  146.                                         int    cbRetBuffer,
  147.                                         LPCSTR lpszFilename);
  148.  
  149. #if (ODBCVER >= 0x0250)
  150. BOOL INSTAPI SQLRemoveDriverManager(LPDWORD lpdwUsageCount);
  151. BOOL INSTAPI SQLInstallTranslator(LPCSTR lpszInfFile,
  152.                                   LPCSTR lpszTranslator,
  153.                                   LPCSTR lpszPathIn,
  154.                                   LPSTR  lpszPathOut,
  155.                                   WORD   cbPathOutMax,
  156.                                   WORD     *pcbPathOut,
  157.                                   WORD     fRequest,
  158.                                   LPDWORD    lpdwUsageCount);
  159. BOOL INSTAPI SQLRemoveTranslator(LPCSTR lpszTranslator, 
  160.                                  LPDWORD lpdwUsageCount);
  161. BOOL INSTAPI SQLRemoveDriver(LPCSTR lpszDriver, 
  162.                              BOOL fRemoveDSN, 
  163.                              LPDWORD lpdwUsageCount);
  164. BOOL INSTAPI SQLConfigDriver(HWND hwndParent, 
  165.                              WORD fRequest, 
  166.                              LPCSTR lpszDriver,
  167.                              LPCSTR lpszArgs,
  168.                              LPSTR  lpszMsg,
  169.                              WORD   cbMsgMax,
  170.                              WORD     *pcbMsgOut);
  171. #endif
  172.  
  173. #if (ODBCVER >=  0x0300)
  174. SQLRETURN INSTAPI SQLInstallerError(WORD iError,
  175.                             DWORD *pfErrorCode,
  176.                             LPSTR    lpszErrorMsg,
  177.                             WORD    cbErrorMsgMax,
  178.                             WORD    *pcbErrorMsg);
  179. SQLRETURN INSTAPI SQLPostInstallerError(DWORD dwErrorCode, LPCSTR lpszErrMsg);
  180.  
  181. BOOL INSTAPI SQLWriteFileDSN(LPCSTR  lpszFileName,
  182.                              LPCSTR  lpszAppName,
  183.                              LPCSTR  lpszKeyName,
  184.                              LPCSTR  lpszString);
  185.  
  186. BOOL INSTAPI  SQLReadFileDSN(LPCSTR  lpszFileName,
  187.                              LPCSTR  lpszAppName,
  188.                              LPCSTR  lpszKeyName,
  189.                              LPSTR   lpszString,
  190.                              WORD    cbString,
  191.                              WORD   *pcbString);
  192. BOOL INSTAPI SQLInstallDriverEx(LPCSTR lpszDriver,
  193.                              LPCSTR       lpszPathIn,
  194.                              LPSTR       lpszPathOut,
  195.                              WORD       cbPathOutMax,
  196.                              WORD      *pcbPathOut,
  197.                              WORD        fRequest,
  198.                              LPDWORD    lpdwUsageCount);
  199. BOOL INSTAPI SQLInstallTranslatorEx(LPCSTR lpszTranslator,
  200.                                   LPCSTR lpszPathIn,
  201.                                   LPSTR  lpszPathOut,
  202.                                   WORD   cbPathOutMax,
  203.                                   WORD     *pcbPathOut,
  204.                                   WORD     fRequest,
  205.                                   LPDWORD    lpdwUsageCount);
  206. BOOL INSTAPI SQLGetConfigMode(UWORD    *pwConfigMode);
  207. BOOL INSTAPI SQLSetConfigMode(UWORD wConfigMode);
  208. #endif /* ODBCVER >= 0x0300 */
  209.  
  210. //    Driver specific Setup APIs called by installer
  211.  
  212. BOOL INSTAPI ConfigDSN (HWND    hwndParent,
  213.                         WORD    fRequest,
  214.                         LPCSTR    lpszDriver,
  215.                         LPCSTR    lpszAttributes);
  216.  
  217. BOOL INSTAPI ConfigTranslator (    HWND        hwndParent,
  218.                                 DWORD         *pvOption);
  219.  
  220. #if (ODBCVER >= 0x0250)
  221. BOOL INSTAPI ConfigDriver(HWND hwndParent, 
  222.                           WORD fRequest, 
  223.                           LPCSTR lpszDriver,
  224.                           LPCSTR lpszArgs, 
  225.                           LPSTR  lpszMsg, 
  226.                           WORD   cbMsgMax, 
  227.                           WORD     *pcbMsgOut);
  228. #endif
  229.  
  230.  
  231. // UNICODE APIs
  232.  
  233. // High level APIs
  234. BOOL INSTAPI SQLInstallODBCW          (HWND       hwndParent,
  235.                                       LPCWSTR     lpszInfFile,
  236.                                       LPCWSTR     lpszSrcPath,
  237.                                       LPCWSTR     lpszDrivers);
  238. BOOL INSTAPI SQLCreateDataSourceW     (HWND       hwndParent,
  239.                                       LPCWSTR     lpszDSN);
  240. BOOL INSTAPI SQLGetTranslatorW        (HWND       hwnd,
  241.                                        LPWSTR      lpszName,
  242.                                        WORD       cbNameMax,
  243.                                        WORD      *pcbNameOut,
  244.                                        LPWSTR      lpszPath,
  245.                                        WORD       cbPathMax,
  246.                                        WORD      *pcbPathOut,
  247.                                        DWORD     *pvOption);
  248.  
  249. // Low level APIs
  250. // NOTE: The high-level APIs should always be used. These APIs
  251. //       have been left for compatibility.
  252. BOOL INSTAPI SQLInstallDriverW        (LPCWSTR     lpszInfFile,
  253.                                       LPCWSTR     lpszDriver,
  254.                                       LPWSTR      lpszPath,
  255.                                       WORD       cbPathMax,
  256.                                       WORD         * pcbPathOut);
  257. BOOL INSTAPI SQLInstallDriverManagerW (LPWSTR      lpszPath,
  258.                                       WORD       cbPathMax,
  259.                                       WORD         * pcbPathOut);
  260. BOOL INSTAPI SQLGetInstalledDriversW  (LPWSTR      lpszBuf,
  261.                                       WORD       cbBufMax,
  262.                                       WORD         * pcbBufOut);
  263. BOOL INSTAPI SQLGetAvailableDriversW  (LPCWSTR     lpszInfFile,
  264.                                       LPWSTR      lpszBuf,
  265.                                       WORD       cbBufMax,
  266.                                       WORD         * pcbBufOut);
  267. BOOL INSTAPI SQLConfigDataSourceW     (HWND       hwndParent,
  268.                                       WORD       fRequest,
  269.                                       LPCWSTR     lpszDriver,
  270.                                       LPCWSTR     lpszAttributes);
  271. BOOL INSTAPI SQLWriteDSNToIniW        (LPCWSTR     lpszDSN,
  272.                                       LPCWSTR     lpszDriver);
  273. BOOL INSTAPI SQLRemoveDSNFromIniW     (LPCWSTR     lpszDSN);
  274. BOOL INSTAPI SQLValidDSNW             (LPCWSTR     lpszDSN);
  275.  
  276. BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR lpszSection,
  277.                                          LPCWSTR lpszEntry,
  278.                                          LPCWSTR lpszString,
  279.                                          LPCWSTR lpszFilename);
  280.  
  281. int  INSTAPI SQLGetPrivateProfileStringW( LPCWSTR lpszSection,
  282.                                         LPCWSTR lpszEntry,
  283.                                         LPCWSTR lpszDefault,
  284.                                         LPWSTR  lpszRetBuffer,
  285.                                         int    cbRetBuffer,
  286.                                         LPCWSTR lpszFilename);
  287.  
  288. #if (ODBCVER >= 0x0250)
  289. BOOL INSTAPI SQLInstallTranslatorW(LPCWSTR lpszInfFile,
  290.                                   LPCWSTR lpszTranslator,
  291.                                   LPCWSTR lpszPathIn,
  292.                                   LPWSTR  lpszPathOut,
  293.                                   WORD   cbPathOutMax,
  294.                                   WORD     *pcbPathOut,
  295.                                   WORD     fRequest,
  296.                                   LPDWORD    lpdwUsageCount);
  297. BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR lpszTranslator, 
  298.                                  LPDWORD lpdwUsageCount);
  299. BOOL INSTAPI SQLRemoveDriverW(LPCWSTR lpszDriver, 
  300.                              BOOL fRemoveDSN, 
  301.                              LPDWORD lpdwUsageCount);
  302. BOOL INSTAPI SQLConfigDriverW(HWND hwndParent, 
  303.                              WORD fRequest, 
  304.                              LPCWSTR lpszDriver,
  305.                              LPCWSTR lpszArgs,
  306.                              LPWSTR  lpszMsg,
  307.                              WORD   cbMsgMax,
  308.                              WORD     *pcbMsgOut);
  309. #endif
  310.  
  311. #if (ODBCVER >= 0x0300)
  312. SQLRETURN    INSTAPI SQLInstallerErrorW(WORD    iError,
  313.                             DWORD    *pfErrorCode,
  314.                             LPWSTR    lpszErrorMsg,
  315.                             WORD    cbErrorMsgMax,
  316.                             WORD    *pcbErrorMsg);
  317. SQLRETURN INSTAPI    SQLPostInstallerErrorW(DWORD dwErrorCode, 
  318.                             LPCWSTR lpszErrorMsg);
  319.  
  320. BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR  lpszFileName,
  321.                               LPCWSTR  lpszAppName,
  322.                               LPCWSTR  lpszKeyName,
  323.                               LPCWSTR  lpszString);
  324.  
  325. BOOL INSTAPI  SQLReadFileDSNW(LPCWSTR  lpszFileName,
  326.                               LPCWSTR  lpszAppName,
  327.                               LPCWSTR  lpszKeyName,
  328.                               LPWSTR   lpszString,
  329.                               WORD     cbString,
  330.                               WORD    *pcbString);
  331. BOOL INSTAPI SQLInstallDriverExW(LPCWSTR lpszDriver,
  332.                              LPCWSTR       lpszPathIn,
  333.                              LPWSTR       lpszPathOut,
  334.                              WORD       cbPathOutMax,
  335.                              WORD      *pcbPathOut,
  336.                              WORD        fRequest,
  337.                              LPDWORD    lpdwUsageCount);
  338. BOOL INSTAPI SQLInstallTranslatorExW(LPCWSTR lpszTranslator,
  339.                                   LPCWSTR lpszPathIn,
  340.                                   LPWSTR  lpszPathOut,
  341.                                   WORD   cbPathOutMax,
  342.                                   WORD     *pcbPathOut,
  343.                                   WORD     fRequest,
  344.                                   LPDWORD    lpdwUsageCount);
  345. #endif  /* ODBCVER >= 0x0300 */
  346.  
  347. //    Driver specific Setup APIs called by installer
  348.  
  349. BOOL INSTAPI ConfigDSNW (HWND    hwndParent,
  350.                         WORD    fRequest,
  351.                         LPCWSTR    lpszDriver,
  352.                         LPCWSTR    lpszAttributes);
  353.  
  354.  
  355. #if (ODBCVER >= 0x0250)
  356. BOOL INSTAPI ConfigDriverW(HWND hwndParent, 
  357.                           WORD fRequest, 
  358.                           LPCWSTR lpszDriver,
  359.                           LPCWSTR lpszArgs, 
  360.                           LPWSTR  lpszMsg, 
  361.                           WORD   cbMsgMax, 
  362.                           WORD     *pcbMsgOut);
  363. #endif
  364.  
  365. #ifndef    SQL_NOUNICODEMAP    // define this to disable the mapping
  366. #ifdef     UNICODE
  367.  
  368.  
  369. #define  SQLInstallODBC                 SQLInstallODBCW          
  370. #define  SQLCreateDataSource             SQLCreateDataSourceW 
  371. #define  SQLGetTranslator                 SQLGetTranslatorW     
  372. #define  SQLInstallDriver                SQLInstallDriverW      
  373. #define  SQLInstallDriverManager        SQLInstallDriverManagerW
  374. #define  SQLGetInstalledDrivers            SQLGetInstalledDriversW
  375. #define  SQLGetAvailableDrivers            SQLGetAvailableDriversW 
  376. #define  SQLConfigDataSource            SQLConfigDataSourceW
  377. #define  SQLWriteDSNToIni                SQLWriteDSNToIniW    
  378. #define  SQLRemoveDSNFromIni            SQLRemoveDSNFromIniW  
  379. #define  SQLValidDSN                    SQLValidDSNW           
  380. #define  SQLWritePrivateProfileString    SQLWritePrivateProfileStringW
  381. #define     SQLGetPrivateProfileString        SQLGetPrivateProfileStringW
  382. #define  SQLInstallTranslator            SQLInstallTranslatorW
  383. #define  SQLRemoveTranslator            SQLRemoveTranslatorW
  384. #define  SQLRemoveDriver                SQLRemoveDriverW
  385. #define  SQLConfigDriver                SQLConfigDriverW
  386. #define     SQLInstallerError                SQLInstallerErrorW
  387. #define     SQLPostInstallerError            SQLPostInstallerErrorW
  388. #define  SQLReadFileDSN                 SQLReadFileDSNW
  389. #define  SQLWriteFileDSN                SQLWriteFileDSNW
  390. #define  SQLInstallDriverEx                SQLInstallDriverExW
  391. #define  SQLInstallTranslatorEx            SQLInstallTranslatorExW
  392.  
  393. #endif // UNICODE
  394. #endif // SQL_NOUNICODEMAP
  395.  
  396. #endif // RC_INVOKED
  397.  
  398. #ifdef __cplusplus
  399. }                                    // End of extern "C" {
  400. #endif    // __cplusplus
  401.  
  402. #endif // __ODBCINST_H
  403.