|  odbcinst.h (3.526.3959.0-Windows 5.0)  |   |  odbcinst.h (6.0.6002.18005-Windows 6.0)  | 
 
      | //----------------------------------------------------------------------------- |   | //----------------------------------------------------------------------------- | 
       | 
      | // File:                       odbcinst.h |   | // File:            odbcinst.h | 
      | // |   | // | 
       | 
      | // Copyright:          Copyright (c) Microsoft Corporation |   | // Copyright:       Copyright (c) Microsoft Corporation | 
      | // |   | // | 
       | 
      | // Contents:           Prototypes for ODBCCP32.DLL |   | // Contents:        Prototypes for ODBCCP32.DLL | 
      | // |   | // | 
      | // Comments: |   | // Comments: | 
      | // |   | // | 
       | 
      | //<owner current="true" primary="true">afield</owner> |   |  | 
      | //<owner current="true" primary="false">mugunm</owner> |   |  | 
      | //----------------------------------------------------------------------------- |   | //----------------------------------------------------------------------------- | 
       |   |  | 
      | #ifndef __ODBCINST_H |   | #ifndef __ODBCINST_H | 
      | #define __ODBCINST_H |   | #define __ODBCINST_H | 
       |   |  | 
      | #ifndef __SQL |   | #ifndef __SQL | 
      | #include "sql.h" |   | #include "sql.h" | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | extern "C" {                               // Assume C declarations for C++ |   | extern "C" {                               // Assume C declarations for C++ | 
       | 
      | #endif // __cplusplus |   | #endif  // __cplusplus | 
       |   |  | 
      | #ifndef ODBCVER |   | #ifndef ODBCVER | 
       | 
      | #define ODBCVER 0x0351                                    // Assume ODBC 3.51 |   | #define ODBCVER 0x0351                     // Assume ODBC 3.51 | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifndef WINVER |   | #ifndef WINVER | 
      | #define  WINVER  0x0400                     // Assume Windows 4.0 |   | #define  WINVER  0x0400                     // Assume Windows 4.0 | 
      | #endif |   | #endif | 
       |   |  | 
      | // Constants --------------------------------------------------------------- |   | // Constants --------------------------------------------------------------- | 
      | // SQLConfigDataSource request flags |   | // SQLConfigDataSource request flags | 
      | #define  ODBC_ADD_DSN     1               // Add data source |   | #define  ODBC_ADD_DSN     1               // Add data source | 
      | #define  ODBC_CONFIG_DSN  2               // Configure (edit) data source |   | #define  ODBC_CONFIG_DSN  2               // Configure (edit) data source | 
      | #define  ODBC_REMOVE_DSN  3               // Remove data source |   | #define  ODBC_REMOVE_DSN  3               // Remove data source | 
       |   |  | 
      | #if (ODBCVER >= 0x0250) |   | #if (ODBCVER >= 0x0250) | 
       | 
      | #define  ODBC_ADD_SYS_DSN 4                              // add a system DSN |   | #define  ODBC_ADD_SYS_DSN 4               // add a system DSN | 
      | #define  ODBC_CONFIG_SYS_DSN   5                 // Configure a system DSN |   | #define  ODBC_CONFIG_SYS_DSN    5         // Configure a system DSN | 
      | #define  ODBC_REMOVE_SYS_DSN   6                 // remove a system DSN |   | #define  ODBC_REMOVE_SYS_DSN    6         // remove a system DSN | 
      | #if (ODBCVER >= 0x0300) |   | #if (ODBCVER >= 0x0300) | 
       | 
      | #define         ODBC_REMOVE_DEFAULT_DSN        7               // remove the def
ault DSN |   | #define  ODBC_REMOVE_DEFAULT_DSN    7       // remove the default DSN | 
      | #endif  /* ODBCVER >= 0x0300 */ |   | #endif  /* ODBCVER >= 0x0300 */ | 
       |   |  | 
      | // install request flags |   | // install request flags | 
       | 
      | #define         ODBC_INSTALL_INQUIRY   1 |   | #define  ODBC_INSTALL_INQUIRY   1 | 
      | #define  ODBC_INSTALL_COMPLETE 2 |   | #define  ODBC_INSTALL_COMPLETE  2 | 
       |   |  | 
      | // config driver flags |   | // config driver flags | 
       | 
      | #define  ODBC_INSTALL_DRIVER   1 |   | #define  ODBC_INSTALL_DRIVER    1 | 
      | #define  ODBC_REMOVE_DRIVER            2 |   | #define  ODBC_REMOVE_DRIVER     2 | 
      | #define  ODBC_CONFIG_DRIVER            3 |   | #define  ODBC_CONFIG_DRIVER     3 | 
      | #define  ODBC_CONFIG_DRIVER_MAX 100 |   | #define  ODBC_CONFIG_DRIVER_MAX 100 | 
      | #endif |   | #endif | 
       |   |  | 
      | // SQLGetConfigMode and SQLSetConfigMode flags |   | // SQLGetConfigMode and SQLSetConfigMode flags | 
      | #if (ODBCVER >= 0x0300) |   | #if (ODBCVER >= 0x0300) | 
       | 
      | #define ODBC_BOTH_DSN          0 |   | #define ODBC_BOTH_DSN       0 | 
      | #define ODBC_USER_DSN          1 |   | #define ODBC_USER_DSN       1 | 
      | #define ODBC_SYSTEM_DSN                2 |   | #define ODBC_SYSTEM_DSN     2 | 
      | #endif  /* ODBCVER >= 0x0300 */ |   | #endif  /* ODBCVER >= 0x0300 */ | 
       |   |  | 
      | // SQLInstallerError code |   | // SQLInstallerError code | 
      | #if (ODBCVER >= 0x0300) |   | #if (ODBCVER >= 0x0300) | 
      | #define ODBC_ERROR_GENERAL_ERR                   1 |   | #define ODBC_ERROR_GENERAL_ERR                   1 | 
      | #define ODBC_ERROR_INVALID_BUFF_LEN              2 |   | #define ODBC_ERROR_INVALID_BUFF_LEN              2 | 
      | #define ODBC_ERROR_INVALID_HWND                  3 |   | #define ODBC_ERROR_INVALID_HWND                  3 | 
      | #define ODBC_ERROR_INVALID_STR                   4 |   | #define ODBC_ERROR_INVALID_STR                   4 | 
      | #define ODBC_ERROR_INVALID_REQUEST_TYPE          5 |   | #define ODBC_ERROR_INVALID_REQUEST_TYPE          5 | 
      | #define ODBC_ERROR_COMPONENT_NOT_FOUND           6 |   | #define ODBC_ERROR_COMPONENT_NOT_FOUND           6 | 
       |   |  | 
      | skipping to change at line 102 |   | skipping to change at line 100 | 
      | #define EXPORT |   | #define EXPORT | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifndef RC_INVOKED |   | #ifndef RC_INVOKED | 
      | // Prototypes -------------------------------------------------------------- |   | // Prototypes -------------------------------------------------------------- | 
      | #define INSTAPI __stdcall |   | #define INSTAPI __stdcall | 
       |   |  | 
      | // High level APIs |   | // High level APIs | 
      | BOOL INSTAPI SQLInstallODBC          (HWND       hwndParent, |   | BOOL INSTAPI SQLInstallODBC          (HWND       hwndParent, | 
      |                                       LPCSTR     lpszInfFile, |   |                                       LPCSTR     lpszInfFile, | 
       | 
      |                                                                          LPCSTR  |   |                                       LPCSTR     lpszSrcPath, | 
      |     lpszSrcPath, |   |                                       LPCSTR     lpszDrivers); | 
      |                                                                          LPCSTR  |   |  | 
      |     lpszDrivers); |   |  | 
      | BOOL INSTAPI SQLManageDataSources    (HWND       hwndParent); |   | BOOL INSTAPI SQLManageDataSources    (HWND       hwndParent); | 
      | BOOL INSTAPI SQLCreateDataSource     (HWND       hwndParent, |   | BOOL INSTAPI SQLCreateDataSource     (HWND       hwndParent, | 
      |                                       LPCSTR     lpszDSN); |   |                                       LPCSTR     lpszDSN); | 
       | 
      | BOOL INSTAPI SQLGetTranslator        (HWND       hwnd, |   | BOOL INSTAPI SQLGetTranslator | 
      |                                                                           LPSTR  |   | ( | 
      |      lpszName, |   |     HWND    hwnd, | 
      |                                                                           WORD   |   |    __out_ecount(cchNameMax) LPSTR lpszName, | 
      |      cbNameMax, |   |    WORD     cchNameMax, | 
      |                                                                           WORD   |   |    WORD*    pcchNameOut, | 
      |        *pcbNameOut, |   |    __out_ecount(cchPathMax) LPSTR lpszPath, | 
      |                                                                           LPSTR  |   |    WORD     cchPathMax, | 
      |      lpszPath, |   |    WORD*    pcchPathOut, | 
      |                                                                           WORD   |   |    DWORD*   pvOption | 
      |      cbPathMax, |   | ); | 
      |                                                                           WORD   |   |  | 
      |        *pcbPathOut, |   |  | 
      |                                                                           DWORD  |   |  | 
      |        *pvOption); |   |  | 
       |   |  | 
      | // Low level APIs |   | // Low level APIs | 
      | // NOTE: The high-level APIs should always be used. These APIs |   | // NOTE: The high-level APIs should always be used. These APIs | 
      | //       have been left for compatibility. |   | //       have been left for compatibility. | 
       | 
      | BOOL INSTAPI SQLInstallDriver        (LPCSTR     lpszInfFile, |   | BOOL INSTAPI SQLInstallDriver | 
      |                                       LPCSTR     lpszDriver, |   | ( | 
      |                                       LPSTR      lpszPath, |   |     LPCSTR     lpszInfFile, | 
      |                                       WORD       cbPathMax, |   |     LPCSTR     lpszDriver, | 
      |                                       WORD             * pcbPathOut); |   |     __out_ecount_opt(cchPathMax) LPSTR lpszPath, | 
      | BOOL INSTAPI SQLInstallDriverManager (LPSTR      lpszPath, |   |     WORD       cchPathMax, | 
      |                                       WORD       cbPathMax, |   |     WORD*      pcchPathOut | 
      |                                       WORD             * pcbPathOut); |   | ); | 
      | BOOL INSTAPI SQLGetInstalledDrivers  (LPSTR      lpszBuf, |   |                                                                                  | 
      |                                       WORD       cbBufMax, |   | BOOL INSTAPI SQLInstallDriverManager | 
      |                                       WORD             * pcbBufOut); |   | ( | 
      | BOOL INSTAPI SQLGetAvailableDrivers  (LPCSTR     lpszInfFile, |   |        __inout_ecount(cchPathMax) LPSTR  lpszPath, | 
      |                                       LPSTR      lpszBuf, |   |     WORD       cchPathMax, | 
      |                                       WORD       cbBufMax, |   |     WORD*      pcchPathOut | 
      |                                       WORD             * pcbBufOut); |   | ); | 
       |   |                                                                                  | 
       |   | BOOL INSTAPI SQLGetInstalledDrivers | 
       |   | ( | 
       |   |     __out_ecount(cchBufMax) LPSTR lpszBuf, | 
       |   |     WORD  cchBufMax, | 
       |   |     WORD* pcchBufOut | 
       |   | ); | 
       |   |                                                                                  | 
       |   | BOOL INSTAPI SQLGetAvailableDrivers | 
       |   | ( | 
       |   |     LPCSTR  lpszInfFile, | 
       |   |     __out_ecount(cchBufMax) LPSTR lpszBuf, | 
       |   |     WORD    cchBufMax, | 
       |   |     WORD*   pcchBufOut | 
       |   | ); | 
       |   |                                                                                  | 
      | BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent, |   | BOOL INSTAPI SQLConfigDataSource     (HWND       hwndParent, | 
      |                                       WORD       fRequest, |   |                                       WORD       fRequest, | 
      |                                       LPCSTR     lpszDriver, |   |                                       LPCSTR     lpszDriver, | 
      |                                       LPCSTR     lpszAttributes); |   |                                       LPCSTR     lpszAttributes); | 
      | BOOL INSTAPI SQLRemoveDefaultDataSource(void); |   | BOOL INSTAPI SQLRemoveDefaultDataSource(void); | 
      | BOOL INSTAPI SQLWriteDSNToIni        (LPCSTR     lpszDSN, |   | BOOL INSTAPI SQLWriteDSNToIni        (LPCSTR     lpszDSN, | 
      |                                       LPCSTR     lpszDriver); |   |                                       LPCSTR     lpszDriver); | 
      | BOOL INSTAPI SQLRemoveDSNFromIni     (LPCSTR     lpszDSN); |   | BOOL INSTAPI SQLRemoveDSNFromIni     (LPCSTR     lpszDSN); | 
      | BOOL INSTAPI SQLValidDSN             (LPCSTR     lpszDSN); |   | BOOL INSTAPI SQLValidDSN             (LPCSTR     lpszDSN); | 
       |   |  | 
      | BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR lpszSection, |   | BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR lpszSection, | 
       | 
      |                                                                                  |   |                                          LPCSTR lpszEntry, | 
      | LPCSTR lpszEntry, |   |                                          LPCSTR lpszString, | 
      |                                                                                  |   |                                          LPCSTR lpszFilename); | 
      | LPCSTR lpszString, |   |  | 
      |                                                                                  |   |  | 
      | LPCSTR lpszFilename); |   |  | 
       |   |  | 
       | 
      | int  INSTAPI SQLGetPrivateProfileString( LPCSTR lpszSection, |   | int  INSTAPI SQLGetPrivateProfileString | 
      |                                                                                L |   | ( | 
      | PCSTR lpszEntry, |   |     LPCSTR lpszSection, | 
      |                                                                                L |   |     LPCSTR lpszEntry, | 
      | PCSTR lpszDefault, |   |     LPCSTR lpszDefault, | 
      |                                                                                L |   |     __out_ecount(cchRetBuffer) LPSTR lpszRetBuffer, | 
      | PSTR  lpszRetBuffer, |   |     int    cchRetBuffer, | 
      |                                                                                i |   |     LPCSTR lpszFilename | 
      | nt    cbRetBuffer, |   | ); | 
      |                                                                                L |   |  | 
      | PCSTR lpszFilename); |   |  | 
       |   |  | 
      | #if (ODBCVER >= 0x0250) |   | #if (ODBCVER >= 0x0250) | 
      | BOOL INSTAPI SQLRemoveDriverManager(LPDWORD lpdwUsageCount); |   | BOOL INSTAPI SQLRemoveDriverManager(LPDWORD lpdwUsageCount); | 
       | 
      | BOOL INSTAPI SQLInstallTranslator(LPCSTR lpszInfFile, |   |                                                                                  | 
      |                                                                  LPCSTR lpszTran |   | BOOL INSTAPI SQLInstallTranslator | 
      | slator, |   | ( | 
      |                                                                  LPCSTR lpszPath |   |     LPCSTR  lpszInfFile, | 
      | In, |   |     LPCSTR  lpszTranslator, | 
      |                                                                  LPSTR  lpszPath |   |     LPCSTR  lpszPathIn, | 
      | Out, |   |     __out_ecount(cchPathOutMax) LPSTR  lpszPathOut, | 
      |                                                                  WORD   cbPathOu |   |     WORD    cchPathOutMax, | 
      | tMax, |   |     WORD*   pcchPathOut, | 
      |                                                                  WORD  *pcbPathO |   |     WORD    fRequest, | 
      | ut, |   |     LPDWORD lpdwUsageCount | 
      |                                                                  WORD   fRequest |   | ); | 
      | , |   |                                                                                  | 
      |                                                                  LPDWORD       l |   |  | 
      | pdwUsageCount); |   |  | 
      | BOOL INSTAPI SQLRemoveTranslator(LPCSTR lpszTranslator, |   | BOOL INSTAPI SQLRemoveTranslator(LPCSTR lpszTranslator, | 
       | 
      |                                                                 LPDWORD lpdwUsag
eCount); |   |                                  LPDWORD lpdwUsageCount); | 
      | BOOL INSTAPI SQLRemoveDriver(LPCSTR lpszDriver, |   | BOOL INSTAPI SQLRemoveDriver(LPCSTR lpszDriver, | 
       | 
      |                                                         BOOL fRemoveDSN, |   |                              BOOL fRemoveDSN, | 
      |                                                         LPDWORD lpdwUsageCount); |   |                              LPDWORD lpdwUsageCount); | 
      | BOOL INSTAPI SQLConfigDriver(HWND hwndParent, |   | BOOL INSTAPI SQLConfigDriver | 
      |                                                         WORD fRequest, |   | ( | 
      |                                                         LPCSTR lpszDriver, |   |     HWND    hwndParent, | 
      |                                                         LPCSTR lpszArgs, |   |     WORD    fRequest, | 
      |                                                         LPSTR  lpszMsg, |   |     LPCSTR  lpszDriver, | 
      |                                                         WORD   cbMsgMax, |   |     LPCSTR  lpszArgs, | 
      |                              WORD      *pcbMsgOut); |   |     __out_ecount(cchMsgMax) LPSTR lpszMsg, | 
       |   |     WORD    cchMsgMax, | 
       |   |     WORD*   pcchMsgOut | 
       |   | ); | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
      | #if (ODBCVER >=  0x0300) |   | #if (ODBCVER >=  0x0300) | 
       | 
      | SQLRETURN INSTAPI SQLInstallerError(WORD iError, |   |                                                                                  | 
      |                                                        DWORD *pfErrorCode, |   | SQLRETURN INSTAPI SQLInstallerError | 
      |                                                        LPSTR   lpszErrorMsg, |   | ( | 
      |                                                        WORD    cbErrorMsgMax, |   |     WORD    iError, | 
      |                                                        WORD    *pcbErrorMsg); |   |     DWORD*  pfErrorCode, | 
       |   |     __out_ecount_opt(cchErrorMsgMax) LPSTR lpszErrorMsg, | 
       |   |     WORD    cchErrorMsgMax, | 
       |   |     WORD*   pcchErrorMsg | 
       |   | ); | 
       |   |                                                                                  | 
      | SQLRETURN INSTAPI SQLPostInstallerError(DWORD dwErrorCode, LPCSTR lpszErrMsg); |   | SQLRETURN INSTAPI SQLPostInstallerError(DWORD dwErrorCode, LPCSTR lpszErrMsg); | 
       |   |  | 
      | BOOL INSTAPI SQLWriteFileDSN(LPCSTR  lpszFileName, |   | BOOL INSTAPI SQLWriteFileDSN(LPCSTR  lpszFileName, | 
      |                              LPCSTR  lpszAppName, |   |                              LPCSTR  lpszAppName, | 
      |                              LPCSTR  lpszKeyName, |   |                              LPCSTR  lpszKeyName, | 
      |                              LPCSTR  lpszString); |   |                              LPCSTR  lpszString); | 
       |   |  | 
       | 
      | BOOL INSTAPI  SQLReadFileDSN(LPCSTR  lpszFileName, |   | BOOL INSTAPI  SQLReadFileDSN | 
      |                              LPCSTR  lpszAppName, |   | ( | 
      |                              LPCSTR  lpszKeyName, |   |     LPCSTR  lpszFileName, | 
      |                              LPSTR   lpszString, |   |     LPCSTR  lpszAppName, | 
      |                              WORD    cbString, |   |     LPCSTR  lpszKeyName, | 
      |                              WORD   *pcbString); |   |     __out_ecount(cchString) LPSTR lpszString, | 
      | BOOL INSTAPI SQLInstallDriverEx(LPCSTR lpszDriver, |   |     WORD    cchString, | 
      |                                                         LPCSTR    lpszPathIn, |   |     WORD*   pcchString | 
      |                                                         LPSTR     lpszPathOut, |   | ); | 
      |                                                         WORD      cbPathOutMax, |   |                                                                                  | 
      |                                                         WORD     *pcbPathOut, |   | BOOL INSTAPI SQLInstallDriverEx | 
      |                                                         WORD           fRequest, |   | ( | 
      |                                                         LPDWORD        lpdwUsage |   |     LPCSTR      lpszDriver, | 
      | Count); |   |     LPCSTR      lpszPathIn, | 
      | BOOL INSTAPI SQLInstallTranslatorEx(LPCSTR lpszTranslator, |   |     __out_ecount(cchPathOutMax) LPSTR lpszPathOut, | 
      |                                                                  LPCSTR lpszPath |   |     WORD        cchPathOutMax, | 
      | In, |   |     WORD*       pcchPathOut, | 
      |                                                                  LPSTR  lpszPath |   |     WORD        fRequest, | 
      | Out, |   |     LPDWORD     lpdwUsageCount | 
      |                                                                  WORD   cbPathOu |   | ); | 
      | tMax, |   |                                                                                  | 
      |                                                                  WORD  *pcbPathO |   | BOOL INSTAPI SQLInstallTranslatorEx | 
      | ut, |   | ( | 
      |                                                                  WORD   fRequest |   |     LPCSTR  lpszTranslator, | 
      | , |   |     LPCSTR  lpszPathIn, | 
      |                                                                  LPDWORD       l |   |     __out_ecount(cchPathOutMax) LPSTR  lpszPathOut, | 
      | pdwUsageCount); |   |     WORD    cchPathOutMax, | 
      | BOOL INSTAPI SQLGetConfigMode(UWORD    *pwConfigMode); |   |     WORD*   pcchPathOut, | 
       |   |     WORD    fRequest, | 
       |   |     LPDWORD lpdwUsageCount | 
       |   | ); | 
       |   |                                                                                  | 
       |   | BOOL INSTAPI SQLGetConfigMode(UWORD *pwConfigMode); | 
      | BOOL INSTAPI SQLSetConfigMode(UWORD wConfigMode); |   | BOOL INSTAPI SQLSetConfigMode(UWORD wConfigMode); | 
      | #endif /* ODBCVER >= 0x0300 */ |   | #endif /* ODBCVER >= 0x0300 */ | 
       |   |  | 
       | 
      | //     Driver specific Setup APIs called by installer |   | //  Driver specific Setup APIs called by installer | 
       |   |  | 
       | 
      | BOOL INSTAPI ConfigDSN (HWND   hwndParent, |   | BOOL INSTAPI ConfigDSN (HWND    hwndParent, | 
      |                                                WORD    fRequest, |   |                         WORD    fRequest, | 
      |                                                LPCSTR  lpszDriver, |   |                         LPCSTR  lpszDriver, | 
      |                                                LPCSTR  lpszAttributes); |   |                         LPCSTR  lpszAttributes); | 
       |   |  | 
       | 
      | BOOL INSTAPI ConfigTranslator (        HWND            hwndParent, |   | BOOL INSTAPI ConfigTranslator ( HWND        hwndParent, | 
      |                                                                DWORD           * |   |                                 DWORD       *pvOption); | 
      | pvOption); |   |  | 
       |   |  | 
      | #if (ODBCVER >= 0x0250) |   | #if (ODBCVER >= 0x0250) | 
       | 
      | BOOL INSTAPI ConfigDriver(HWND hwndParent, |   |                                                                                  | 
      |                                                  WORD fRequest, |   | BOOL INSTAPI ConfigDriver | 
      |                           LPCSTR lpszDriver, |   | ( | 
      |                                          LPCSTR lpszArgs, |   |     HWND    hwndParent, | 
      |                           LPSTR  lpszMsg, |   |     WORD    fRequest, | 
      |                           WORD   cbMsgMax, |   |     LPCSTR  lpszDriver, | 
      |                           WORD         *pcbMsgOut); |   |     LPCSTR  lpszArgs, | 
       |   |     __out_ecount(cchMsgMax) LPSTR  lpszMsg, | 
       |   |     WORD    cchMsgMax, | 
       |   |     WORD*   pcchMsgOut | 
       |   | ); | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
      | // UNICODE APIs |   | // UNICODE APIs | 
       |   |  | 
      | // High level APIs |   | // High level APIs | 
      | BOOL INSTAPI SQLInstallODBCW          (HWND       hwndParent, |   | BOOL INSTAPI SQLInstallODBCW          (HWND       hwndParent, | 
      |                                       LPCWSTR     lpszInfFile, |   |                                       LPCWSTR     lpszInfFile, | 
       | 
      |                                                                          LPCWSTR |   |                                       LPCWSTR     lpszSrcPath, | 
      |      lpszSrcPath, |   |                                       LPCWSTR     lpszDrivers); | 
      |                                                                          LPCWSTR |   |  | 
      |      lpszDrivers); |   |  | 
      | BOOL INSTAPI SQLCreateDataSourceW     (HWND       hwndParent, |   | BOOL INSTAPI SQLCreateDataSourceW     (HWND       hwndParent, | 
      |                                       LPCWSTR     lpszDSN); |   |                                       LPCWSTR     lpszDSN); | 
       | 
      | BOOL INSTAPI SQLGetTranslatorW        (HWND       hwnd, |   | BOOL INSTAPI SQLGetTranslatorW | 
      |                                                                           LPWSTR |   | ( | 
      |       lpszName, |   |     HWND    hwnd, | 
      |                                                                           WORD   |   |    __out_ecount(cchNameMax) LPWSTR lpszName, | 
      |      cbNameMax, |   |    WORD     cchNameMax, | 
      |                                                                           WORD   |   |    WORD*    pcchNameOut, | 
      |        *pcbNameOut, |   |    __out_ecount(cchPathMax) LPWSTR lpszPath, | 
      |                                                                           LPWSTR |   |    WORD     cchPathMax, | 
      |       lpszPath, |   |    WORD*    pcchPathOut, | 
      |                                                                           WORD   |   |    DWORD*   pvOption | 
      |      cbPathMax, |   | ); | 
      |                                                                           WORD   |   |  | 
      |        *pcbPathOut, |   |  | 
      |                                                                           DWORD  |   |  | 
      |        *pvOption); |   |  | 
       |   |  | 
      | // Low level APIs |   | // Low level APIs | 
      | // NOTE: The high-level APIs should always be used. These APIs |   | // NOTE: The high-level APIs should always be used. These APIs | 
      | //       have been left for compatibility. |   | //       have been left for compatibility. | 
       | 
      | BOOL INSTAPI SQLInstallDriverW        (LPCWSTR     lpszInfFile, |   |                                                                                  | 
      |                                       LPCWSTR     lpszDriver, |   | BOOL INSTAPI SQLInstallDriverW | 
      |                                       LPWSTR      lpszPath, |   | ( | 
      |                                       WORD       cbPathMax, |   |     LPCWSTR     lpszInfFile, | 
      |                                       WORD             * pcbPathOut); |   |     LPCWSTR     lpszDriver, | 
      | BOOL INSTAPI SQLInstallDriverManagerW (LPWSTR      lpszPath, |   |     __inout_ecount(cchPathMax) LPWSTR lpszPath, | 
      |                                       WORD       cbPathMax, |   |     WORD       cchPathMax, | 
      |                                       WORD             * pcbPathOut); |   |     WORD*      pcchPathOut | 
      | BOOL INSTAPI SQLGetInstalledDriversW  (LPWSTR      lpszBuf, |   | ); | 
      |                                       WORD       cbBufMax, |   |                                                                                  | 
      |                                       WORD             * pcbBufOut); |   | BOOL INSTAPI SQLInstallDriverManagerW | 
      | BOOL INSTAPI SQLGetAvailableDriversW  (LPCWSTR     lpszInfFile, |   | ( | 
      |                                       LPWSTR      lpszBuf, |   |     __inout_ecount(cchPathMax) LPWSTR lpszPath, | 
      |                                       WORD       cbBufMax, |   |     WORD       cchPathMax, | 
      |                                       WORD             * pcbBufOut); |   |     WORD*      pcchPathOut | 
       |   | ); | 
       |   |                                                                                  | 
       |   | BOOL INSTAPI SQLGetInstalledDriversW | 
       |   | ( | 
       |   |     __out_ecount(cchBufMax) LPWSTR lpszBuf, | 
       |   |     WORD  cchBufMax, | 
       |   |     WORD* pcchBufOut | 
       |   | ); | 
       |   |                                                                                  | 
       |   | BOOL INSTAPI SQLGetAvailableDriversW | 
       |   | ( | 
       |   |     LPCWSTR  lpszInfFile, | 
       |   |     __out_ecount_opt(cchBufMax) LPWSTR lpszBuf, | 
       |   |     WORD    cchBufMax, | 
       |   |     WORD*   pcchBufOut | 
       |   | ); | 
       |   |                                                                                  | 
      | BOOL INSTAPI SQLConfigDataSourceW     (HWND       hwndParent, |   | BOOL INSTAPI SQLConfigDataSourceW     (HWND       hwndParent, | 
      |                                       WORD       fRequest, |   |                                       WORD       fRequest, | 
      |                                       LPCWSTR     lpszDriver, |   |                                       LPCWSTR     lpszDriver, | 
      |                                       LPCWSTR     lpszAttributes); |   |                                       LPCWSTR     lpszAttributes); | 
      | BOOL INSTAPI SQLWriteDSNToIniW        (LPCWSTR     lpszDSN, |   | BOOL INSTAPI SQLWriteDSNToIniW        (LPCWSTR     lpszDSN, | 
      |                                       LPCWSTR     lpszDriver); |   |                                       LPCWSTR     lpszDriver); | 
      | BOOL INSTAPI SQLRemoveDSNFromIniW     (LPCWSTR     lpszDSN); |   | BOOL INSTAPI SQLRemoveDSNFromIniW     (LPCWSTR     lpszDSN); | 
      | BOOL INSTAPI SQLValidDSNW             (LPCWSTR     lpszDSN); |   | BOOL INSTAPI SQLValidDSNW             (LPCWSTR     lpszDSN); | 
       |   |  | 
      | BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR lpszSection, |   | BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR lpszSection, | 
       | 
      |                                                                                  |   |                                          LPCWSTR lpszEntry, | 
      | LPCWSTR lpszEntry, |   |                                          LPCWSTR lpszString, | 
      |                                                                                  |   |                                          LPCWSTR lpszFilename); | 
      | LPCWSTR lpszString, |   |  | 
      |                                                                                  |   |  | 
      | LPCWSTR lpszFilename); |   |  | 
       |   |  | 
       | 
      | int  INSTAPI SQLGetPrivateProfileStringW( LPCWSTR lpszSection, |   | int  INSTAPI SQLGetPrivateProfileStringW | 
      |                                                                                L |   | ( | 
      | PCWSTR lpszEntry, |   |     LPCWSTR lpszSection, | 
      |                                                                                L |   |     LPCWSTR lpszEntry, | 
      | PCWSTR lpszDefault, |   |     LPCWSTR lpszDefault, | 
      |                                                                                L |   |     __out_ecount(cchRetBuffer) LPWSTR lpszRetBuffer, | 
      | PWSTR  lpszRetBuffer, |   |     int     cchRetBuffer, | 
      |                                                                                i |   |     LPCWSTR lpszFilename | 
      | nt    cbRetBuffer, |   | ); | 
      |                                                                                L |   |  | 
      | PCWSTR lpszFilename); |   |  | 
       |   |  | 
      | #if (ODBCVER >= 0x0250) |   | #if (ODBCVER >= 0x0250) | 
       | 
      | BOOL INSTAPI SQLInstallTranslatorW(LPCWSTR lpszInfFile, |   |                                                                                  | 
      |                                                                  LPCWSTR lpszTra |   | BOOL INSTAPI SQLInstallTranslatorW | 
      | nslator, |   | ( | 
      |                                                                  LPCWSTR lpszPat |   |     LPCWSTR  lpszInfFile, | 
      | hIn, |   |     LPCWSTR  lpszTranslator, | 
      |                                                                  LPWSTR  lpszPat |   |     LPCWSTR  lpszPathIn, | 
      | hOut, |   |     __out_ecount(cchPathOutMax) LPWSTR  lpszPathOut, | 
      |                                                                  WORD   cbPathOu |   |     WORD     cchPathOutMax, | 
      | tMax, |   |     WORD*    pcchPathOut, | 
      |                                                                  WORD  *pcbPathO |   |     WORD     fRequest, | 
      | ut, |   |     LPDWORD  lpdwUsageCount | 
      |                                                                  WORD   fRequest |   | ); | 
      | , |   |                                                                                  | 
      |                                                                  LPDWORD       l |   |  | 
      | pdwUsageCount); |   |  | 
      | BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR lpszTranslator, |   | BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR lpszTranslator, | 
       | 
      |                                                                 LPDWORD lpdwUsag
eCount); |   |                                  LPDWORD lpdwUsageCount); | 
      | BOOL INSTAPI SQLRemoveDriverW(LPCWSTR lpszDriver, |   | BOOL INSTAPI SQLRemoveDriverW(LPCWSTR lpszDriver, | 
       | 
      |                                                         BOOL fRemoveDSN, |   |                              BOOL fRemoveDSN, | 
      |                                                         LPDWORD lpdwUsageCount); |   |                              LPDWORD lpdwUsageCount); | 
      | BOOL INSTAPI SQLConfigDriverW(HWND hwndParent, |   |                                                                                  | 
      |                                                         WORD fRequest, |   | BOOL INSTAPI SQLConfigDriverW | 
      |                                                         LPCWSTR lpszDriver, |   | ( | 
      |                                                         LPCWSTR lpszArgs, |   |     HWND    hwndParent, | 
      |                                                         LPWSTR  lpszMsg, |   |     WORD    fRequest, | 
      |                                                         WORD   cbMsgMax, |   |     LPCWSTR lpszDriver, | 
      |                              WORD      *pcbMsgOut); |   |     LPCWSTR lpszArgs, | 
       |   |     __out_ecount(cchMsgMax) LPWSTR lpszMsg, | 
       |   |     WORD    cchMsgMax, | 
       |   |     WORD*   pcchMsgOut | 
       |   | ); | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
      | #if (ODBCVER >= 0x0300) |   | #if (ODBCVER >= 0x0300) | 
       | 
      | SQLRETURN      INSTAPI SQLInstallerErrorW(WORD iError, |   |                                                                                  | 
      |                                                        DWORD   *pfErrorCode, |   | SQLRETURN INSTAPI SQLInstallerErrorW | 
      |                                                        LPWSTR  lpszErrorMsg, |   | ( | 
      |                                                        WORD    cbErrorMsgMax, |   |     WORD    iError, | 
      |                                                        WORD    *pcbErrorMsg); |   |     DWORD*  pfErrorCode, | 
      | SQLRETURN INSTAPI      SQLPostInstallerErrorW(DWORD dwErrorCode, |   |     __out_ecount_opt(cchErrorMsgMax) LPWSTR lpszErrorMsg, | 
      |                                                        LPCWSTR lpszErrorMsg); |   |     WORD    cchErrorMsgMax, | 
       |   |     WORD*   pcchErrorMsg | 
       |   | ); | 
       |   |                                                                                  | 
       |   | SQLRETURN INSTAPI   SQLPostInstallerErrorW(DWORD dwErrorCode, | 
       |   |                             LPCWSTR lpszErrorMsg); | 
       |   |  | 
      | BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR  lpszFileName, |   | BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR  lpszFileName, | 
      |                               LPCWSTR  lpszAppName, |   |                               LPCWSTR  lpszAppName, | 
      |                               LPCWSTR  lpszKeyName, |   |                               LPCWSTR  lpszKeyName, | 
      |                               LPCWSTR  lpszString); |   |                               LPCWSTR  lpszString); | 
       |   |  | 
       | 
      | BOOL INSTAPI  SQLReadFileDSNW(LPCWSTR  lpszFileName, |   | BOOL INSTAPI  SQLReadFileDSNW | 
      |                               LPCWSTR  lpszAppName, |   | ( | 
      |                               LPCWSTR  lpszKeyName, |   |     LPCWSTR  lpszFileName, | 
      |                               LPWSTR   lpszString, |   |     LPCWSTR  lpszAppName, | 
      |                               WORD     cbString, |   |     LPCWSTR  lpszKeyName, | 
      |                               WORD    *pcbString); |   |     __out_ecount(cchString) LPWSTR lpszString, | 
      | BOOL INSTAPI SQLInstallDriverExW(LPCWSTR lpszDriver, |   |     WORD    cchString, | 
      |                                                         LPCWSTR           lpszPa |   |     WORD*   pcchString | 
      | thIn, |   | ); | 
      |                                                         LPWSTR    lpszPathOut, |   |                                                                                  | 
      |                                                         WORD      cbPathOutMax, |   | BOOL INSTAPI SQLInstallDriverExW | 
      |                                                         WORD     *pcbPathOut, |   | ( | 
      |                                                         WORD           fRequest, |   |     LPCWSTR     lpszDriver, | 
      |                                                         LPDWORD        lpdwUsage |   |     LPCWSTR     lpszPathIn, | 
      | Count); |   |     __out_ecount(cchPathOutMax) LPWSTR lpszPathOut, | 
      | BOOL INSTAPI SQLInstallTranslatorExW(LPCWSTR lpszTranslator, |   |     WORD        cchPathOutMax, | 
      |                                                                  LPCWSTR lpszPat |   |     WORD*       pcchPathOut, | 
      | hIn, |   |     WORD        fRequest, | 
      |                                                                  LPWSTR  lpszPat |   |     LPDWORD     lpdwUsageCount | 
      | hOut, |   | ); | 
      |                                                                  WORD   cbPathOu |   |                                                                                  | 
      | tMax, |   | BOOL INSTAPI SQLInstallTranslatorExW | 
      |                                                                  WORD  *pcbPathO |   | ( | 
      | ut, |   |     LPCWSTR  lpszTranslator, | 
      |                                                                  WORD   fRequest |   |     LPCWSTR  lpszPathIn, | 
      | , |   |     __out_ecount(cchPathOutMax) LPWSTR  lpszPathOut, | 
      |                                                                  LPDWORD       l |   |     WORD     cchPathOutMax, | 
      | pdwUsageCount); |   |     WORD*    pcchPathOut, | 
       |   |     WORD     fRequest, | 
       |   |     LPDWORD  lpdwUsageCount | 
       |   | ); | 
       |   |                                                                                  | 
      | #endif  /* ODBCVER >= 0x0300 */ |   | #endif  /* ODBCVER >= 0x0300 */ | 
       |   |  | 
       | 
      | //     Driver specific Setup APIs called by installer |   | //  Driver specific Setup APIs called by installer | 
       |   |  | 
       | 
      | BOOL INSTAPI ConfigDSNW (HWND  hwndParent, |   | BOOL INSTAPI ConfigDSNW (HWND   hwndParent, | 
      |                                                WORD    fRequest, |   |                         WORD    fRequest, | 
      |                                                LPCWSTR lpszDriver, |   |                         LPCWSTR lpszDriver, | 
      |                                                LPCWSTR lpszAttributes); |   |                         LPCWSTR lpszAttributes); | 
       |   |  | 
      | #if (ODBCVER >= 0x0250) |   | #if (ODBCVER >= 0x0250) | 
       | 
      | BOOL INSTAPI ConfigDriverW(HWND hwndParent, |   |                                                                                  | 
      |                                                  WORD fRequest, |   | BOOL INSTAPI ConfigDriverW | 
      |                           LPCWSTR lpszDriver, |   | ( | 
      |                                          LPCWSTR lpszArgs, |   |     HWND    hwndParent, | 
      |                           LPWSTR  lpszMsg, |   |     WORD    fRequest, | 
      |                           WORD   cbMsgMax, |   |     LPCWSTR  lpszDriver, | 
      |                           WORD         *pcbMsgOut); |   |     LPCWSTR  lpszArgs, | 
       |   |     __out_ecount(cchMsgMax) LPWSTR  lpszMsg, | 
       |   |     WORD    cchMsgMax, | 
       |   |     WORD*   pcchMsgOut | 
       |   | ); | 
       |   |                                                                                  | 
      | #endif |   | #endif | 
       |   |  | 
       | 
      | #ifndef        SQL_NOUNICODEMAP        // define this to disable the mapping |   | #ifndef SQL_NOUNICODEMAP    // define this to disable the mapping | 
      | #ifdef         UNICODE |   | #ifdef  UNICODE | 
       |   |  | 
       | 
      | #define  SQLInstallODBC                                SQLInstallODBCW |   | #define  SQLInstallODBC                 SQLInstallODBCW | 
      | #define  SQLCreateDataSource                   SQLCreateDataSourceW |   | #define  SQLCreateDataSource            SQLCreateDataSourceW | 
      | #define  SQLGetTranslator                              SQLGetTranslatorW |   | #define  SQLGetTranslator               SQLGetTranslatorW | 
      | #define  SQLInstallDriver                              SQLInstallDriverW |   | #define  SQLInstallDriver               SQLInstallDriverW | 
      | #define  SQLInstallDriverManager               SQLInstallDriverManagerW |   | #define  SQLInstallDriverManager        SQLInstallDriverManagerW | 
      | #define  SQLGetInstalledDrivers                        SQLGetInstalledDriversW |   | #define  SQLGetInstalledDrivers         SQLGetInstalledDriversW | 
      | #define  SQLGetAvailableDrivers                        SQLGetAvailableDriversW |   | #define  SQLGetAvailableDrivers         SQLGetAvailableDriversW | 
      | #define  SQLConfigDataSource                   SQLConfigDataSourceW |   | #define  SQLConfigDataSource            SQLConfigDataSourceW | 
      | #define  SQLWriteDSNToIni                              SQLWriteDSNToIniW |   | #define  SQLWriteDSNToIni               SQLWriteDSNToIniW | 
      | #define  SQLRemoveDSNFromIni                   SQLRemoveDSNFromIniW |   | #define  SQLRemoveDSNFromIni            SQLRemoveDSNFromIniW | 
      | #define  SQLValidDSN                                   SQLValidDSNW |   | #define  SQLValidDSN                    SQLValidDSNW | 
      | #define  SQLWritePrivateProfileString  SQLWritePrivateProfileStringW |   | #define  SQLWritePrivateProfileString   SQLWritePrivateProfileStringW | 
      | #define         SQLGetPrivateProfileString             SQLGetPrivateProfileStrin |   | #define  SQLGetPrivateProfileString     SQLGetPrivateProfileStringW | 
      | gW |   | #define  SQLInstallTranslator           SQLInstallTranslatorW | 
      | #define  SQLInstallTranslator                  SQLInstallTranslatorW |   | #define  SQLRemoveTranslator            SQLRemoveTranslatorW | 
      | #define  SQLRemoveTranslator                   SQLRemoveTranslatorW |   | #define  SQLRemoveDriver                SQLRemoveDriverW | 
      | #define  SQLRemoveDriver                               SQLRemoveDriverW |   | #define  SQLConfigDriver                SQLConfigDriverW | 
      | #define  SQLConfigDriver                               SQLConfigDriverW |   | #define  SQLInstallerError              SQLInstallerErrorW | 
      | #define         SQLInstallerError                              SQLInstallerError |   | #define  SQLPostInstallerError          SQLPostInstallerErrorW | 
      | W |   |  | 
      | #define         SQLPostInstallerError                  SQLPostInstallerErrorW |   |  | 
      | #define  SQLReadFileDSN                 SQLReadFileDSNW |   | #define  SQLReadFileDSN                 SQLReadFileDSNW | 
      | #define  SQLWriteFileDSN                SQLWriteFileDSNW |   | #define  SQLWriteFileDSN                SQLWriteFileDSNW | 
       | 
      | #define  SQLInstallDriverEx                            SQLInstallDriverExW |   | #define  SQLInstallDriverEx             SQLInstallDriverExW | 
      | #define  SQLInstallTranslatorEx                        SQLInstallTranslatorExW |   | #define  SQLInstallTranslatorEx         SQLInstallTranslatorExW | 
       |   |  | 
      | #endif // UNICODE |   | #endif // UNICODE | 
      | #endif // SQL_NOUNICODEMAP |   | #endif // SQL_NOUNICODEMAP | 
       |   |  | 
      | #endif // RC_INVOKED |   | #endif // RC_INVOKED | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | }                                    // End of extern "C" { |   | }                                    // End of extern "C" { | 
       | 
      | #endif // __cplusplus |   | #endif  // __cplusplus | 
       |   |  | 
      | #endif // __ODBCINST_H |   | #endif // __ODBCINST_H | 
      |   |  | 
     |  End of changes. 42 change blocks.  | 
     | 292 lines changed or deleted |   | 332 lines changed or added | 
      |