NCBI C++ ToolKit
odbcinst.h
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /**************************************************
2  * odbcinst.h
3  *
4  **************************************************
5  * This code was created by Peter Harvey @ CodeByDesign.
6  * Released under LGPL 28.JAN.99
7  *
8  * Contributions from...
9  * -----------------------------------------------
10  * Peter Harvey - pharvey@codebydesign.com
11  **************************************************/
12 #ifndef __ODBCINST_H
13 #define __ODBCINST_H
14 
15 #include <stdio.h>
16 
17 #ifndef BOOL
18 #define BOOL int
19 #endif
20 
21 #ifndef __SQL
22 #include "sql.h"
23 #endif
24 
25 
26 /*!
27  * \brief Our generic window handle.
28  *
29  * This is used wherever a HWND is needed. The caller inits this according
30  * to which UI the caller has (or simply desires). This may be a; console, xlib, qt3, qt4,
31  * gtk, mono, carbon, etc.
32  *
33  * SQLCreateDataSource
34  * (maps to ODBCCreateDataSource entry point in UI plugin)
35  *
36  * This function requires a HWND (and it must NOT be NULL as per ODBC spec.). So
37  * the caller should *always* init an ODBCINSTWND and cast it to HWND as it is passed to
38  * SQLCreateDataSource.
39  *
40  * SQLManageDataSources
41  * (maps to ODBCManageDataSources entry point in UI plugin)
42  *
43  * This function requires a HWND (and it must NOT be NULL as per ODBC spec.). So
44  * the caller should *always* init an ODBCINSTWND and cast it to HWND as it is passed to
45  * SQLManageDataSources. However; it may make sense to have a NULL hWnd... this is what
46  * an ODBC Administrator program would typically do.
47  *
48  * Plugin Selection
49  *
50  * 1. Passing a NULL to a function instead of a valid HODBCINSTWND may result in an error
51  * (this is the case with SQLCreateDataSource). In anycase; passing a NULL in this way
52  * negates the use of any UI plugin.
53  *
54  * 2. szUI has a value and it is the file name (no path and no extension) of the UI
55  * plugin. The plugin is loaded and the appropriate function is called with hWnd. The
56  * caller must have init hWnd in a manner which is appropriate for the UI plugin.
57  *
58  * 3. Passing an empty szUI indicates that the UI plugin should be determined by other
59  * means (see 4). In such a case it is dangerous to use hWnd because it may not match
60  * the type expected by the plugin. hWnd will be ignored and a NULL will be passed to the UI
61  * plugin.
62  *
63  * 4. The fallback logic for determining the UI plugin is as follows;
64  * - use the ODBCINSTUI environment variable to get the UI plugin file name
65  * - use the ODBCINSTUI value in odbcinst.ini to get the UI plugin file name
66  *
67  * NOTE: In the future we may want to consider making HWND of this type instead of having
68  * two different types and having to cast HODBCINSTWND into a HWND.
69  */
70 typedef struct tODBCINSTWND
71 {
72  char szUI[FILENAME_MAX]; /*!< Plugin file name (no path and no extension) ie "odbcinstQ4". */
73  HWND hWnd; /*!< this is passed to the UI plugin - caller must know what the plugin is expecting */
74 
76 
77 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
82 #ifndef ODBCVER
83 #define ODBCVER 0x0351
84 #endif
85 
86 #ifndef WINVER
87 #define WINVER 0x0400
88 #endif
89 
90 /* SQLConfigDataSource request flags */
91 #define ODBC_ADD_DSN 1
92 #define ODBC_CONFIG_DSN 2
93 #define ODBC_REMOVE_DSN 3
94 
95 #if (ODBCVER >= 0x0250)
96 #define ODBC_ADD_SYS_DSN 4
97 #define ODBC_CONFIG_SYS_DSN 5
98 #define ODBC_REMOVE_SYS_DSN 6
99 #if (ODBCVER >= 0x0300)
100 #define ODBC_REMOVE_DEFAULT_DSN 7
101 #endif /* ODBCVER >= 0x0300 */
102 
103 /* install request flags */
104 #define ODBC_INSTALL_INQUIRY 1
105 #define ODBC_INSTALL_COMPLETE 2
106 
107 /* config driver flags */
108 #define ODBC_INSTALL_DRIVER 1
109 #define ODBC_REMOVE_DRIVER 2
110 #define ODBC_CONFIG_DRIVER 3
111 #define ODBC_CONFIG_DRIVER_MAX 100
112 #endif
113 
114 /* SQLGetConfigMode and SQLSetConfigMode flags */
115 #if (ODBCVER >= 0x0300)
116 #define ODBC_BOTH_DSN 0
117 #define ODBC_USER_DSN 1
118 #define ODBC_SYSTEM_DSN 2
119 #endif /* ODBCVER >= 0x0300 */
120 
121 /* SQLInstallerError code */
122 #if (ODBCVER >= 0x0300)
123 #define ODBC_ERROR_GENERAL_ERR 1
124 #define ODBC_ERROR_INVALID_BUFF_LEN 2
125 #define ODBC_ERROR_INVALID_HWND 3
126 #define ODBC_ERROR_INVALID_STR 4
127 #define ODBC_ERROR_INVALID_REQUEST_TYPE 5
128 #define ODBC_ERROR_COMPONENT_NOT_FOUND 6
129 #define ODBC_ERROR_INVALID_NAME 7
130 #define ODBC_ERROR_INVALID_KEYWORD_VALUE 8
131 #define ODBC_ERROR_INVALID_DSN 9
132 #define ODBC_ERROR_INVALID_INF 10
133 #define ODBC_ERROR_REQUEST_FAILED 11
134 #define ODBC_ERROR_INVALID_PATH 12
135 #define ODBC_ERROR_LOAD_LIB_FAILED 13
136 #define ODBC_ERROR_INVALID_PARAM_SEQUENCE 14
137 #define ODBC_ERROR_INVALID_LOG_FILE 15
138 #define ODBC_ERROR_USER_CANCELED 16
139 #define ODBC_ERROR_USAGE_UPDATE_FAILED 17
140 #define ODBC_ERROR_CREATE_DSN_FAILED 18
141 #define ODBC_ERROR_WRITING_SYSINFO_FAILED 19
142 #define ODBC_ERROR_REMOVE_DSN_FAILED 20
143 #define ODBC_ERROR_OUT_OF_MEM 21
144 #define ODBC_ERROR_OUTPUT_STRING_TRUNCATED 22
145 #endif /* ODBCVER >= 0x0300 */
146 
147 #ifndef EXPORT
148 #define EXPORT
149 #endif
150 
151 #ifdef __OS2__
152 #define INSTAPI _System
153 #else
154 #define INSTAPI
155 #endif
156 
157 /* HIGH LEVEL CALLS */
159  LPCSTR lpszInfFile,
160  LPCSTR lpszSrcPath,
161  LPCSTR lpszDrivers);
164  LPCSTR lpszDSN);
166  LPSTR lpszName,
167  WORD cbNameMax,
168  WORD *pcbNameOut,
169  LPSTR lpszPath,
170  WORD cbPathMax,
171  WORD *pcbPathOut,
172  DWORD *pvOption);
173 
174 /* LOW LEVEL CALLS */
176  LPCSTR lpszDriver,
177  LPSTR lpszPath,
178  WORD cbPathMax,
179  WORD * pcbPathOut);
181  WORD cbPathMax,
182  WORD * pcbPathOut);
184  WORD cbBufMax,
185  WORD * pcbBufOut);
187  LPSTR lpszBuf,
188  WORD cbBufMax,
189  WORD * pcbBufOut);
191  WORD fRequest,
192  LPCSTR lpszDriver,
193  LPCSTR lpszAttributes);
196  LPCSTR lpszDriver);
199 
201  LPCSTR lpszEntry,
202  LPCSTR lpszString,
203  LPCSTR lpszFilename);
204 
205 #if HAVE_SQLGETPRIVATEPROFILESTRING
206 int INSTAPI SQLGetPrivateProfileString( LPCSTR lpszSection,
207  LPCSTR lpszEntry,
208  LPCSTR lpszDefault,
209  LPSTR lpszRetBuffer,
210  int cbRetBuffer,
211  LPCSTR lpszFilename);
212 #endif
213 
214 #if (ODBCVER >= 0x0250)
217  LPCSTR lpszTranslator,
218  LPCSTR lpszPathIn,
219  LPSTR lpszPathOut,
220  WORD cbPathOutMax,
221  WORD *pcbPathOut,
222  WORD fRequest,
223  LPDWORD lpdwUsageCount);
225  LPDWORD lpdwUsageCount);
227  BOOL fRemoveDSN,
228  LPDWORD lpdwUsageCount);
230  WORD fRequest,
231  LPCSTR lpszDriver,
232  LPCSTR lpszArgs,
233  LPSTR lpszMsg,
234  WORD cbMsgMax,
235  WORD *pcbMsgOut);
236 #endif
237 
238 #if (ODBCVER >= 0x0300)
240  DWORD *pfErrorCode,
241  LPSTR lpszErrorMsg,
242  WORD cbErrorMsgMax,
243  WORD *pcbErrorMsg);
245 
247  LPCSTR lpszAppName,
248  LPCSTR lpszKeyName,
249  LPCSTR lpszString);
250 
252  LPCSTR lpszAppName,
253  LPCSTR lpszKeyName,
254  LPSTR lpszString,
255  WORD cbString,
256  WORD *pcbString);
258  LPCSTR lpszPathIn,
259  LPSTR lpszPathOut,
260  WORD cbPathOutMax,
261  WORD *pcbPathOut,
262  WORD fRequest,
263  LPDWORD lpdwUsageCount);
265  LPCSTR lpszPathIn,
266  LPSTR lpszPathOut,
267  WORD cbPathOutMax,
268  WORD *pcbPathOut,
269  WORD fRequest,
270  LPDWORD lpdwUsageCount);
273 #endif /* ODBCVER >= 0x0300 */
274 
275 /* Driver specific Setup APIs called by installer */
276 BOOL INSTAPI ConfigDSN (HWND hwndParent,
277  WORD fRequest,
278  LPCSTR lpszDriver,
279  LPCSTR lpszAttributes);
280 
281 BOOL INSTAPI ConfigTranslator ( HWND hwndParent,
282  DWORD *pvOption);
283 
284 #if (ODBCVER >= 0x0250)
285 BOOL INSTAPI ConfigDriver(HWND hwndParent,
286  WORD fRequest,
287  LPCSTR lpszDriver,
288  LPCSTR lpszArgs,
289  LPSTR lpszMsg,
290  WORD cbMsgMax,
291  WORD *pcbMsgOut);
292 #endif
293 
294 /*
295  * UNICODE APIs
296  */
297 
299  LPCWSTR lpszInfFile,
300  LPCWSTR lpszSrcPath,
301  LPCWSTR lpszDrivers);
303  LPCWSTR lpszDSN);
304 
306  LPWSTR lpszName,
307  WORD cbNameMax,
308  WORD *pcbNameOut,
309  LPWSTR lpszPath,
310  WORD cbPathMax,
311  WORD *pcbPathOut,
312  DWORD *pvOption);
314  LPCWSTR lpszDriver,
315  LPWSTR lpszPath,
316  WORD cbPathMax,
317  WORD * pcbPathOut);
319  WORD cbPathMax,
320  WORD * pcbPathOut);
322  WORD cbBufMax,
323  WORD * pcbBufOut);
325  LPWSTR lpszBuf,
326  WORD cbBufMax,
327  WORD * pcbBufOut);
329  WORD fRequest,
330  LPCWSTR lpszDriver,
331  LPCWSTR lpszAttributes);
333  LPCWSTR lpszDriver);
336 
338  LPCWSTR lpszEntry,
339  LPCWSTR lpszString,
340  LPCWSTR lpszFilename);
341 
343  LPCWSTR lpszEntry,
344  LPCWSTR lpszDefault,
345  LPWSTR lpszRetBuffer,
346  int cbRetBuffer,
347  LPCWSTR lpszFilename);
348 
349 #if (ODBCVER >= 0x0250)
351  LPCWSTR lpszTranslator,
352  LPCWSTR lpszPathIn,
353  LPWSTR lpszPathOut,
354  WORD cbPathOutMax,
355  WORD *pcbPathOut,
356  WORD fRequest,
357  LPDWORD lpdwUsageCount);
359  LPDWORD lpdwUsageCount);
361  BOOL fRemoveDSN,
362  LPDWORD lpdwUsageCount);
364  WORD fRequest,
365  LPCWSTR lpszDriver,
366  LPCWSTR lpszArgs,
367  LPWSTR lpszMsg,
368  WORD cbMsgMax,
369  WORD *pcbMsgOut);
370 #endif
371 
372 #if (ODBCVER >= 0x0300)
374  DWORD *pfErrorCode,
375  LPWSTR lpszErrorMsg,
376  WORD cbErrorMsgMax,
377  WORD *pcbErrorMsg);
379  LPCWSTR lpszErrorMsg);
380 
382  LPCWSTR lpszAppName,
383  LPCWSTR lpszKeyName,
384  LPCWSTR lpszString);
385 
387  LPCWSTR lpszAppName,
388  LPCWSTR lpszKeyName,
389  LPWSTR lpszString,
390  WORD cbString,
391  WORD *pcbString);
393  LPCWSTR lpszPathIn,
394  LPWSTR lpszPathOut,
395  WORD cbPathOutMax,
396  WORD *pcbPathOut,
397  WORD fRequest,
398  LPDWORD lpdwUsageCount);
400  LPCWSTR lpszPathIn,
401  LPWSTR lpszPathOut,
402  WORD cbPathOutMax,
403  WORD *pcbPathOut,
404  WORD fRequest,
405  LPDWORD lpdwUsageCount);
406 #endif /* ODBCVER >= 0x0300 */
407 
408 /* Driver specific Setup APIs called by installer */
409 
411  WORD fRequest,
412  LPCWSTR lpszDriver,
413  LPCWSTR lpszAttributes);
414 
415 
416 #if (ODBCVER >= 0x0250)
418  WORD fRequest,
419  LPCWSTR lpszDriver,
420  LPCWSTR lpszArgs,
421  LPWSTR lpszMsg,
422  WORD cbMsgMax,
423  WORD *pcbMsgOut);
424 #endif
425 
426 #ifndef SQL_NOUNICODEMAP /* define this to disable the mapping */
427 #ifdef UNICODE
428 
429 #define SQLInstallODBC SQLInstallODBCW
430 #define SQLCreateDataSource SQLCreateDataSourceW
431 #define SQLGetTranslator SQLGetTranslatorW
432 #define SQLInstallDriver SQLInstallDriverW
433 #define SQLInstallDriverManager SQLInstallDriverManagerW
434 #define SQLGetInstalledDrivers SQLGetInstalledDriversW
435 #define SQLGetAvailableDrivers SQLGetAvailableDriversW
436 #define SQLConfigDataSource SQLConfigDataSourceW
437 #define SQLWriteDSNToIni SQLWriteDSNToIniW
438 #define SQLRemoveDSNFromIni SQLRemoveDSNFromIniW
439 #define SQLValidDSN SQLValidDSNW
440 #define SQLWritePrivateProfileString SQLWritePrivateProfileStringW
441 #define SQLGetPrivateProfileString SQLGetPrivateProfileStringW
442 #define SQLInstallTranslator SQLInstallTranslatorW
443 #define SQLRemoveTranslator SQLRemoveTranslatorW
444 #define SQLRemoveDriver SQLRemoveDriverW
445 #define SQLConfigDriver SQLConfigDriverW
446 #define SQLInstallerError SQLInstallerErrorW
447 #define SQLPostInstallerError SQLPostInstallerErrorW
448 #define SQLReadFileDSN SQLReadFileDSNW
449 #define SQLWriteFileDSN SQLWriteFileDSNW
450 #define SQLInstallDriverEx SQLInstallDriverExW
451 #define SQLInstallTranslatorEx SQLInstallTranslatorExW
452 
453 #endif
454 #endif
455 
456 #ifdef __cplusplus
457 }
458 #endif
459 
460 #endif
char * LPSTR
Definition: sqlfront.h:34
const char * LPCSTR
Definition: sqlfront.h:39
int BOOL
Definition: sybdb.h:150
#define SQLGetPrivateProfileString
Definition: connectparams.c:68
#define FILENAME_MAX
Definition: ncbifile.hpp:94
int SQLConfigDataSource(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes)
SQLRETURN SQLInstallerErrorW(WORD iError, DWORD *pfErrorCode, LPWSTR lpszErrorMsg, WORD cbErrorMsgMax, WORD *pcbErrorMsg)
struct tODBCINSTWND * HODBCINSTWND
int SQLRemoveDriverW(LPCWSTR lpszDriver, int fRemoveDSN, LPDWORD lpdwUsageCount)
int SQLReadFileDSNW(LPCWSTR lpszFileName, LPCWSTR lpszAppName, LPCWSTR lpszKeyName, LPWSTR lpszString, WORD cbString, WORD *pcbString)
int SQLInstallDriverManager(LPSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut)
int SQLWriteFileDSN(LPCSTR lpszFileName, LPCSTR lpszAppName, LPCSTR lpszKeyName, LPCSTR lpszString)
int SQLRemoveDriverManager(LPDWORD lpdwUsageCount)
int SQLCreateDataSourceW(HWND hwndParent, LPCWSTR lpszDSN)
int SQLWritePrivateProfileStringW(LPCWSTR lpszSection, LPCWSTR lpszEntry, LPCWSTR lpszString, LPCWSTR lpszFilename)
int SQLConfigDriverW(HWND hwndParent, WORD fRequest, LPCWSTR lpszDriver, LPCWSTR lpszArgs, LPWSTR lpszMsg, WORD cbMsgMax, WORD *pcbMsgOut)
int SQLGetInstalledDriversW(LPWSTR lpszBuf, WORD cbBufMax, WORD *pcbBufOut)
int SQLRemoveDSNFromIniW(LPCWSTR lpszDSN)
int SQLWriteDSNToIni(LPCSTR lpszDSN, LPCSTR lpszDriver)
int SQLGetInstalledDrivers(LPSTR lpszBuf, WORD cbBufMax, WORD *pcbBufOut)
#define INSTAPI
Definition: odbcinst.h:154
int ConfigDSNW(HWND hwndParent, WORD fRequest, LPCWSTR lpszDriver, LPCWSTR lpszAttributes)
int SQLRemoveTranslator(LPCSTR lpszTranslator, LPDWORD lpdwUsageCount)
int SQLValidDSNW(LPCWSTR lpszDSN)
int SQLManageDataSources(HWND hwndParent)
int SQLWriteFileDSNW(LPCWSTR lpszFileName, LPCWSTR lpszAppName, LPCWSTR lpszKeyName, LPCWSTR lpszString)
int SQLWriteDSNToIniW(LPCWSTR lpszDSN, LPCWSTR lpszDriver)
int SQLInstallTranslatorW(LPCWSTR lpszInfFile, LPCWSTR lpszTranslator, LPCWSTR lpszPathIn, LPWSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
int SQLInstallODBCW(HWND hwndParent, LPCWSTR lpszInfFile, LPCWSTR lpszSrcPath, LPCWSTR lpszDrivers)
SQLRETURN SQLPostInstallerError(DWORD dwErrorCode, LPCSTR lpszErrMsg)
int SQLGetAvailableDriversW(LPCWSTR lpszInfFile, LPWSTR lpszBuf, WORD cbBufMax, WORD *pcbBufOut)
int SQLRemoveDriver(LPCSTR lpszDriver, int fRemoveDSN, LPDWORD lpdwUsageCount)
int SQLGetAvailableDrivers(LPCSTR lpszInfFile, LPSTR lpszBuf, WORD cbBufMax, WORD *pcbBufOut)
struct tODBCINSTWND ODBCINSTWND
Our generic window handle.
int SQLValidDSN(LPCSTR lpszDSN)
int ConfigDriver(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszArgs, LPSTR lpszMsg, WORD cbMsgMax, WORD *pcbMsgOut)
Add or remove an ODBC driver.
Definition: winsetup.c:394
int SQLRemoveTranslatorW(LPCWSTR lpszTranslator, LPDWORD lpdwUsageCount)
int SQLInstallDriverEx(LPCSTR lpszDriver, LPCSTR lpszPathIn, LPSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
int SQLConfigDataSourceW(HWND hwndParent, WORD fRequest, LPCWSTR lpszDriver, LPCWSTR lpszAttributes)
int SQLSetConfigMode(UWORD wConfigMode)
SQLRETURN SQLPostInstallerErrorW(DWORD dwErrorCode, LPCWSTR lpszErrorMsg)
int SQLWritePrivateProfileString(LPCSTR lpszSection, LPCSTR lpszEntry, LPCSTR lpszString, LPCSTR lpszFilename)
int SQLConfigDriver(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszArgs, LPSTR lpszMsg, WORD cbMsgMax, WORD *pcbMsgOut)
int SQLInstallTranslatorExW(LPCWSTR lpszTranslator, LPCWSTR lpszPathIn, LPWSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
int ConfigDriverW(HWND hwndParent, WORD fRequest, LPCWSTR lpszDriver, LPCWSTR lpszArgs, LPWSTR lpszMsg, WORD cbMsgMax, WORD *pcbMsgOut)
int SQLInstallDriverManagerW(LPWSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut)
int SQLRemoveDSNFromIni(LPCSTR lpszDSN)
int ConfigDSN(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes)
Add, remove, or modify a data source.
Definition: winsetup.c:300
int SQLCreateDataSource(HWND hwndParent, LPCSTR lpszDSN)
int SQLRemoveDefaultDataSource(void)
int SQLGetPrivateProfileStringW(LPCWSTR lpszSection, LPCWSTR lpszEntry, LPCWSTR lpszDefault, LPWSTR lpszRetBuffer, int cbRetBuffer, LPCWSTR lpszFilename)
int SQLReadFileDSN(LPCSTR lpszFileName, LPCSTR lpszAppName, LPCSTR lpszKeyName, LPSTR lpszString, WORD cbString, WORD *pcbString)
int SQLInstallDriverW(LPCWSTR lpszInfFile, LPCWSTR lpszDriver, LPWSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut)
int SQLInstallTranslator(LPCSTR lpszInfFile, LPCSTR lpszTranslator, LPCSTR lpszPathIn, LPSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
int SQLInstallODBC(HWND hwndParent, LPCSTR lpszInfFile, LPCSTR lpszSrcPath, LPCSTR lpszDrivers)
SQLRETURN SQLInstallerError(WORD iError, DWORD *pfErrorCode, LPSTR lpszErrorMsg, WORD cbErrorMsgMax, WORD *pcbErrorMsg)
int ConfigTranslator(HWND hwndParent, DWORD *pvOption)
Definition: winsetup.c:416
int SQLInstallDriver(LPCSTR lpszInfFile, LPCSTR lpszDriver, LPSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut)
int SQLInstallDriverExW(LPCWSTR lpszDriver, LPCWSTR lpszPathIn, LPWSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
int SQLGetConfigMode(UWORD *pwConfigMode)
int SQLGetTranslator(HWND hwnd, LPSTR lpszName, WORD cbNameMax, WORD *pcbNameOut, LPSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut, DWORD *pvOption)
int SQLGetTranslatorW(HWND hwnd, LPWSTR lpszName, WORD cbNameMax, WORD *pcbNameOut, LPWSTR lpszPath, WORD cbPathMax, WORD *pcbPathOut, DWORD *pvOption)
int SQLInstallTranslatorEx(LPCSTR lpszTranslator, LPCSTR lpszPathIn, LPSTR lpszPathOut, WORD cbPathOutMax, WORD *pcbPathOut, WORD fRequest, LPDWORD lpdwUsageCount)
WCHAR * LPWSTR
Definition: sqltypes.h:108
DWORD * LPDWORD
Definition: sqltypes.h:113
unsigned short WORD
Definition: sqltypes.h:94
void * HWND
Definition: sqltypes.h:73
unsigned int DWORD
Definition: sqltypes.h:98
const WCHAR * LPCWSTR
Definition: sqltypes.h:110
unsigned short int UWORD
Definition: sqltypes.h:262
SQLSMALLINT SQLRETURN
Definition: sqltypes.h:210
Our generic window handle.
Definition: odbcinst.h:71
char szUI[FILENAME_MAX]
Definition: odbcinst.h:72
HWND hWnd
Definition: odbcinst.h:73
Modified on Sun May 05 05:23:29 2024 by modify_doxy.py rev. 669887