Headers diff for odbc32.dll between 6.1.7601.17514-Windows_7.0 and 6.3.9600.17415-Windows_8.1 versions



 sql.h (6.1.7601.17514-Windows_7.0)   sql.h (6.3.9600.17415-Windows_8.1) 
/********************************************************
* *
* Copyright (C) Microsoft. All rights reserved. *
* *
********************************************************/
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// File: sql.h // File: sql.h
// //
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: This is the the main include for ODBC Core functions. // Contents: This is the the main include for ODBC Core functions.
// //
// Comments: preconditions: #include "windows.h" // Comments: preconditions: #include "windows.h"
// //
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if defined(_MSC_VER) && (_MSC_VER > 1000)
#pragma once
#endif
#ifndef __SQL #ifndef __SQL
#define __SQL #define __SQL
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/* /*
* ODBCVER Default to ODBC version number (0x0380). To exclude * ODBCVER Default to ODBC version number (0x0380). To exclude
* definitions introduced in version 3.8 (or above) * definitions introduced in version 3.8 (or above)
* #define ODBCVER 0x0351 before #including <sql.h> * #define ODBCVER 0x0351 before #including <sql.h>
*/ */
#ifndef ODBCVER #ifndef ODBCVER
#define ODBCVER 0x0380 #define ODBCVER 0x0380
#endif #endif
#ifndef __SQLTYPES #ifndef __SQLTYPES
#include "sqltypes.h" #include "sqltypes.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 */
/* special length/indicator values */ /* special length/indicator values */
#define SQL_NULL_DATA (-1) #define SQL_NULL_DATA (-1)
#define SQL_DATA_AT_EXEC (-2) #define SQL_DATA_AT_EXEC (-2)
/* return values from functions */ /* return values from functions */
#define SQL_SUCCESS 0 #define SQL_SUCCESS 0
#define SQL_SUCCESS_WITH_INFO 1 #define SQL_SUCCESS_WITH_INFO 1
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_NO_DATA 100 #define SQL_NO_DATA 100
#endif #endif
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
#define SQL_PARAM_DATA_AVAILABLE 101 #define SQL_PARAM_DATA_AVAILABLE 101
#endif #endif
#define SQL_ERROR (-1) #define SQL_ERROR (-1)
#define SQL_INVALID_HANDLE (-2) #define SQL_INVALID_HANDLE (-2)
#define SQL_STILL_EXECUTING 2 #define SQL_STILL_EXECUTING 2
#define SQL_NEED_DATA 99 #define SQL_NEED_DATA 99
/* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */ /* test for SQL_SUCCESS or SQL_SUCCESS_WITH_INFO */
#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0) #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
/* flags for null-terminated string */ /* flags for null-terminated string */
#define SQL_NTS (-3) #define SQL_NTS (-3)
#define SQL_NTSL (-3L) #define SQL_NTSL (-3L)
/* maximum message length */ /* maximum message length */
#define SQL_MAX_MESSAGE_LENGTH 512 #define SQL_MAX_MESSAGE_LENGTH 512
/* date/time length constants */ /* date/time length constants */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_DATE_LEN 10 #define SQL_DATE_LEN 10
#define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */ #define SQL_TIME_LEN 8 /* add P+1 if precision is nonzero */
#define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */ #define SQL_TIMESTAMP_LEN 19 /* add P+1 if precision is nonzero */
#endif #endif
/* handle type identifiers */ /* handle type identifiers */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_HANDLE_ENV 1 #define SQL_HANDLE_ENV 1
#define SQL_HANDLE_DBC 2 #define SQL_HANDLE_DBC 2
#define SQL_HANDLE_STMT 3 #define SQL_HANDLE_STMT 3
#define SQL_HANDLE_DESC 4 #define SQL_HANDLE_DESC 4
#endif #endif
/* environment attribute */ /* environment attribute */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ATTR_OUTPUT_NTS 10001 #define SQL_ATTR_OUTPUT_NTS 10001
#endif #endif
/* connection attributes */ /* connection attributes */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ATTR_AUTO_IPD 10001 #define SQL_ATTR_AUTO_IPD 10001
#define SQL_ATTR_METADATA_ID 10014 #define SQL_ATTR_METADATA_ID 10014
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
/* statement attributes */ /* statement attributes */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ATTR_APP_ROW_DESC 10010 #define SQL_ATTR_APP_ROW_DESC 10010
#define SQL_ATTR_APP_PARAM_DESC 10011 #define SQL_ATTR_APP_PARAM_DESC 10011
#define SQL_ATTR_IMP_ROW_DESC 10012 #define SQL_ATTR_IMP_ROW_DESC 10012
#define SQL_ATTR_IMP_PARAM_DESC 10013 #define SQL_ATTR_IMP_PARAM_DESC 10013
#define SQL_ATTR_CURSOR_SCROLLABLE (-1) #define SQL_ATTR_CURSOR_SCROLLABLE (-1)
#define SQL_ATTR_CURSOR_SENSITIVITY (-2) #define SQL_ATTR_CURSOR_SENSITIVITY (-2)
skipping to change at line 125 skipping to change at line 138
#define SQL_DESC_INDICATOR_PTR 1009 #define SQL_DESC_INDICATOR_PTR 1009
#define SQL_DESC_DATA_PTR 1010 #define SQL_DESC_DATA_PTR 1010
#define SQL_DESC_NAME 1011 #define SQL_DESC_NAME 1011
#define SQL_DESC_UNNAMED 1012 #define SQL_DESC_UNNAMED 1012
#define SQL_DESC_OCTET_LENGTH 1013 #define SQL_DESC_OCTET_LENGTH 1013
#define SQL_DESC_ALLOC_TYPE 1099 #define SQL_DESC_ALLOC_TYPE 1099
#endif #endif
/* identifiers of fields in the diagnostics area */ /* identifiers of fields in the diagnostics area */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_DIAG_RETURNCODE 1 #define SQL_DIAG_RETURNCODE 1
#define SQL_DIAG_NUMBER 2 #define SQL_DIAG_NUMBER 2
#define SQL_DIAG_ROW_COUNT 3 #define SQL_DIAG_ROW_COUNT 3
#define SQL_DIAG_SQLSTATE 4 #define SQL_DIAG_SQLSTATE 4
#define SQL_DIAG_NATIVE 5 #define SQL_DIAG_NATIVE 5
#define SQL_DIAG_MESSAGE_TEXT 6 #define SQL_DIAG_MESSAGE_TEXT 6
#define SQL_DIAG_DYNAMIC_FUNCTION 7 #define SQL_DIAG_DYNAMIC_FUNCTION 7
#define SQL_DIAG_CLASS_ORIGIN 8 #define SQL_DIAG_CLASS_ORIGIN 8
#define SQL_DIAG_SUBCLASS_ORIGIN 9 #define SQL_DIAG_SUBCLASS_ORIGIN 9
#define SQL_DIAG_CONNECTION_NAME 10 #define SQL_DIAG_CONNECTION_NAME 10
#define SQL_DIAG_SERVER_NAME 11 #define SQL_DIAG_SERVER_NAME 11
#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12 #define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
#endif #endif
/* dynamic function codes */ /* dynamic function codes */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_DIAG_ALTER_DOMAIN 3 #define SQL_DIAG_ALTER_DOMAIN 3
#define SQL_DIAG_ALTER_TABLE 4 #define SQL_DIAG_ALTER_TABLE 4
#define SQL_DIAG_CALL 7 #define SQL_DIAG_CALL 7
#define SQL_DIAG_CREATE_ASSERTION 6 #define SQL_DIAG_CREATE_ASSERTION 6
#define SQL_DIAG_CREATE_CHARACTER_SET 8 #define SQL_DIAG_CREATE_CHARACTER_SET 8
#define SQL_DIAG_CREATE_COLLATION 10 #define SQL_DIAG_CREATE_COLLATION 10
#define SQL_DIAG_CREATE_DOMAIN 23 #define SQL_DIAG_CREATE_DOMAIN 23
#define SQL_DIAG_CREATE_INDEX (-1) #define SQL_DIAG_CREATE_INDEX (-1)
#define SQL_DIAG_CREATE_SCHEMA 64 #define SQL_DIAG_CREATE_SCHEMA 64
#define SQL_DIAG_CREATE_TABLE 77 #define SQL_DIAG_CREATE_TABLE 77
#define SQL_DIAG_CREATE_TRANSLATION 79 #define SQL_DIAG_CREATE_TRANSLATION 79
#define SQL_DIAG_CREATE_VIEW 84 #define SQL_DIAG_CREATE_VIEW 84
#define SQL_DIAG_DELETE_WHERE 19 #define SQL_DIAG_DELETE_WHERE 19
#define SQL_DIAG_DROP_ASSERTION 24 #define SQL_DIAG_DROP_ASSERTION 24
#define SQL_DIAG_DROP_CHARACTER_SET 25 #define SQL_DIAG_DROP_CHARACTER_SET 25
#define SQL_DIAG_DROP_COLLATION 26 #define SQL_DIAG_DROP_COLLATION 26
#define SQL_DIAG_DROP_DOMAIN 27 #define SQL_DIAG_DROP_DOMAIN 27
#define SQL_DIAG_DROP_INDEX (-2) #define SQL_DIAG_DROP_INDEX (-2)
#define SQL_DIAG_DROP_SCHEMA 31 #define SQL_DIAG_DROP_SCHEMA 31
#define SQL_DIAG_DROP_TABLE 32 #define SQL_DIAG_DROP_TABLE 32
#define SQL_DIAG_DROP_TRANSLATION 33 #define SQL_DIAG_DROP_TRANSLATION 33
#define SQL_DIAG_DROP_VIEW 36 #define SQL_DIAG_DROP_VIEW 36
#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38 #define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81 #define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
#define SQL_DIAG_GRANT 48 #define SQL_DIAG_GRANT 48
#define SQL_DIAG_INSERT 50 #define SQL_DIAG_INSERT 50
#define SQL_DIAG_REVOKE 59 #define SQL_DIAG_REVOKE 59
#define SQL_DIAG_SELECT_CURSOR 85 #define SQL_DIAG_SELECT_CURSOR 85
#define SQL_DIAG_UNKNOWN_STATEMENT 0 #define SQL_DIAG_UNKNOWN_STATEMENT 0
#define SQL_DIAG_UPDATE_WHERE 82 #define SQL_DIAG_UPDATE_WHERE 82
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
/* SQL data type codes */ /* SQL data type codes */
#define SQL_UNKNOWN_TYPE 0 #define SQL_UNKNOWN_TYPE 0
#define SQL_CHAR 1 #define SQL_CHAR 1
#define SQL_NUMERIC 2 #define SQL_NUMERIC 2
#define SQL_DECIMAL 3 #define SQL_DECIMAL 3
#define SQL_INTEGER 4 #define SQL_INTEGER 4
#define SQL_SMALLINT 5 #define SQL_SMALLINT 5
#define SQL_FLOAT 6 #define SQL_FLOAT 6
#define SQL_REAL 7 #define SQL_REAL 7
#define SQL_DOUBLE 8 #define SQL_DOUBLE 8
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_DATETIME 9 #define SQL_DATETIME 9
#endif #endif
#define SQL_VARCHAR 12 #define SQL_VARCHAR 12
/* One-parameter shortcuts for date/time data types */ /* One-parameter shortcuts for date/time data types */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_TYPE_DATE 91 #define SQL_TYPE_DATE 91
#define SQL_TYPE_TIME 92 #define SQL_TYPE_TIME 92
#define SQL_TYPE_TIMESTAMP 93 #define SQL_TYPE_TIMESTAMP 93
#endif #endif
/* Statement attribute values for cursor sensitivity */ /* Statement attribute values for cursor sensitivity */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_UNSPECIFIED 0 #define SQL_UNSPECIFIED 0
#define SQL_INSENSITIVE 1 #define SQL_INSENSITIVE 1
#define SQL_SENSITIVE 2 #define SQL_SENSITIVE 2
#endif #endif
/* GetTypeInfo() request for all data types */ /* GetTypeInfo() request for all data types */
#define SQL_ALL_TYPES 0 #define SQL_ALL_TYPES 0
/* Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() */ /* Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_DEFAULT 99 #define SQL_DEFAULT 99
#endif #endif
/* SQLSQLLEN GetData() code indicating that the application row descriptor /* SQLSQLLEN GetData() code indicating that the application row descriptor
* specifies the data type * specifies the data type
*/ */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ARD_TYPE (-99) #define SQL_ARD_TYPE (-99)
#endif #endif
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
#define SQL_APD_TYPE (-100) #define SQL_APD_TYPE (-100)
#endif #endif
/* SQL date/time type subcodes */ /* SQL date/time type subcodes */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_CODE_DATE 1 #define SQL_CODE_DATE 1
#define SQL_CODE_TIME 2 #define SQL_CODE_TIME 2
#define SQL_CODE_TIMESTAMP 3 #define SQL_CODE_TIMESTAMP 3
#endif #endif
/* CLI option values */ /* CLI option values */
skipping to change at line 241 skipping to change at line 254
#define SQL_TRUE 1 #define SQL_TRUE 1
#endif #endif
/* values of NULLABLE field in descriptor */ /* values of NULLABLE field in descriptor */
#define SQL_NO_NULLS 0 #define SQL_NO_NULLS 0
#define SQL_NULLABLE 1 #define SQL_NULLABLE 1
/* Value returned by SQLGetTypeInfo() to denote that it is /* Value returned by SQLGetTypeInfo() to denote that it is
* not known whether or not a data type supports null values. * not known whether or not a data type supports null values.
*/ */
#define SQL_NULLABLE_UNKNOWN 2 #define SQL_NULLABLE_UNKNOWN 2
/* Values returned by SQLGetTypeInfo() to show WHERE clause /* Values returned by SQLGetTypeInfo() to show WHERE clause
* supported * supported
*/ */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_PRED_NONE 0 #define SQL_PRED_NONE 0
#define SQL_PRED_CHAR 1 #define SQL_PRED_CHAR 1
#define SQL_PRED_BASIC 2 #define SQL_PRED_BASIC 2
#endif #endif
skipping to change at line 300 skipping to change at line 313
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_NULL_HDESC 0 #define SQL_NULL_HDESC 0
#endif #endif
/* null handle used in place of parent handle when allocating HENV */ /* null handle used in place of parent handle when allocating HENV */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_NULL_HANDLE 0L #define SQL_NULL_HANDLE 0L
#endif #endif
/* Values that may appear in the result set of SQLSpecialColumns() */ /* Values that may appear in the result set of SQLSpecialColumns() */
#define SQL_SCOPE_CURROW 0 #define SQL_SCOPE_CURROW 0
#define SQL_SCOPE_TRANSACTION 1 #define SQL_SCOPE_TRANSACTION 1
#define SQL_SCOPE_SESSION 2 #define SQL_SCOPE_SESSION 2
#define SQL_PC_UNKNOWN 0 #define SQL_PC_UNKNOWN 0
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_PC_NON_PSEUDO 1 #define SQL_PC_NON_PSEUDO 1
#endif #endif
#define SQL_PC_PSEUDO 2 #define SQL_PC_PSEUDO 2
/* Reserved value for the IdentifierType argument of SQLSpecialColumns() */ /* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ROW_IDENTIFIER 1 #define SQL_ROW_IDENTIFIER 1
skipping to change at line 328 skipping to change at line 341
/* Values that may appear in the result set of SQLStatistics() */ /* Values that may appear in the result set of SQLStatistics() */
#define SQL_INDEX_CLUSTERED 1 #define SQL_INDEX_CLUSTERED 1
#define SQL_INDEX_HASHED 2 #define SQL_INDEX_HASHED 2
#define SQL_INDEX_OTHER 3 #define SQL_INDEX_OTHER 3
/* SQLGetFunctions() values to identify ODBC APIs */ /* SQLGetFunctions() values to identify ODBC APIs */
#define SQL_API_SQLALLOCCONNECT 1 #define SQL_API_SQLALLOCCONNECT 1
#define SQL_API_SQLALLOCENV 2 #define SQL_API_SQLALLOCENV 2
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLALLOCHANDLE 1001 #define SQL_API_SQLALLOCHANDLE 1001
#endif #endif
#define SQL_API_SQLALLOCSTMT 3 #define SQL_API_SQLALLOCSTMT 3
#define SQL_API_SQLBINDCOL 4 #define SQL_API_SQLBINDCOL 4
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLBINDPARAM 1002 #define SQL_API_SQLBINDPARAM 1002
#endif #endif
#define SQL_API_SQLCANCEL 5 #define SQL_API_SQLCANCEL 5
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLCLOSECURSOR 1003 #define SQL_API_SQLCLOSECURSOR 1003
#define SQL_API_SQLCOLATTRIBUTE 6 #define SQL_API_SQLCOLATTRIBUTE 6
#endif #endif
#define SQL_API_SQLCOLUMNS 40 #define SQL_API_SQLCOLUMNS 40
#define SQL_API_SQLCONNECT 7 #define SQL_API_SQLCONNECT 7
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLCOPYDESC 1004 #define SQL_API_SQLCOPYDESC 1004
#endif #endif
#define SQL_API_SQLDATASOURCES 57 #define SQL_API_SQLDATASOURCES 57
#define SQL_API_SQLDESCRIBECOL 8 #define SQL_API_SQLDESCRIBECOL 8
#define SQL_API_SQLDISCONNECT 9 #define SQL_API_SQLDISCONNECT 9
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLENDTRAN 1005 #define SQL_API_SQLENDTRAN 1005
#endif #endif
#define SQL_API_SQLERROR 10 #define SQL_API_SQLERROR 10
#define SQL_API_SQLEXECDIRECT 11 #define SQL_API_SQLEXECDIRECT 11
#define SQL_API_SQLEXECUTE 12 #define SQL_API_SQLEXECUTE 12
#define SQL_API_SQLFETCH 13 #define SQL_API_SQLFETCH 13
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLFETCHSCROLL 1021 #define SQL_API_SQLFETCHSCROLL 1021
#endif #endif
#define SQL_API_SQLFREECONNECT 14 #define SQL_API_SQLFREECONNECT 14
#define SQL_API_SQLFREEENV 15 #define SQL_API_SQLFREEENV 15
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLFREEHANDLE 1006 #define SQL_API_SQLFREEHANDLE 1006
#endif #endif
#define SQL_API_SQLFREESTMT 16 #define SQL_API_SQLFREESTMT 16
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLGETCONNECTATTR 1007 #define SQL_API_SQLGETCONNECTATTR 1007
#endif #endif
#define SQL_API_SQLGETCONNECTOPTION 42 #define SQL_API_SQLGETCONNECTOPTION 42
#define SQL_API_SQLGETCURSORNAME 17 #define SQL_API_SQLGETCURSORNAME 17
#define SQL_API_SQLGETDATA 43 #define SQL_API_SQLGETDATA 43
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLGETDESCFIELD 1008 #define SQL_API_SQLGETDESCFIELD 1008
#define SQL_API_SQLGETDESCREC 1009 #define SQL_API_SQLGETDESCREC 1009
#define SQL_API_SQLGETDIAGFIELD 1010 #define SQL_API_SQLGETDIAGFIELD 1010
#define SQL_API_SQLGETDIAGREC 1011 #define SQL_API_SQLGETDIAGREC 1011
#define SQL_API_SQLGETENVATTR 1012 #define SQL_API_SQLGETENVATTR 1012
#endif #endif
#define SQL_API_SQLGETFUNCTIONS 44 #define SQL_API_SQLGETFUNCTIONS 44
#define SQL_API_SQLGETINFO 45 #define SQL_API_SQLGETINFO 45
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLGETSTMTATTR 1014 #define SQL_API_SQLGETSTMTATTR 1014
#endif #endif
#define SQL_API_SQLGETSTMTOPTION 46 #define SQL_API_SQLGETSTMTOPTION 46
#define SQL_API_SQLGETTYPEINFO 47 #define SQL_API_SQLGETTYPEINFO 47
#define SQL_API_SQLNUMRESULTCOLS 18 #define SQL_API_SQLNUMRESULTCOLS 18
#define SQL_API_SQLPARAMDATA 48 #define SQL_API_SQLPARAMDATA 48
#define SQL_API_SQLPREPARE 19 #define SQL_API_SQLPREPARE 19
#define SQL_API_SQLPUTDATA 49 #define SQL_API_SQLPUTDATA 49
#define SQL_API_SQLROWCOUNT 20 #define SQL_API_SQLROWCOUNT 20
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLSETCONNECTATTR 1016 #define SQL_API_SQLSETCONNECTATTR 1016
#endif #endif
#define SQL_API_SQLSETCONNECTOPTION 50 #define SQL_API_SQLSETCONNECTOPTION 50
#define SQL_API_SQLSETCURSORNAME 21 #define SQL_API_SQLSETCURSORNAME 21
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLSETDESCFIELD 1017 #define SQL_API_SQLSETDESCFIELD 1017
#define SQL_API_SQLSETDESCREC 1018 #define SQL_API_SQLSETDESCREC 1018
#define SQL_API_SQLSETENVATTR 1019 #define SQL_API_SQLSETENVATTR 1019
#endif #endif
#define SQL_API_SQLSETPARAM 22 #define SQL_API_SQLSETPARAM 22
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_API_SQLSETSTMTATTR 1020 #define SQL_API_SQLSETSTMTATTR 1020
#endif #endif
#define SQL_API_SQLSETSTMTOPTION 51 #define SQL_API_SQLSETSTMTOPTION 51
#define SQL_API_SQLSPECIALCOLUMNS 52 #define SQL_API_SQLSPECIALCOLUMNS 52
#define SQL_API_SQLSTATISTICS 53 #define SQL_API_SQLSTATISTICS 53
#define SQL_API_SQLTABLES 54 #define SQL_API_SQLTABLES 54
#define SQL_API_SQLTRANSACT 23 #define SQL_API_SQLTRANSACT 23
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
#define SQL_API_SQLCANCELHANDLE 1022 #define SQL_API_SQLCANCELHANDLE 1550
#define SQL_API_SQLCOMPLETEASYNC 1551
#endif #endif
/* Information requested by SQLGetInfo() */ /* Information requested by SQLGetInfo() */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_MAX_DRIVER_CONNECTIONS 0 #define SQL_MAX_DRIVER_CONNECTIONS 0
#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS #define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
#define SQL_MAX_CONCURRENT_ACTIVITIES 1 #define SQL_MAX_CONCURRENT_ACTIVITIES 1
#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
#endif #endif
#define SQL_DATA_SOURCE_NAME 2 #define SQL_DATA_SOURCE_NAME 2
#define SQL_FETCH_DIRECTION 8 #define SQL_FETCH_DIRECTION 8
#define SQL_SERVER_NAME 13 #define SQL_SERVER_NAME 13
#define SQL_SEARCH_PATTERN_ESCAPE 14 #define SQL_SEARCH_PATTERN_ESCAPE 14
#define SQL_DBMS_NAME 17 #define SQL_DBMS_NAME 17
#define SQL_DBMS_VER 18 #define SQL_DBMS_VER 18
#define SQL_ACCESSIBLE_TABLES 19 #define SQL_ACCESSIBLE_TABLES 19
#define SQL_ACCESSIBLE_PROCEDURES 20 #define SQL_ACCESSIBLE_PROCEDURES 20
#define SQL_CURSOR_COMMIT_BEHAVIOR 23 #define SQL_CURSOR_COMMIT_BEHAVIOR 23
#define SQL_DATA_SOURCE_READ_ONLY 25 #define SQL_DATA_SOURCE_READ_ONLY 25
#define SQL_DEFAULT_TXN_ISOLATION 26 #define SQL_DEFAULT_TXN_ISOLATION 26
#define SQL_IDENTIFIER_CASE 28 #define SQL_IDENTIFIER_CASE 28
skipping to change at line 460 skipping to change at line 474
#define SQL_NULL_COLLATION 85 #define SQL_NULL_COLLATION 85
#define SQL_ALTER_TABLE 86 #define SQL_ALTER_TABLE 86
#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90 #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
#define SQL_SPECIAL_CHARACTERS 94 #define SQL_SPECIAL_CHARACTERS 94
#define SQL_MAX_COLUMNS_IN_GROUP_BY 97 #define SQL_MAX_COLUMNS_IN_GROUP_BY 97
#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY #define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
#define SQL_MAX_COLUMNS_IN_INDEX 98 #define SQL_MAX_COLUMNS_IN_INDEX 98
#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX #define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
#define SQL_MAX_COLUMNS_IN_ORDER_BY 99 #define SQL_MAX_COLUMNS_IN_ORDER_BY 99
#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY #define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
#define SQL_MAX_COLUMNS_IN_SELECT 100 #define SQL_MAX_COLUMNS_IN_SELECT 100
#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT #define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
#define SQL_MAX_COLUMNS_IN_TABLE 101 #define SQL_MAX_COLUMNS_IN_TABLE 101
#define SQL_MAX_INDEX_SIZE 102 #define SQL_MAX_INDEX_SIZE 102
#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE #define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
#define SQL_MAX_ROW_SIZE 104 #define SQL_MAX_ROW_SIZE 104
#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE #define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
#define SQL_MAX_STATEMENT_LEN 105 #define SQL_MAX_STATEMENT_LEN 105
#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN #define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
#define SQL_MAX_TABLES_IN_SELECT 106 #define SQL_MAX_TABLES_IN_SELECT 106
#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT #define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
#define SQL_MAX_USER_NAME_LEN 107 #define SQL_MAX_USER_NAME_LEN 107
#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN #define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_OJ_CAPABILITIES 115 #define SQL_OJ_CAPABILITIES 115
#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES #define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_XOPEN_CLI_YEAR 10000 #define SQL_XOPEN_CLI_YEAR 10000
#define SQL_CURSOR_SENSITIVITY 10001 #define SQL_CURSOR_SENSITIVITY 10001
#define SQL_DESCRIBE_PARAMETER 10002 #define SQL_DESCRIBE_PARAMETER 10002
#define SQL_CATALOG_NAME 10003 #define SQL_CATALOG_NAME 10003
#define SQL_COLLATION_SEQ 10004 #define SQL_COLLATION_SEQ 10004
#define SQL_MAX_IDENTIFIER_LEN 10005 #define SQL_MAX_IDENTIFIER_LEN 10005
#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN #define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
/* SQL_ALTER_TABLE bitmasks */ /* SQL_ALTER_TABLE bitmasks */
#if (ODBCVER >= 0x0200) #if (ODBCVER >= 0x0200)
#define SQL_AT_ADD_COLUMN 0x00000001L #define SQL_AT_ADD_COLUMN 0x00000001L
#define SQL_AT_DROP_COLUMN 0x00000002L #define SQL_AT_DROP_COLUMN 0x00000002L
#endif /* ODBCVER >= 0x0200 */ #endif /* ODBCVER >= 0x0200 */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_AT_ADD_CONSTRAINT 0x00000008L #define SQL_AT_ADD_CONSTRAINT 0x00000008L
/* The following bitmasks are ODBC extensions and defined in sqlext.h /* The following bitmasks are ODBC extensions and defined in sqlext.h
*#define SQL_AT_COLUMN_SINGLE 0x00000020L *#define SQL_AT_COLUMN_SINGLE 0x00000020L
*#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L *#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
*#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L *#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
*#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L *#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
*#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L *#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
*#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L *#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
*#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L *#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
*#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L *#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
skipping to change at line 589 skipping to change at line 603
#define SQL_TXN_SERIALIZABLE 0x00000008L #define SQL_TXN_SERIALIZABLE 0x00000008L
#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE #define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
/* SQL_NULL_COLLATION values */ /* SQL_NULL_COLLATION values */
#define SQL_NC_HIGH 0 #define SQL_NC_HIGH 0
#define SQL_NC_LOW 1 #define SQL_NC_LOW 1
#ifndef RC_INVOKED #ifndef RC_INVOKED
SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle,
__out SQLHDBC *ConnectionHandle); _Out_ SQLHDBC *ConnectionHandle);
SQLRETURN SQL_API SQLAllocEnv(__out SQLHENV *EnvironmentHandle); SQLRETURN SQL_API SQLAllocEnv(_Out_ SQLHENV *EnvironmentHandle);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType, SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType,
SQLHANDLE InputHandle, __out SQLHANDLE *OutputHandle); SQLHANDLE InputHandle, _Out_ SQLHANDLE *OutputHandle);
#endif #endif
SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle,
__out SQLHSTMT *StatementHandle); _Out_ SQLHSTMT *StatementHandle);
SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
__inout_xcount_opt(BufferLength) SQLPOINTER TargetValue, _Inout_updates_opt_(_Inexpressible_(BufferLength)) SQLPOINTER TargetV
SQLLEN BufferLength, __inout_opt SQLLEN *StrLen_or_Ind); alue,
SQLLEN BufferLength, _Inout_opt_ SQLLEN *StrLen_or_Ind);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
__declspec(deprecated("ODBC API: SQLBindParam is deprecated. Please use SQLBindP arameter instead."))
SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle,
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue,
SQLLEN *StrLen_or_Ind); SQLLEN *StrLen_or_Ind);
#endif #endif
SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle); SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle);
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
SQLRETURN SQL_API SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle ); SQLRETURN SQL_API SQLCancelHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle );
#endif // ODBCVER >= 0x0380 #endif // ODBCVER >= 0x0380
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle); SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle);
#ifdef _WIN64 #ifdef _WIN64
SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier,
__out_bcount_opt(BufferLength) SQLPOINTER CharacterAttribute, SQLSMAL _Out_writes_bytes_opt_(BufferLength) SQLPOINTER CharacterAttribute, S
LINT BufferLength, QLSMALLINT BufferLength,
__out_opt SQLSMALLINT *StringLength, __out_opt SQLLEN *NumericAttribu _Out_opt_ SQLSMALLINT *StringLength, _Out_opt_ SQLLEN *NumericAttribu
te); te);
#else #else
SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier,
__out_bcount_opt(BufferLength) SQLPOINTER CharacterAttribute, SQLSMAL _Out_writes_bytes_opt_(BufferLength) SQLPOINTER CharacterAttribute, S
LINT BufferLength, QLSMALLINT BufferLength,
__out_opt SQLSMALLINT *StringLength, __out_opt SQLPOINTER NumericAttr _Out_opt_ SQLSMALLINT *StringLength, _Out_opt_ SQLPOINTER NumericAttr
ibute); ibute);
#endif #endif
#endif #endif
SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle,
__in_ecount_opt(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLe _In_reads_opt_(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLen
ngth1, gth1,
__in_ecount_opt(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLen _In_reads_opt_(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLeng
gth2, th2,
__in_ecount_opt(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLeng _In_reads_opt_(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLengt
th3, h3,
__in_ecount_opt(NameLength4) SQLCHAR *ColumnName, SQLSMALLINT NameLen _In_reads_opt_(NameLength4) SQLCHAR *ColumnName, SQLSMALLINT NameLeng
gth4); th4);
#if (ODBCVER >= 0x0380)
SQLRETURN SQL_API SQLCompleteAsync(SQLSMALLINT HandleType,
SQLHANDLE Handle,
_Out_ RETCODE* AsyncRetCodePtr);
#endif
SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle,
__in_ecount(NameLength1) SQLCHAR *ServerName, SQLSMALLINT NameLength1 _In_reads_(NameLength1) SQLCHAR *ServerName, SQLSMALLINT NameLength1,
, _In_reads_(NameLength2) SQLCHAR *UserName, SQLSMALLINT NameLength2,
__in_ecount(NameLength2) SQLCHAR *UserName, SQLSMALLINT NameLength2, _In_reads_(NameLength3) SQLCHAR *Authentication, SQLSMALLINT NameLeng
__in_ecount(NameLength3) SQLCHAR *Authentication, SQLSMALLINT NameLen th3);
gth3);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle, SQLRETURN SQL_API SQLCopyDesc(SQLHDESC SourceDescHandle,
SQLHDESC TargetDescHandle); SQLHDESC TargetDescHandle);
#endif #endif
SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLDataSources(SQLHENV EnvironmentHandle,
SQLUSMALLINT Direction, __out_ecount_opt(BufferLength1) SQLCHAR *Serv SQLUSMALLINT Direction, _Out_writes_opt_(BufferLength1) SQLCHAR *Serv
erName, erName,
SQLSMALLINT BufferLength1, __out_opt SQLSMALLINT *NameLength1Ptr, SQLSMALLINT BufferLength1, _Out_opt_ SQLSMALLINT *NameLength1Ptr,
__out_ecount_opt(BufferLength2) SQLCHAR *Description, SQLSMALLINT Buf _Out_writes_opt_(BufferLength2) SQLCHAR *Description, SQLSMALLINT Buf
ferLength2, ferLength2,
__out_opt SQLSMALLINT *NameLength2Ptr); _Out_opt_ SQLSMALLINT *NameLength2Ptr);
SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, __out_ecount_opt(BufferLength) SQLCHAR *Co SQLUSMALLINT ColumnNumber, _Out_writes_opt_(BufferLength) SQLCHAR *Co
lumnName, lumnName,
SQLSMALLINT BufferLength, __out_opt SQLSMALLINT *NameLength, SQLSMALLINT BufferLength, _Out_opt_ SQLSMALLINT *NameLength,
__out_opt SQLSMALLINT *DataType, __out_opt SQLULEN *ColumnSize, _Out_opt_ SQLSMALLINT *DataType, _Out_opt_ SQLULEN *ColumnSize,
__out_opt SQLSMALLINT *DecimalDigits, __out_opt SQLSMALLINT *Nullable _Out_opt_ SQLSMALLINT *DecimalDigits, _Out_opt_ SQLSMALLINT *Nullable
); );
SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle); SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle,
SQLSMALLINT CompletionType); SQLSMALLINT CompletionType);
#endif #endif
SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle,
__out_ecount(6) SQLCHAR *Sqlstate, __out_opt SQLINTEGER *NativeError, _Out_writes_(6) SQLCHAR *Sqlstate, _Out_opt_ SQLINTEGER *NativeError,
__out_ecount_opt(BufferLength) SQLCHAR *MessageText, SQLSMALLINT Buff _Out_writes_opt_(BufferLength) SQLCHAR *MessageText, SQLSMALLINT Buff
erLength, erLength,
__out_opt SQLSMALLINT *TextLength); _Out_opt_ SQLSMALLINT *TextLength);
SQLRETURN SQL_API SQLExecDirect SQLRETURN SQL_API SQLExecDirect
( (
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
__in_ecount_opt(TextLength) SQLCHAR* StatementText, _In_reads_opt_(TextLength) SQLCHAR* StatementText,
SQLINTEGER TextLength SQLINTEGER TextLength
); );
SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle); SQLRETURN SQL_API SQLExecute(SQLHSTMT StatementHandle);
SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle); SQLRETURN SQL_API SQLFetch(SQLHSTMT StatementHandle);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle,
SQLSMALLINT FetchOrientation, SQLLEN FetchOffset); SQLSMALLINT FetchOrientation, SQLLEN FetchOffset);
skipping to change at line 706 skipping to change at line 727
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle); SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle);
#endif #endif
SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle,
SQLUSMALLINT Option); SQLUSMALLINT Option);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC ConnectionHandle,
SQLINTEGER Attribute, __out_xcount_opt(BufferLength) SQLPOINTER Value SQLINTEGER Attribute, _Out_writes_opt_(_Inexpressible_(BufferLength))
, SQLPOINTER Value,
SQLINTEGER BufferLength, __out_opt SQLINTEGER *StringLengthPtr); SQLINTEGER BufferLength, _Out_opt_ SQLINTEGER *StringLengthPtr);
__declspec(deprecated("ODBC API: SQLGetConnectOption is deprecated. Please use S
QLGetConnectAttr instead."))
#endif #endif
SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC ConnectionHandle,
SQLUSMALLINT Option, SQLPOINTER Value); SQLUSMALLINT Option, SQLPOINTER Value);
SQLRETURN SQL_API SQLGetCursorName SQLRETURN SQL_API SQLGetCursorName
( (
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
__out_ecount_opt(BufferLength) SQLCHAR *CursorName, _Out_writes_opt_(BufferLength) SQLCHAR *CursorName,
SQLSMALLINT BufferLength, SQLSMALLINT BufferLength,
__out_opt _Out_opt_
SQLSMALLINT *NameLengthPtr SQLSMALLINT *NameLengthPtr
); );
SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType,
__out_xcount_opt(BufferLength) SQLPOINTER TargetValue, SQLLEN BufferL _Out_writes_opt_(_Inexpressible_(BufferLength)) SQLPOINTER TargetValu
ength, e, SQLLEN BufferLength,
__out_opt SQLLEN *StrLen_or_IndPtr); _Out_opt_ SQLLEN *StrLen_or_IndPtr);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle, SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
__out_xcount_opt(BufferLength) SQLPOINTER Value, SQLINTEGER BufferLen _Out_writes_opt_(_Inexpressible_(BufferLength)) SQLPOINTER Value, SQL
gth, INTEGER BufferLength,
__out_opt SQLINTEGER *StringLength); _Out_opt_ SQLINTEGER *StringLength);
SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle, SQLRETURN SQL_API SQLGetDescRec(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, __out_ecount_opt(BufferLength) SQLCHAR *Name, SQLSMALLINT RecNumber, _Out_writes_opt_(BufferLength) SQLCHAR *Name,
SQLSMALLINT BufferLength, __out_opt SQLSMALLINT *StringLengthPtr, SQLSMALLINT BufferLength, _Out_opt_ SQLSMALLINT *StringLengthPtr,
__out_opt SQLSMALLINT *TypePtr, __out_opt SQLSMALLINT *SubTypePtr, _Out_opt_ SQLSMALLINT *TypePtr, _Out_opt_ SQLSMALLINT *SubTypePtr,
__out_opt SQLLEN *LengthPtr, __out_opt SQLSMALLINT *PrecisionPtr, _Out_opt_ SQLLEN *LengthPtr, _Out_opt_ SQLSMALLINT *PrecisionPtr,
__out_opt SQLSMALLINT *ScalePtr, __out_opt SQLSMALLINT *NullablePtr); _Out_opt_ SQLSMALLINT *ScalePtr, _Out_opt_ SQLSMALLINT *NullablePtr);
SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle,
SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier,
__out_xcount_opt(BufferLength) SQLPOINTER DiagInfo, SQLSMALLINT Buffe _Out_writes_opt_(_Inexpressible_(BufferLength)) SQLPOINTER DiagInfo,
rLength, SQLSMALLINT BufferLength,
__out_opt SQLSMALLINT *StringLength); _Out_opt_ SQLSMALLINT *StringLength);
SQLRETURN SQL_API SQLGetDiagRec SQLRETURN SQL_API SQLGetDiagRec
( (
SQLSMALLINT HandleType, SQLSMALLINT HandleType,
SQLHANDLE Handle, SQLHANDLE Handle,
SQLSMALLINT RecNumber, SQLSMALLINT RecNumber,
__out_ecount_opt(6) SQLCHAR *Sqlstate, _Out_writes_opt_(6) SQLCHAR *Sqlstate,
SQLINTEGER *NativeError, SQLINTEGER *NativeError,
__out_ecount_opt(BufferLength) SQLCHAR* MessageText, _Out_writes_opt_(BufferLength) SQLCHAR* MessageText,
SQLSMALLINT BufferLength, SQLSMALLINT BufferLength,
__out_opt _Out_opt_
SQLSMALLINT *TextLength SQLSMALLINT *TextLength
); );
SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV EnvironmentHandle,
SQLINTEGER Attribute, __out_xcount(BufferLength) SQLPOINTER Value, SQLINTEGER Attribute, _Out_writes_(_Inexpressible_(BufferLength)) SQL
SQLINTEGER BufferLength, __out_opt SQLINTEGER *StringLength); POINTER Value,
SQLINTEGER BufferLength, _Out_opt_ SQLINTEGER *StringLength);
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLGetFunctions(SQLHDBC ConnectionHandle,
SQLUSMALLINT FunctionId, SQLUSMALLINT FunctionId,
__out_xcount_opt("Buffer length pfExists points to depends on fFuncti on value.") _Out_writes_opt_(_Inexpressible_("Buffer length pfExists points to de pends on fFunction value."))
SQLUSMALLINT *Supported); SQLUSMALLINT *Supported);
__success(return == SQL_SUCCESS) _Success_(return == SQL_SUCCESS)
SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLGetInfo(SQLHDBC ConnectionHandle,
SQLUSMALLINT InfoType, __out_bcount_opt(BufferLength) SQLPOINTER Info SQLUSMALLINT InfoType, _Out_writes_bytes_opt_(BufferLength) SQLPOINTE
Value, R InfoValue,
SQLSMALLINT BufferLength, __out_opt SQLSMALLINT *StringLengthPtr); SQLSMALLINT BufferLength, _Out_opt_ SQLSMALLINT *StringLengthPtr);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT StatementHandle,
SQLINTEGER Attribute, __out_xcount_opt(BufferLength) SQLPOINTER Value SQLINTEGER Attribute, _Out_writes_opt_(_Inexpressible_(BufferLength))
, SQLPOINTER Value,
SQLINTEGER BufferLength, __out_opt SQLINTEGER *StringLength); SQLINTEGER BufferLength, _Out_opt_ SQLINTEGER *StringLength);
__declspec(deprecated("ODBC API: SQLGetStmtOption is deprecated. Please use SQLG
etStmtAttr instead."))
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT StatementHandle,
SQLUSMALLINT Option, SQLPOINTER Value); SQLUSMALLINT Option, SQLPOINTER Value);
SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,
SQLSMALLINT DataType); SQLSMALLINT DataType);
SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT StatementHandle,
__out SQLSMALLINT *ColumnCount); _Out_ SQLSMALLINT *ColumnCount);
SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLParamData(SQLHSTMT StatementHandle,
__out_opt SQLPOINTER *Value); _Out_opt_ SQLPOINTER *Value);
SQLRETURN SQL_API SQLPrepare SQLRETURN SQL_API SQLPrepare
( (
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
__in_ecount(TextLength) SQLCHAR* StatementText, _In_reads_(TextLength) SQLCHAR* StatementText,
SQLINTEGER TextLength SQLINTEGER TextLength
); );
SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle,
__in_xcount(StrLen_or_Ind) SQLPOINTER Data, SQLLEN StrLen_or_Ind); _In_reads_(_Inexpressible_(StrLen_or_Ind)) SQLPOINTER Data, SQLLEN St rLen_or_Ind);
SQLRETURN SQL_API SQLRowCount(__in SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLRowCount(_In_ SQLHSTMT StatementHandle,
__out SQLLEN* RowCount); _Out_ SQLLEN* RowCount);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle,
SQLINTEGER Attribute, __in_bcount_opt(StringLength) SQLPOINTER Value, SQLINTEGER Attribute, _In_reads_bytes_opt_(StringLength) SQLPOINTER V alue,
SQLINTEGER StringLength); SQLINTEGER StringLength);
__declspec(deprecated("ODBC API: SQLSetConnectOption is deprecated. Please use S QLSetConnectAttr instead."))
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle, SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle,
SQLUSMALLINT Option, SQLULEN Value); SQLUSMALLINT Option, SQLULEN Value);
SQLRETURN SQL_API SQLSetCursorName SQLRETURN SQL_API SQLSetCursorName
( (
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
__in_ecount(NameLength) SQLCHAR* CursorName, _In_reads_(NameLength) SQLCHAR* CursorName,
SQLSMALLINT NameLength SQLSMALLINT NameLength
); );
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle, SQLRETURN SQL_API SQLSetDescField(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier, SQLSMALLINT RecNumber, SQLSMALLINT FieldIdentifier,
__in_xcount(BufferLength) SQLPOINTER Value, SQLINTEGER BufferLength); _In_reads_(_Inexpressible_(BufferLength)) SQLPOINTER Value, SQLINTEGE R BufferLength);
SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle, SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT Type, SQLSMALLINT RecNumber, SQLSMALLINT Type,
SQLSMALLINT SubType, SQLLEN Length, SQLSMALLINT SubType, SQLLEN Length,
SQLSMALLINT Precision, SQLSMALLINT Scale, SQLSMALLINT Precision, SQLSMALLINT Scale,
__inout_bcount_opt(Length) SQLPOINTER Data, __inout_opt SQLLEN *Strin _Inout_updates_bytes_opt_(Length) SQLPOINTER Data, _Inout_opt_ SQLLEN
gLength, *StringLength,
__inout_opt SQLLEN *Indicator); _Inout_opt_ SQLLEN *Indicator);
SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle,
SQLINTEGER Attribute, __in_bcount(StringLength) SQLPOINTER Value, SQLINTEGER Attribute, _In_reads_bytes_opt_(StringLength) SQLPOINTER V alue,
SQLINTEGER StringLength); SQLINTEGER StringLength);
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
__declspec(deprecated("ODBC API: SQLSetParam is deprecated. Please use SQLBindPa rameter instead."))
SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle,
SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType,
SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterType, SQLULEN LengthPrecision,
SQLSMALLINT ParameterScale, __in_xcount(*StrLen_or_Ind) SQLPOINTER Pa SQLSMALLINT ParameterScale, _In_reads_(_Inexpressible_(*StrLen_or_Ind
rameterValue, )) SQLPOINTER ParameterValue,
__inout SQLLEN *StrLen_or_Ind); _Inout_ SQLLEN *StrLen_or_Ind);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle,
SQLINTEGER Attribute, __in_xcount(StringLength) SQLPOINTER Value, SQLINTEGER Attribute, _In_reads_(_Inexpressible_(StringLength)) SQLPO INTER Value,
SQLINTEGER StringLength); SQLINTEGER StringLength);
__declspec(deprecated("ODBC API: SQLSetStmtOption is deprecated. Please use SQLS etStmtAttr instead."))
#endif #endif
SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle,
SQLUSMALLINT Option, SQLULEN Value); SQLUSMALLINT Option, SQLULEN Value);
SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle,
SQLUSMALLINT IdentifierType, SQLUSMALLINT IdentifierType,
__in_ecount_opt(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLe _In_reads_opt_(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLen
ngth1, gth1,
__in_ecount_opt(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLen _In_reads_opt_(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLeng
gth2, th2,
__in_ecount_opt(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLeng _In_reads_opt_(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLengt
th3, h3,
SQLUSMALLINT Scope, SQLUSMALLINT Nullable); SQLUSMALLINT Scope, SQLUSMALLINT Nullable);
SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLStatistics(SQLHSTMT StatementHandle,
__in_ecount_opt(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLe _In_reads_opt_(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLen
ngth1, gth1,
__in_ecount_opt(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLen _In_reads_opt_(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLeng
gth2, th2,
__in_ecount_opt(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLeng _In_reads_opt_(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLengt
th3, h3,
SQLUSMALLINT Unique, SQLUSMALLINT Reserved); SQLUSMALLINT Unique, SQLUSMALLINT Reserved);
SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle, SQLRETURN SQL_API SQLTables(SQLHSTMT StatementHandle,
__in_ecount_opt(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLe _In_reads_opt_(NameLength1) SQLCHAR *CatalogName, SQLSMALLINT NameLen
ngth1, gth1,
__in_ecount_opt(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLen _In_reads_opt_(NameLength2) SQLCHAR *SchemaName, SQLSMALLINT NameLeng
gth2, th2,
__in_ecount_opt(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLeng _In_reads_opt_(NameLength3) SQLCHAR *TableName, SQLSMALLINT NameLengt
th3, h3,
__in_ecount_opt(NameLength4) SQLCHAR *TableType, SQLSMALLINT NameLeng _In_reads_opt_(NameLength4) SQLCHAR *TableType, SQLSMALLINT NameLengt
th4); h4);
SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle, SQLRETURN SQL_API SQLTransact(SQLHENV EnvironmentHandle,
SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType); SQLHDBC ConnectionHandle, SQLUSMALLINT CompletionType);
#endif /* RC_INVOKED */ #endif /* RC_INVOKED */
#ifdef __cplusplus #ifdef __cplusplus
} /* End of extern "C" { */ } /* End of extern "C" { */
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* #ifndef __SQL */ #endif /* #ifndef __SQL */
 End of changes. 107 change blocks. 
248 lines changed or deleted 281 lines changed or added


 sqlext.h (6.1.7601.17514-Windows_7.0)   sqlext.h (6.3.9600.17415-Windows_8.1) 
/********************************************************
* *
* Copyright (C) Microsoft. All rights reserved. *
* *
********************************************************/
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// File: sqlext.h // File: sqlext.h
// //
// Copyright: Copyright (c) Microsoft Corporation
//
// Contents: This is the include for applications using the Microsoft SQL Extensions // Contents: This is the include for applications using the Microsoft SQL Extensions
// //
// Comments: // Comments:
// //
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if defined(_MSC_VER) && (_MSC_VER > 1000)
#pragma once
#endif
#ifndef __SQLEXT #ifndef __SQLEXT
#define __SQLEXT #define __SQLEXT
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#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 */
/* generally useful constants */ /* generally useful constants */
#define SQL_SPEC_MAJOR 3 /* Major version of specification */ #define SQL_SPEC_MAJOR 3 /* Major version of specification */
skipping to change at line 50 skipping to change at line 63
#define SQL_NO_DATA_FOUND SQL_NO_DATA #define SQL_NO_DATA_FOUND SQL_NO_DATA
#endif #endif
/* an end handle type */ /* an end handle type */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_HANDLE_SENV 5 #define SQL_HANDLE_SENV 5
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
/* env attribute */ /* env attribute */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ATTR_ODBC_VERSION 200 #define SQL_ATTR_ODBC_VERSION 200
#define SQL_ATTR_CONNECTION_POOLING 201 #define SQL_ATTR_CONNECTION_POOLING 201
#define SQL_ATTR_CP_MATCH 202 #define SQL_ATTR_CP_MATCH 202
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
/* values for SQL_ATTR_CONNECTION_POOLING */ /* values for SQL_ATTR_CONNECTION_POOLING */
#define SQL_CP_OFF 0UL #define SQL_CP_OFF 0UL
#define SQL_CP_ONE_PER_DRIVER 1UL #define SQL_CP_ONE_PER_DRIVER 1UL
#define SQL_CP_ONE_PER_HENV 2UL #define SQL_CP_ONE_PER_HENV 2UL
#define SQL_CP_DEFAULT SQL_CP_OFF #define SQL_CP_DRIVER_AWARE 3UL
#define SQL_CP_DEFAULT SQL_CP_OFF
/* values for SQL_ATTR_CP_MATCH */ /* values for SQL_ATTR_CP_MATCH */
#define SQL_CP_STRICT_MATCH 0UL #define SQL_CP_STRICT_MATCH 0UL
#define SQL_CP_RELAXED_MATCH 1UL #define SQL_CP_RELAXED_MATCH 1UL
#define SQL_CP_MATCH_DEFAULT SQL_CP_STRICT_MATCH #define SQL_CP_MATCH_DEFAULT SQL_CP_STRICT_MATCH
/* values for SQL_ATTR_ODBC_VERSION */ /* values for SQL_ATTR_ODBC_VERSION */
#define SQL_OV_ODBC2 2UL #define SQL_OV_ODBC2 2UL
#define SQL_OV_ODBC3 3UL #define SQL_OV_ODBC3 3UL
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
// new values for SQL_ATTR_ODBC_VERSION // new values for SQL_ATTR_ODBC_VERSION
// From ODBC 3.8 onwards, we should use <major version> * 100 + <minor version> // From ODBC 3.8 onwards, we should use <major version> * 100 + <minor version>
#define SQL_OV_ODBC3_80 380UL #define SQL_OV_ODBC3_80 380UL
#endif /* ODBCVER >= 0x0380 #endif /* ODBCVER >= 0x0380
/* connection attributes */ /* connection attributes */
#define SQL_ACCESS_MODE 101 #define SQL_ACCESS_MODE 101
#define SQL_AUTOCOMMIT 102 #define SQL_AUTOCOMMIT 102
#define SQL_LOGIN_TIMEOUT 103 #define SQL_LOGIN_TIMEOUT 103
#define SQL_OPT_TRACE 104 #define SQL_OPT_TRACE 104
#define SQL_OPT_TRACEFILE 105 #define SQL_OPT_TRACEFILE 105
#define SQL_TRANSLATE_DLL 106 #define SQL_TRANSLATE_DLL 106
#define SQL_TRANSLATE_OPTION 107 #define SQL_TRANSLATE_OPTION 107
skipping to change at line 131 skipping to change at line 145
driver, which has same behavior for both ANSI or Unicode applications, driver, which has same behavior for both ANSI or Unicode applications,
should return SQL_ERROR when the driver manager sets this connection should return SQL_ERROR when the driver manager sets this connection
attribute. When a unicode driver returns SQL_SUCCESS on this attribute, attribute. When a unicode driver returns SQL_SUCCESS on this attribute,
the driver manager treates ANSI and Unicode connections differently in the driver manager treates ANSI and Unicode connections differently in
connection pooling. connection pooling.
*/ */
#define SQL_ATTR_ANSI_APP 115 #define SQL_ATTR_ANSI_APP 115
#endif #endif
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
#define SQL_ATTR_RESET_CONNECTION 116 #define SQL_ATTR_RESET_CONNECTION 116
#define SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE 117 #define SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE 117
#endif #endif
// Connection attribute 118 is defined in sqlspi.h
#if (ODBCVER >= 0x0380)
#define SQL_ATTR_ASYNC_DBC_EVENT 119
#endif /* ODBCVER >= 0x0380 */
// Connection attribute 120 and 121 are defined in sqlspi.h
/* SQL_CONNECT_OPT_DRVR_START is not meaningful for 3.0 driver */ /* SQL_CONNECT_OPT_DRVR_START is not meaningful for 3.0 driver */
#if (ODBCVER < 0x0300) #if (ODBCVER < 0x0300)
#define SQL_CONNECT_OPT_DRVR_START 1000 #define SQL_CONNECT_OPT_DRVR_START 1000
#endif /* ODBCVER < 0x0300 */ #endif /* ODBCVER < 0x0300 */
#if (ODBCVER < 0x0300) #if (ODBCVER < 0x0300)
#define SQL_CONN_OPT_MAX SQL_PACKET_SIZE #define SQL_CONN_OPT_MAX SQL_PACKET_SIZE
#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE #define SQL_CONN_OPT_MIN SQL_ACCESS_MODE
#endif /* ODBCVER < 0x0300 */ #endif /* ODBCVER < 0x0300 */
skipping to change at line 165 skipping to change at line 187
/* SQL_LOGIN_TIMEOUT options */ /* SQL_LOGIN_TIMEOUT options */
#define SQL_LOGIN_TIMEOUT_DEFAULT 15UL #define SQL_LOGIN_TIMEOUT_DEFAULT 15UL
/* SQL_OPT_TRACE options */ /* SQL_OPT_TRACE options */
#define SQL_OPT_TRACE_OFF 0UL #define SQL_OPT_TRACE_OFF 0UL
#define SQL_OPT_TRACE_ON 1UL #define SQL_OPT_TRACE_ON 1UL
#define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF #define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF
#define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG" #define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG"
/* SQL_ODBC_CURSORS options */ /* SQL_ODBC_CURSORS options */
#pragma deprecated(SQL_CUR_USE_IF_NEEDED,SQL_CUR_USE_ODBC)
// SQL_CUR_USE_IF_NEEDED and SQL_CUR_USE_ODBC are deprecated.
// Please use SQL_CUR_USE_DRIVER for cursor functionalities provided by drivers
#define SQL_CUR_USE_IF_NEEDED 0UL #define SQL_CUR_USE_IF_NEEDED 0UL
#define SQL_CUR_USE_ODBC 1UL #define SQL_CUR_USE_ODBC 1UL
#define SQL_CUR_USE_DRIVER 2UL #define SQL_CUR_USE_DRIVER 2UL
#define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER #define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
/* values for SQL_ATTR_DISCONNECT_BEHAVIOR */ /* values for SQL_ATTR_DISCONNECT_BEHAVIOR */
#define SQL_DB_RETURN_TO_POOL 0UL #define SQL_DB_RETURN_TO_POOL 0UL
#define SQL_DB_DISCONNECT 1UL #define SQL_DB_DISCONNECT 1UL
#define SQL_DB_DEFAULT SQL_DB_RETURN_TO_POOL #define SQL_DB_DEFAULT SQL_DB_RETURN_TO_POOL
skipping to change at line 207 skipping to change at line 232
#define SQL_ASYNC_DBC_ENABLE_ON 1UL #define SQL_ASYNC_DBC_ENABLE_ON 1UL
#define SQL_ASYNC_DBC_ENABLE_OFF 0UL #define SQL_ASYNC_DBC_ENABLE_OFF 0UL
#define SQL_ASYNC_DBC_ENABLE_DEFAULT SQL_ASYNC_DBC_ENABLE_OFF #define SQL_ASYNC_DBC_ENABLE_DEFAULT SQL_ASYNC_DBC_ENABLE_OFF
#endif // ODBCVER >= 0x0380 #endif // ODBCVER >= 0x0380
/* statement attributes */ /* statement attributes */
#define SQL_QUERY_TIMEOUT 0 #define SQL_QUERY_TIMEOUT 0
#define SQL_MAX_ROWS 1 #define SQL_MAX_ROWS 1
#define SQL_NOSCAN 2 #define SQL_NOSCAN 2
#define SQL_MAX_LENGTH 3 #define SQL_MAX_LENGTH 3
#define SQL_ASYNC_ENABLE 4 /* same as SQL_ATTR_ASYNC_ENABLE */ #define SQL_ASYNC_ENABLE 4
#define SQL_BIND_TYPE 5 #define SQL_BIND_TYPE 5
#define SQL_CURSOR_TYPE 6 #define SQL_CURSOR_TYPE 6
#define SQL_CONCURRENCY 7 #define SQL_CONCURRENCY 7
#define SQL_KEYSET_SIZE 8 #define SQL_KEYSET_SIZE 8
#define SQL_ROWSET_SIZE 9 #define SQL_ROWSET_SIZE 9
#define SQL_SIMULATE_CURSOR 10 #define SQL_SIMULATE_CURSOR 10
#define SQL_RETRIEVE_DATA 11 #define SQL_RETRIEVE_DATA 11
#define SQL_USE_BOOKMARKS 12 #define SQL_USE_BOOKMARKS 12
#define SQL_GET_BOOKMARK 13 /* GetStmtOption Only */ #define SQL_GET_BOOKMARK 13 /* GetStmtOption Only */
#define SQL_ROW_NUMBER 14 /* GetStmtOption Only */ #define SQL_ROW_NUMBER 14 /* GetStmtOption Only */
/* statement attributes for ODBC 3.0 */ /* statement attributes for ODBC 3.0 */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_ATTR_ASYNC_ENABLE 4 #define SQL_ATTR_ASYNC_ENABLE SQL_ASYNC_ENABLE
#define SQL_ATTR_CONCURRENCY SQL_CONCURRENCY #define SQL_ATTR_CONCURRENCY SQL_CONCURRENCY
#define SQL_ATTR_CURSOR_TYPE SQL_CURSOR_TYPE #define SQL_ATTR_CURSOR_TYPE SQL_CURSOR_TYPE
#define SQL_ATTR_ENABLE_AUTO_IPD 15 #define SQL_ATTR_ENABLE_AUTO_IPD 15
#define SQL_ATTR_FETCH_BOOKMARK_PTR 16 #define SQL_ATTR_FETCH_BOOKMARK_PTR 16
#define SQL_ATTR_KEYSET_SIZE SQL_KEYSET_SIZE #define SQL_ATTR_KEYSET_SIZE SQL_KEYSET_SIZE
#define SQL_ATTR_MAX_LENGTH SQL_MAX_LENGTH #define SQL_ATTR_MAX_LENGTH SQL_MAX_LENGTH
#define SQL_ATTR_MAX_ROWS SQL_MAX_ROWS #define SQL_ATTR_MAX_ROWS SQL_MAX_ROWS
#define SQL_ATTR_NOSCAN SQL_NOSCAN #define SQL_ATTR_NOSCAN SQL_NOSCAN
#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 17 #define SQL_ATTR_PARAM_BIND_OFFSET_PTR 17
#define SQL_ATTR_PARAM_BIND_TYPE 18 #define SQL_ATTR_PARAM_BIND_TYPE 18
skipping to change at line 247 skipping to change at line 272
#define SQL_ATTR_RETRIEVE_DATA SQL_RETRIEVE_DATA #define SQL_ATTR_RETRIEVE_DATA SQL_RETRIEVE_DATA
#define SQL_ATTR_ROW_BIND_OFFSET_PTR 23 #define SQL_ATTR_ROW_BIND_OFFSET_PTR 23
#define SQL_ATTR_ROW_BIND_TYPE SQL_BIND_TYPE #define SQL_ATTR_ROW_BIND_TYPE SQL_BIND_TYPE
#define SQL_ATTR_ROW_NUMBER SQL_ROW_NUMBER /*GetStmtAttr*/ #define SQL_ATTR_ROW_NUMBER SQL_ROW_NUMBER /*GetStmtAttr*/
#define SQL_ATTR_ROW_OPERATION_PTR 24 #define SQL_ATTR_ROW_OPERATION_PTR 24
#define SQL_ATTR_ROW_STATUS_PTR 25 #define SQL_ATTR_ROW_STATUS_PTR 25
#define SQL_ATTR_ROWS_FETCHED_PTR 26 #define SQL_ATTR_ROWS_FETCHED_PTR 26
#define SQL_ATTR_ROW_ARRAY_SIZE 27 #define SQL_ATTR_ROW_ARRAY_SIZE 27
#define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR #define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR
#define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS #define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
#if (ODBCVER >= 0x0380)
#define SQL_ATTR_ASYNC_STMT_EVENT 29
#endif /* ODBCVER >= 0x0380 */
#if (ODBCVER < 0x0300) #if (ODBCVER < 0x0300)
#define SQL_STMT_OPT_MAX SQL_ROW_NUMBER #define SQL_STMT_OPT_MAX SQL_ROW_NUMBER
#define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT #define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT
#endif /* ODBCVER < 0x0300 */ #endif /* ODBCVER < 0x0300 */
/* New defines for SEARCHABLE column in SQLGetTypeInfo */ /* New defines for SEARCHABLE column in SQLGetTypeInfo */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#define SQL_COL_PRED_CHAR SQL_LIKE_ONLY #define SQL_COL_PRED_CHAR SQL_LIKE_ONLY
#define SQL_COL_PRED_BASIC SQL_ALL_EXCEPT_LIKE #define SQL_COL_PRED_BASIC SQL_ALL_EXCEPT_LIKE
skipping to change at line 907 skipping to change at line 935
#define SQL_DM_VER 171 #define SQL_DM_VER 171
#define SQL_INSERT_STATEMENT 172 #define SQL_INSERT_STATEMENT 172
#define SQL_CONVERT_GUID 173 #define SQL_CONVERT_GUID 173
#define SQL_UNION_STATEMENT SQL_UNION #define SQL_UNION_STATEMENT SQL_UNION
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
// Info Types // Info Types
#define SQL_ASYNC_DBC_FUNCTIONS 10023 #define SQL_ASYNC_DBC_FUNCTIONS 10023
#endif // ODBCVER >= 0x0380 #endif // ODBCVER >= 0x0380
#define SQL_DRIVER_AWARE_POOLING_SUPPORTED 10024
#if (ODBCVER >= 0x0380)
#define SQL_ASYNC_NOTIFICATION 10025
// Possible values for SQL_ASYNC_NOTIFICATION
#define SQL_ASYNC_NOTIFICATION_NOT_CAPABLE 0x00000000L
#define SQL_ASYNC_NOTIFICATION_CAPABLE 0x00000001L
#endif // ODBCVER >= 0x0380
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
#define SQL_DTC_TRANSITION_COST 1750 #define SQL_DTC_TRANSITION_COST 1750
/* SQL_ALTER_TABLE bitmasks */ /* SQL_ALTER_TABLE bitmasks */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
/* the following 5 bitmasks are defined in sql.h /* the following 5 bitmasks are defined in sql.h
*#define SQL_AT_ADD_COLUMN 0x00000001L *#define SQL_AT_ADD_COLUMN 0x00000001L
*#define SQL_AT_DROP_COLUMN 0x00000002L *#define SQL_AT_DROP_COLUMN 0x00000002L
*#define SQL_AT_ADD_CONSTRAINT 0x00000008L *#define SQL_AT_ADD_CONSTRAINT 0x00000008L
skipping to change at line 1645 skipping to change at line 1683
#define SQL_SVE_COALESCE 0x00000004L #define SQL_SVE_COALESCE 0x00000004L
#define SQL_SVE_NULLIF 0x00000008L #define SQL_SVE_NULLIF 0x00000008L
/* SQL_STANDARD_CLI_CONFORMANCE bitmasks */ /* SQL_STANDARD_CLI_CONFORMANCE bitmasks */
#define SQL_SCC_XOPEN_CLI_VERSION1 0x00000001L #define SQL_SCC_XOPEN_CLI_VERSION1 0x00000001L
#define SQL_SCC_ISO92_CLI 0x00000002L #define SQL_SCC_ISO92_CLI 0x00000002L
/* SQL_UNION_STATEMENT bitmasks */ /* SQL_UNION_STATEMENT bitmasks */
#define SQL_US_UNION SQL_U_UNION #define SQL_US_UNION SQL_U_UNION
#define SQL_US_UNION_ALL SQL_U_UNION_ALL #define SQL_US_UNION_ALL SQL_U_UNION_ALL
/* values for SQL_DRIVER_AWARE_POOLING_SUPPORTED */
#define SQL_DRIVER_AWARE_POOLING_NOT_CAPABLE 0x00000000L
#define SQL_DRIVER_AWARE_POOLING_CAPABLE 0x00000001L
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
/* SQL_DTC_TRANSITION_COST bitmasks */ /* SQL_DTC_TRANSITION_COST bitmasks */
#define SQL_DTC_ENLIST_EXPENSIVE 0x00000001L #define SQL_DTC_ENLIST_EXPENSIVE 0x00000001L
#define SQL_DTC_UNENLIST_EXPENSIVE 0x00000002L #define SQL_DTC_UNENLIST_EXPENSIVE 0x00000002L
#if (ODBCVER >= 0x0380) #if (ODBCVER >= 0x0380)
// possible values for SQL_ASYNC_DBC_FUNCTIONS // possible values for SQL_ASYNC_DBC_FUNCTIONS
#define SQL_ASYNC_DBC_NOT_CAPABLE 0x00000000L #define SQL_ASYNC_DBC_NOT_CAPABLE 0x00000000L
#define SQL_ASYNC_DBC_CAPABLE 0x00000001L #define SQL_ASYNC_DBC_CAPABLE 0x00000001L
skipping to change at line 1732 skipping to change at line 1774
#define SQL_DRIVER_NOPROMPT 0 #define SQL_DRIVER_NOPROMPT 0
#define SQL_DRIVER_COMPLETE 1 #define SQL_DRIVER_COMPLETE 1
#define SQL_DRIVER_PROMPT 2 #define SQL_DRIVER_PROMPT 2
#define SQL_DRIVER_COMPLETE_REQUIRED 3 #define SQL_DRIVER_COMPLETE_REQUIRED 3
#ifndef RC_INVOKED #ifndef RC_INVOKED
SQLRETURN SQL_API SQLDriverConnect( SQLRETURN SQL_API SQLDriverConnect(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLHWND hwnd, SQLHWND hwnd,
__in_ecount(cchConnStrIn) _In_reads_(cchConnStrIn)
SQLCHAR *szConnStrIn, SQLCHAR *szConnStrIn,
SQLSMALLINT cchConnStrIn, SQLSMALLINT cchConnStrIn,
__out_ecount_opt(cchConnStrOutMax) _Out_writes_opt_(cchConnStrOutMax)
SQLCHAR *szConnStrOut, SQLCHAR *szConnStrOut,
SQLSMALLINT cchConnStrOutMax, SQLSMALLINT cchConnStrOutMax,
__out_opt _Out_opt_
SQLSMALLINT *pcchConnStrOut, SQLSMALLINT *pcchConnStrOut,
SQLUSMALLINT fDriverCompletion); SQLUSMALLINT fDriverCompletion);
#endif /* RC_INVOKED */ #endif /* RC_INVOKED */
/* Level 2 Functions */ /* Level 2 Functions */
/* SQLExtendedFetch "fFetchType" values */ /* SQLExtendedFetch "fFetchType" values */
#define SQL_FETCH_BOOKMARK 8 #define SQL_FETCH_BOOKMARK 8
skipping to change at line 1849 skipping to change at line 1891
"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\ "SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
"SUBSTRING,SUM,SYSTEM_USER,"\ "SUBSTRING,SUM,SYSTEM_USER,"\
"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\ "TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\ "TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\ "UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
"VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\ "VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\
"YEAR,ZONE" "YEAR,ZONE"
SQLRETURN SQL_API SQLBrowseConnect( SQLRETURN SQL_API SQLBrowseConnect(
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cchConnStrIn) _In_reads_(cchConnStrIn)
SQLCHAR *szConnStrIn, SQLCHAR *szConnStrIn,
SQLSMALLINT cchConnStrIn, SQLSMALLINT cchConnStrIn,
__out_ecount_opt(cchConnStrOutMax) _Out_writes_opt_(cchConnStrOutMax)
SQLCHAR *szConnStrOut, SQLCHAR *szConnStrOut,
SQLSMALLINT cchConnStrOutMax, SQLSMALLINT cchConnStrOutMax,
__out_opt _Out_opt_
SQLSMALLINT *pcchConnStrOut); SQLSMALLINT *pcchConnStrOut);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLBulkOperations( SQLRETURN SQL_API SQLBulkOperations(
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
SQLSMALLINT Operation); SQLSMALLINT Operation);
#endif /* ODBCVER >= 0x0300 */ #endif /* ODBCVER >= 0x0300 */
SQLRETURN SQL_API SQLColAttributes( SQLRETURN SQL_API SQLColAttributes(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT icol, SQLUSMALLINT icol,
SQLUSMALLINT fDescType, SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc, SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax, SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc, SQLSMALLINT *pcbDesc,
SQLLEN * pfDesc); SQLLEN * pfDesc);
SQLRETURN SQL_API SQLColumnPrivileges( SQLRETURN SQL_API SQLColumnPrivileges(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) _In_reads_opt_(cchCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) _In_reads_opt_(cchSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) _In_reads_opt_(cchTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
__in_ecount_opt(cchColumnName) _In_reads_opt_(cchColumnName)
SQLCHAR *szColumnName, SQLCHAR *szColumnName,
SQLSMALLINT cchColumnName); SQLSMALLINT cchColumnName);
SQLRETURN SQL_API SQLDescribeParam( SQLRETURN SQL_API SQLDescribeParam(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT ipar, SQLUSMALLINT ipar,
__out_opt _Out_opt_
SQLSMALLINT *pfSqlType, SQLSMALLINT *pfSqlType,
__out_opt _Out_opt_
SQLULEN *pcbParamDef, SQLULEN *pcbParamDef,
__out_opt _Out_opt_
SQLSMALLINT *pibScale, SQLSMALLINT *pibScale,
__out_opt _Out_opt_
SQLSMALLINT *pfNullable); SQLSMALLINT *pfNullable);
SQLRETURN SQL_API SQLExtendedFetch( SQLRETURN SQL_API SQLExtendedFetch(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT fFetchType, SQLUSMALLINT fFetchType,
SQLLEN irow, SQLLEN irow,
__out_opt _Out_opt_
SQLULEN *pcrow, SQLULEN *pcrow,
__out_opt _Out_opt_
SQLUSMALLINT *rgfRowStatus); SQLUSMALLINT *rgfRowStatus);
SQLRETURN SQL_API SQLForeignKeys( SQLRETURN SQL_API SQLForeignKeys(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchPkCatalogName) _In_reads_opt_(cchPkCatalogName)
SQLCHAR *szPkCatalogName, SQLCHAR *szPkCatalogName,
SQLSMALLINT cchPkCatalogName, SQLSMALLINT cchPkCatalogName,
__in_ecount_opt(cchPkSchemaName) _In_reads_opt_(cchPkSchemaName)
SQLCHAR *szPkSchemaName, SQLCHAR *szPkSchemaName,
SQLSMALLINT cchPkSchemaName, SQLSMALLINT cchPkSchemaName,
__in_ecount_opt(cchPkTableName) _In_reads_opt_(cchPkTableName)
SQLCHAR *szPkTableName, SQLCHAR *szPkTableName,
SQLSMALLINT cchPkTableName, SQLSMALLINT cchPkTableName,
__in_ecount_opt(cchFkCatalogName) _In_reads_opt_(cchFkCatalogName)
SQLCHAR *szFkCatalogName, SQLCHAR *szFkCatalogName,
SQLSMALLINT cchFkCatalogName, SQLSMALLINT cchFkCatalogName,
__in_ecount_opt(cchFkSchemaName) _In_reads_opt_(cchFkSchemaName)
SQLCHAR *szFkSchemaName, SQLCHAR *szFkSchemaName,
SQLSMALLINT cchFkSchemaName, SQLSMALLINT cchFkSchemaName,
__in_ecount_opt(cchFkTableName) _In_reads_opt_(cchFkTableName)
SQLCHAR *szFkTableName, SQLCHAR *szFkTableName,
SQLSMALLINT cchFkTableName); SQLSMALLINT cchFkTableName);
SQLRETURN SQL_API SQLMoreResults( SQLRETURN SQL_API SQLMoreResults(
SQLHSTMT hstmt); SQLHSTMT hstmt);
SQLRETURN SQL_API SQLNativeSql SQLRETURN SQL_API SQLNativeSql
( (
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cchSqlStrIn) SQLCHAR* szSqlStrIn, _In_reads_(cchSqlStrIn) SQLCHAR* szSqlStrIn,
SQLINTEGER cchSqlStrIn, SQLINTEGER cchSqlStrIn,
__out_ecount_opt(cchSqlStrMax) SQLCHAR* szSqlStr, _Out_writes_opt_(cchSqlStrMax) SQLCHAR* szSqlStr,
SQLINTEGER cchSqlStrMax, SQLINTEGER cchSqlStrMax,
SQLINTEGER *pcbSqlStr SQLINTEGER *pcbSqlStr
); );
SQLRETURN SQL_API SQLNumParams( SQLRETURN SQL_API SQLNumParams(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__out_opt _Out_opt_
SQLSMALLINT *pcpar); SQLSMALLINT *pcpar);
SQLRETURN SQL_API SQLParamOptions( SQLRETURN SQL_API SQLParamOptions(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLULEN crow, SQLULEN crow,
SQLULEN *pirow); SQLULEN *pirow);
SQLRETURN SQL_API SQLPrimaryKeys( SQLRETURN SQL_API SQLPrimaryKeys(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) _In_reads_opt_(cchCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) _In_reads_opt_(cchSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) _In_reads_opt_(cchTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cchTableName); SQLSMALLINT cchTableName);
SQLRETURN SQL_API SQLProcedureColumns( SQLRETURN SQL_API SQLProcedureColumns(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) _In_reads_opt_(cchCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) _In_reads_opt_(cchSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchProcName) _In_reads_opt_(cchProcName)
SQLCHAR *szProcName, SQLCHAR *szProcName,
SQLSMALLINT cchProcName, SQLSMALLINT cchProcName,
__in_ecount_opt(cchColumnName) _In_reads_opt_(cchColumnName)
SQLCHAR *szColumnName, SQLCHAR *szColumnName,
SQLSMALLINT cchColumnName); SQLSMALLINT cchColumnName);
SQLRETURN SQL_API SQLProcedures( SQLRETURN SQL_API SQLProcedures(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) _In_reads_opt_(cchCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) _In_reads_opt_(cchSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchProcName) _In_reads_opt_(cchProcName)
SQLCHAR *szProcName, SQLCHAR *szProcName,
SQLSMALLINT cchProcName); SQLSMALLINT cchProcName);
SQLRETURN SQL_API SQLSetPos( SQLRETURN SQL_API SQLSetPos(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLSETPOSIROW irow, SQLSETPOSIROW irow,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLUSMALLINT fLock); SQLUSMALLINT fLock);
SQLRETURN SQL_API SQLTablePrivileges( SQLRETURN SQL_API SQLTablePrivileges(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) _In_reads_opt_(cchCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) _In_reads_opt_(cchSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) _In_reads_opt_(cchTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cchTableName); SQLSMALLINT cchTableName);
SQLRETURN SQL_API SQLDrivers( SQLRETURN SQL_API SQLDrivers(
SQLHENV henv, SQLHENV henv,
SQLUSMALLINT fDirection, SQLUSMALLINT fDirection,
__out_ecount_opt(cchDriverDescMax) _Out_writes_opt_(cchDriverDescMax)
SQLCHAR *szDriverDesc, SQLCHAR *szDriverDesc,
SQLSMALLINT cchDriverDescMax, SQLSMALLINT cchDriverDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcchDriverDesc, SQLSMALLINT *pcchDriverDesc,
__out_ecount_opt(cchDrvrAttrMax) _Out_writes_opt_(cchDrvrAttrMax)
SQLCHAR *szDriverAttributes, SQLCHAR *szDriverAttributes,
SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT cchDrvrAttrMax,
__out_opt _Out_opt_
SQLSMALLINT *pcchDrvrAttr); SQLSMALLINT *pcchDrvrAttr);
SQLRETURN SQL_API SQLBindParameter( SQLRETURN SQL_API SQLBindParameter(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT ipar, SQLUSMALLINT ipar,
SQLSMALLINT fParamType, SQLSMALLINT fParamType,
SQLSMALLINT fCType, SQLSMALLINT fCType,
SQLSMALLINT fSqlType, SQLSMALLINT fSqlType,
SQLULEN cbColDef, SQLULEN cbColDef,
SQLSMALLINT ibScale, SQLSMALLINT ibScale,
skipping to change at line 2068 skipping to change at line 2110
#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE #define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE
#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND #define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND #define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
#endif /* ODBC_STD */ #endif /* ODBC_STD */
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
#ifndef RC_INVOKED #ifndef RC_INVOKED
SQLRETURN SQL_API SQLAllocHandleStd( SQLRETURN SQL_API SQLAllocHandleStd(
SQLSMALLINT fHandleType, SQLSMALLINT fHandleType,
SQLHANDLE hInput, SQLHANDLE hInput,
__out _Out_
SQLHANDLE *phOutput); SQLHANDLE *phOutput);
#endif /* RC_INVOKED */ #endif /* RC_INVOKED */
#endif #endif
/* Deprecated defines from prior versions of ODBC */ /* Deprecated defines from prior versions of ODBC */
#define SQL_DATABASE_NAME 16 /* Use SQLGetConnectOption/SQL_CUR RENT_QUALIFIER */ #define SQL_DATABASE_NAME 16 /* Use SQLGetConnectOption/SQL_CUR RENT_QUALIFIER */
#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR #define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR
#define SQL_FETCH_PREV SQL_FETCH_PRIOR #define SQL_FETCH_PREV SQL_FETCH_PRIOR
#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER #define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER
#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER #define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER
skipping to change at line 2109 skipping to change at line 2151
SQLLEN crowKeyset, SQLLEN crowKeyset,
SQLUSMALLINT crowRowset); SQLUSMALLINT crowRowset);
/* Tracing section */ /* Tracing section */
#define TRACE_VERSION 1000 /* Version of trace API */ #define TRACE_VERSION 1000 /* Version of trace API */
// open a trace log file // open a trace log file
RETCODE SQL_API TraceOpenLogFile RETCODE SQL_API TraceOpenLogFile
( (
__in_opt LPWSTR szFileName, _In_opt_ LPWSTR szFileName,
__out_bcount_opt(cbOutputMsg) LPWSTR lpwszOutputMsg, _Out_writes_bytes_opt_(cbOutputMsg) LPWSTR lpwszOutputMsg,
__in DWORD cbOutputMsg _In_ DWORD cbOutputMsg
); );
RETCODE SQL_API TraceCloseLogFile(); // Request to close a trace log RETCODE SQL_API TraceCloseLogFile(); // Request to close a trace log
VOID SQL_API TraceReturn(RETCODE,RETCODE); // Processes trace after FN is c alled VOID SQL_API TraceReturn(RETCODE,RETCODE); // Processes trace after FN is c alled
DWORD SQL_API TraceVersion(); // Returns trace API version DWORD SQL_API TraceVersion(); // Returns trace API version
/* Functions for Visual Studio Analyzer*/ /* Functions for Visual Studio Analyzer*/
/* to turn on/off tracing or VS events, call TraceVSControl by setting or cleari ng the following bits */ /* to turn on/off tracing or VS events, call TraceVSControl by setting or cleari ng the following bits */
#pragma deprecated(TRACE_VS_EVENT_ON)
#define TRACE_ON 0x00000001L #define TRACE_ON 0x00000001L
#define TRACE_VS_EVENT_ON 0x00000002L #define TRACE_VS_EVENT_ON 0x00000002L
RETCODE SQL_API TraceVSControl(DWORD); RETCODE SQL_API TraceVSControl(DWORD);
/* Functions for setting the connection pooling failure detection code */ /* Functions for setting the connection pooling failure detection code */
/* The "TryWait" value is the time (in seconds) that the DM will wait */ /* The "TryWait" value is the time (in seconds) that the DM will wait */
/* between detecting that a connection is dead (using */ /* between detecting that a connection is dead (using */
/* SQL_ATTR_CONNECTION_DEAD) and retrying the connection. During that */ /* SQL_ATTR_CONNECTION_DEAD) and retrying the connection. During that */
/* interval, connection requests will get "The server appears to be */ /* interval, connection requests will get "The server appears to be */
/* dead" error returns. */ /* dead" error returns. */
BOOL SQL_API ODBCSetTryWaitValue(DWORD dwValue); /* In seconds */ BOOL SQL_API ODBCSetTryWaitValue(DWORD dwValue); /* In seconds */
DWORD SQL_API ODBCGetTryWaitValue(); /* In Milliseconds(!) */ DWORD SQL_API ODBCGetTryWaitValue(); /* In Milliseconds(!) */
/* the flags in ODBC_VS_ARGS */ //------------- Visual Studio Analyzer Support is removed from ODBC (Windows 8 a
nd onwards) ---------
// From Windows 8 and onwards, Visual Studio Analyzer Support for ODBC is remove
d. Third-party trace
// library does not need to define the function FireVSDebugEvent any more, which
would not be called
// from ODBC DM in Windows 8.
// If your trace library is going to work on downlevel platforms, you may still
want to define the
// function FireVSDebugEvent. But the trace library can still be loaded on downl
evel platforms even
// if this function is not defined.
//
#pragma deprecated(ODBC_VS_FLAG_UNICODE_ARG, ODBC_VS_FLAG_UNICODE_COR, ODBC_VS_F
LAG_RETCODE, ODBC_VS_FLAG_STOP, tagODBC_VS_ARGS, ODBC_VS_ARGS, PODBC_VS_ARGS)
// the flags in ODBC_VS_ARGS
#define ODBC_VS_FLAG_UNICODE_ARG 0x00000001L /* the argument is unicode */ #define ODBC_VS_FLAG_UNICODE_ARG 0x00000001L /* the argument is unicode */
#define ODBC_VS_FLAG_UNICODE_COR 0x00000002L /* the correlation is unicode */ #define ODBC_VS_FLAG_UNICODE_COR 0x00000002L /* the correlation is unicode */
#define ODBC_VS_FLAG_RETCODE 0x00000004L /* RetCode field is set */ #define ODBC_VS_FLAG_RETCODE 0x00000004L /* RetCode field is set */
#define ODBC_VS_FLAG_STOP 0x00000008L /* Stop firing visual studio analyze r events */ #define ODBC_VS_FLAG_STOP 0x00000008L /* Stop firing visual studio ana lyzer events */
#pragma warning( push )
#pragma warning(disable:4995)
typedef struct tagODBC_VS_ARGS { typedef struct tagODBC_VS_ARGS {
const GUID *pguidEvent; /* the GUID for event */ const GUID *pguidEvent; /* the GUID for event */
DWORD dwFlags; /* flags for the call */ DWORD dwFlags; /* flags for the call */
union { union {
WCHAR *wszArg; WCHAR *wszArg;
CHAR *szArg; CHAR *szArg;
}; };
union { union {
WCHAR *wszCorrelation; WCHAR *wszCorrelation;
CHAR *szCorrelation; CHAR *szCorrelation;
skipping to change at line 2154 skipping to change at line 2209
union { union {
WCHAR *wszArg; WCHAR *wszArg;
CHAR *szArg; CHAR *szArg;
}; };
union { union {
WCHAR *wszCorrelation; WCHAR *wszCorrelation;
CHAR *szCorrelation; CHAR *szCorrelation;
}; };
RETCODE RetCode; RETCODE RetCode;
} ODBC_VS_ARGS, *PODBC_VS_ARGS; } ODBC_VS_ARGS, *PODBC_VS_ARGS;
VOID SQL_API FireVSDebugEvent(PODBC_VS_ARGS); VOID SQL_API FireVSDebugEvent(PODBC_VS_ARGS);
#pragma warning( pop )
#endif /* RC_INVOKED */ #endif /* RC_INVOKED */
#ifdef __cplusplus #ifdef __cplusplus
} /* End of extern "C" { */ } /* End of extern "C" { */
#endif /* __cplusplus */ #endif /* __cplusplus */
#if defined(WIN32) || defined(_WIN64) #if defined(WIN32) || defined(_WIN64)
#include "sqlucode.h" #include "sqlucode.h"
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* __SQLEXT */ #endif /* __SQLEXT */
 End of changes. 69 change blocks. 
68 lines changed or deleted 134 lines changed or added


 sqlucode.h (6.1.7601.17514-Windows_7.0)   sqlucode.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 15 skipping to change at line 15
// //
// Contents: This is the the unicode include for ODBC Core functions // Contents: This is the the unicode include for ODBC Core functions
// //
// Comments: // Comments:
// //
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#ifndef __SQLUCODE #ifndef __SQLUCODE
#define __SQLUCODE #define __SQLUCODE
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */ extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */ #endif /* __cplusplus */
#include <sqlext.h> #include <sqlext.h>
#define SQL_WCHAR (-8) #define SQL_WCHAR (-8)
#define SQL_WVARCHAR (-9) #define SQL_WVARCHAR (-9)
#define SQL_WLONGVARCHAR (-10) #define SQL_WLONGVARCHAR (-10)
#define SQL_C_WCHAR SQL_WCHAR #define SQL_C_WCHAR SQL_WCHAR
skipping to change at line 43 skipping to change at line 48
#ifndef RC_INVOKED #ifndef RC_INVOKED
// UNICODE versions // UNICODE versions
#ifdef _WIN64 #ifdef _WIN64
SQLRETURN SQL_API SQLColAttributeW SQLRETURN SQL_API SQLColAttributeW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT iCol, SQLUSMALLINT iCol,
SQLUSMALLINT iField, SQLUSMALLINT iField,
__out_bcount_opt(cbDescMax) _Out_writes_bytes_opt_(cbDescMax)
SQLPOINTER pCharAttr, SQLPOINTER pCharAttr,
SQLSMALLINT cbDescMax, SQLSMALLINT cbDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbCharAttr, SQLSMALLINT *pcbCharAttr,
__out_opt _Out_opt_
SQLLEN *pNumAttr SQLLEN *pNumAttr
); );
#else #else
SQLRETURN SQL_API SQLColAttributeW( SQLRETURN SQL_API SQLColAttributeW(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT iCol, SQLUSMALLINT iCol,
SQLUSMALLINT iField, SQLUSMALLINT iField,
__out_bcount_opt(cbDescMax) _Out_writes_bytes_opt_(cbDescMax)
SQLPOINTER pCharAttr, SQLPOINTER pCharAttr,
SQLSMALLINT cbDescMax, SQLSMALLINT cbDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbCharAttr, SQLSMALLINT *pcbCharAttr,
__out_opt _Out_opt_
SQLPOINTER pNumAttr); SQLPOINTER pNumAttr);
#endif #endif
SQLRETURN SQL_API SQLColAttributesW SQLRETURN SQL_API SQLColAttributesW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT icol, SQLUSMALLINT icol,
SQLUSMALLINT fDescType, SQLUSMALLINT fDescType,
__out_bcount_opt(cbDescMax) _Out_writes_bytes_opt_(cbDescMax)
SQLPOINTER rgbDesc, SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax, SQLSMALLINT cbDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbDesc, SQLSMALLINT *pcbDesc,
__out_opt _Out_opt_
SQLLEN *pfDesc SQLLEN *pfDesc
); );
SQLRETURN SQL_API SQLConnectW SQLRETURN SQL_API SQLConnectW
( (
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cchDSN) SQLWCHAR* szDSN, _In_reads_(cchDSN) SQLWCHAR* szDSN,
SQLSMALLINT cchDSN, SQLSMALLINT cchDSN,
__in_ecount(cchUID) SQLWCHAR* szUID, _In_reads_(cchUID) SQLWCHAR* szUID,
SQLSMALLINT cchUID, SQLSMALLINT cchUID,
__in_ecount(cchAuthStr) SQLWCHAR* szAuthStr, _In_reads_(cchAuthStr) SQLWCHAR* szAuthStr,
SQLSMALLINT cchAuthStr SQLSMALLINT cchAuthStr
); );
SQLRETURN SQL_API SQLDescribeColW SQLRETURN SQL_API SQLDescribeColW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT icol, SQLUSMALLINT icol,
__out_ecount_opt(cchColNameMax) SQLWCHAR* szColName, _Out_writes_opt_(cchColNameMax) SQLWCHAR* szColName,
SQLSMALLINT cchColNameMax, SQLSMALLINT cchColNameMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchColName, SQLSMALLINT* pcchColName,
__out_opt _Out_opt_
SQLSMALLINT* pfSqlType, SQLSMALLINT* pfSqlType,
__out_opt _Out_opt_
SQLULEN* pcbColDef, SQLULEN* pcbColDef,
__out_opt _Out_opt_
SQLSMALLINT* pibScale, SQLSMALLINT* pibScale,
__out_opt _Out_opt_
SQLSMALLINT* pfNullable SQLSMALLINT* pfNullable
); );
SQLRETURN SQL_API SQLErrorW SQLRETURN SQL_API SQLErrorW
( (
SQLHENV henv, SQLHENV henv,
SQLHDBC hdbc, SQLHDBC hdbc,
SQLHSTMT hstmt, SQLHSTMT hstmt,
__out_ecount(6) SQLWCHAR* wszSqlState, _Out_writes_(6) SQLWCHAR* wszSqlState,
__out_opt SQLINTEGER* pfNativeError, _Out_opt_ SQLINTEGER* pfNativeError,
__out_ecount_opt(cchErrorMsgMax) SQLWCHAR* wszErrorMsg, _Out_writes_opt_(cchErrorMsgMax) SQLWCHAR* wszErrorMsg,
SQLSMALLINT cchErrorMsgMax, SQLSMALLINT cchErrorMsgMax,
__out_opt SQLSMALLINT* pcchErrorMsg _Out_opt_ SQLSMALLINT* pcchErrorMsg
); );
SQLRETURN SQL_API SQLExecDirectW SQLRETURN SQL_API SQLExecDirectW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(TextLength) SQLWCHAR* szSqlStr, _In_reads_opt_(TextLength) SQLWCHAR* szSqlStr,
SQLINTEGER TextLength SQLINTEGER TextLength
); );
SQLRETURN SQL_API SQLGetConnectAttrW SQLRETURN SQL_API SQLGetConnectAttrW
( (
SQLHDBC hdbc, SQLHDBC hdbc,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
__out_xcount_opt(cbValueMax) _Out_writes_opt_(_Inexpressible_(cbValueMax))
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValueMax, SQLINTEGER cbValueMax,
__out_opt _Out_opt_
SQLINTEGER* pcbValue SQLINTEGER* pcbValue
); );
SQLRETURN SQL_API SQLGetCursorNameW SQLRETURN SQL_API SQLGetCursorNameW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__out_ecount_opt(cchCursorMax) SQLWCHAR* szCursor, _Out_writes_opt_(cchCursorMax) SQLWCHAR* szCursor,
SQLSMALLINT cchCursorMax, SQLSMALLINT cchCursorMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchCursor SQLSMALLINT* pcchCursor
); );
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLSetDescFieldW SQLRETURN SQL_API SQLSetDescFieldW
( (
SQLHDESC DescriptorHandle, SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber, SQLSMALLINT RecNumber,
SQLSMALLINT FieldIdentifier, SQLSMALLINT FieldIdentifier,
SQLPOINTER Value, SQLPOINTER Value,
SQLINTEGER BufferLength SQLINTEGER BufferLength
); );
SQLRETURN SQL_API SQLGetDescFieldW SQLRETURN SQL_API SQLGetDescFieldW
( (
SQLHDESC hdesc, SQLHDESC hdesc,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
SQLSMALLINT iField, SQLSMALLINT iField,
__out_xcount_opt(cbBufferLength) _Out_writes_opt_(_Inexpressible_(cbBufferLength))
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbBufferLength, SQLINTEGER cbBufferLength,
__out_opt _Out_opt_
SQLINTEGER *StringLength SQLINTEGER *StringLength
); );
SQLRETURN SQL_API SQLGetDescRecW SQLRETURN SQL_API SQLGetDescRecW
( (
SQLHDESC hdesc, SQLHDESC hdesc,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
__out_ecount_opt(cchNameMax) SQLWCHAR* szName, _Out_writes_opt_(cchNameMax) SQLWCHAR* szName,
SQLSMALLINT cchNameMax, SQLSMALLINT cchNameMax,
__out_opt _Out_opt_
SQLSMALLINT *pcchName, SQLSMALLINT *pcchName,
__out_opt _Out_opt_
SQLSMALLINT *pfType, SQLSMALLINT *pfType,
__out_opt _Out_opt_
SQLSMALLINT *pfSubType, SQLSMALLINT *pfSubType,
__out_opt _Out_opt_
SQLLEN *pLength, SQLLEN *pLength,
__out_opt _Out_opt_
SQLSMALLINT *pPrecision, SQLSMALLINT *pPrecision,
__out_opt _Out_opt_
SQLSMALLINT *pScale, SQLSMALLINT *pScale,
__out_opt _Out_opt_
SQLSMALLINT *pNullable SQLSMALLINT *pNullable
); );
SQLRETURN SQL_API SQLGetDiagFieldW SQLRETURN SQL_API SQLGetDiagFieldW
( (
SQLSMALLINT fHandleType, SQLSMALLINT fHandleType,
SQLHANDLE handle, SQLHANDLE handle,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
SQLSMALLINT fDiagField, SQLSMALLINT fDiagField,
__out_xcount_opt(cbBufferLength) _Out_writes_opt_(_Inexpressible_(cbBufferLength))
SQLPOINTER rgbDiagInfo, SQLPOINTER rgbDiagInfo,
SQLSMALLINT cbBufferLength, SQLSMALLINT cbBufferLength,
__out_opt _Out_opt_
SQLSMALLINT *pcbStringLength SQLSMALLINT *pcbStringLength
); );
SQLRETURN SQL_API SQLGetDiagRecW SQLRETURN SQL_API SQLGetDiagRecW
( (
SQLSMALLINT fHandleType, SQLSMALLINT fHandleType,
SQLHANDLE handle, SQLHANDLE handle,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
__out_ecount_opt(6) SQLWCHAR* szSqlState, _Out_writes_opt_(6) SQLWCHAR* szSqlState,
SQLINTEGER* pfNativeError, SQLINTEGER* pfNativeError,
__out_ecount_opt(cchErrorMsgMax) SQLWCHAR* szErrorMsg, _Out_writes_opt_(cchErrorMsgMax) SQLWCHAR* szErrorMsg,
SQLSMALLINT cchErrorMsgMax, SQLSMALLINT cchErrorMsgMax,
SQLSMALLINT* pcchErrorMsg SQLSMALLINT* pcchErrorMsg
); );
#endif #endif
SQLRETURN SQL_API SQLPrepareW SQLRETURN SQL_API SQLPrepareW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount(cchSqlStr) SQLWCHAR* szSqlStr, _In_reads_(cchSqlStr) SQLWCHAR* szSqlStr,
SQLINTEGER cchSqlStr SQLINTEGER cchSqlStr
); );
SQLRETURN SQL_API SQLSetConnectAttrW( SQLRETURN SQL_API SQLSetConnectAttrW(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
__in_bcount_opt(cbValue) _In_reads_bytes_opt_(cbValue)
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValue); SQLINTEGER cbValue);
SQLRETURN SQL_API SQLSetCursorNameW SQLRETURN SQL_API SQLSetCursorNameW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount(cchCursor) SQLWCHAR* szCursor, _In_reads_(cchCursor) SQLWCHAR* szCursor,
SQLSMALLINT cchCursor SQLSMALLINT cchCursor
); );
SQLRETURN SQL_API SQLColumnsW SQLRETURN SQL_API SQLColumnsW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
__in_ecount_opt(cchColumnName) SQLWCHAR* szColumnName, _In_reads_opt_(cchColumnName) SQLWCHAR* szColumnName,
SQLSMALLINT cchColumnName SQLSMALLINT cchColumnName
); );
SQLRETURN SQL_API SQLGetConnectOptionW( SQLRETURN SQL_API SQLGetConnectOptionW(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLPOINTER pvParam); SQLPOINTER pvParam);
SQLRETURN SQL_API SQLGetInfoW( SQLRETURN SQL_API SQLGetInfoW(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fInfoType, SQLUSMALLINT fInfoType,
__out_bcount_opt(cbInfoValueMax) SQLPOINTER rgbInfoValue, _Out_writes_bytes_opt_(cbInfoValueMax) SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax, SQLSMALLINT cbInfoValueMax,
__out_opt _Out_opt_
SQLSMALLINT* pcbInfoValue); SQLSMALLINT* pcbInfoValue);
SQLRETURN SQL_API SQLGetTypeInfoW( SQLRETURN SQL_API SQLGetTypeInfoW(
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
SQLSMALLINT DataType); SQLSMALLINT DataType);
SQLRETURN SQL_API SQLSetConnectOptionW( SQLRETURN SQL_API SQLSetConnectOptionW(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLULEN vParam); SQLULEN vParam);
SQLRETURN SQL_API SQLSpecialColumnsW SQLRETURN SQL_API SQLSpecialColumnsW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT fColType, SQLUSMALLINT fColType,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
SQLUSMALLINT fScope, SQLUSMALLINT fScope,
SQLUSMALLINT fNullable SQLUSMALLINT fNullable
); );
SQLRETURN SQL_API SQLStatisticsW SQLRETURN SQL_API SQLStatisticsW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
SQLUSMALLINT fUnique, SQLUSMALLINT fUnique,
SQLUSMALLINT fAccuracy SQLUSMALLINT fAccuracy
); );
SQLRETURN SQL_API SQLTablesW SQLRETURN SQL_API SQLTablesW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
__in_ecount_opt(cchTableType) SQLWCHAR* szTableType, _In_reads_opt_(cchTableType) SQLWCHAR* szTableType,
SQLSMALLINT cchTableType SQLSMALLINT cchTableType
); );
SQLRETURN SQL_API SQLDataSourcesW SQLRETURN SQL_API SQLDataSourcesW
( (
SQLHENV henv, SQLHENV henv,
SQLUSMALLINT fDirection, SQLUSMALLINT fDirection,
__out_ecount_opt(cchDSNMax) SQLWCHAR* szDSN, _Out_writes_opt_(cchDSNMax) SQLWCHAR* szDSN,
SQLSMALLINT cchDSNMax, SQLSMALLINT cchDSNMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchDSN, SQLSMALLINT* pcchDSN,
__out_ecount_opt(cchDescriptionMax) SQLWCHAR* wszDescription, _Out_writes_opt_(cchDescriptionMax) SQLWCHAR* wszDescription,
SQLSMALLINT cchDescriptionMax, SQLSMALLINT cchDescriptionMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchDescription SQLSMALLINT* pcchDescription
); );
SQLRETURN SQL_API SQLDriverConnectW SQLRETURN SQL_API SQLDriverConnectW
( (
SQLHDBC hdbc, SQLHDBC hdbc,
SQLHWND hwnd, SQLHWND hwnd,
__in_ecount(cchConnStrIn) SQLWCHAR* szConnStrIn, _In_reads_(cchConnStrIn) SQLWCHAR* szConnStrIn,
SQLSMALLINT cchConnStrIn, SQLSMALLINT cchConnStrIn,
__out_ecount_opt(cchConnStrOutMax) SQLWCHAR* szConnStrOut, _Out_writes_opt_(cchConnStrOutMax) SQLWCHAR* szConnStrOut,
SQLSMALLINT cchConnStrOutMax, SQLSMALLINT cchConnStrOutMax,
__out_opt SQLSMALLINT* pcchConnStrOut, _Out_opt_ SQLSMALLINT* pcchConnStrOut,
SQLUSMALLINT fDriverCompletion SQLUSMALLINT fDriverCompletion
); );
SQLRETURN SQL_API SQLBrowseConnectW SQLRETURN SQL_API SQLBrowseConnectW
( (
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cchConnStrIn) SQLWCHAR* szConnStrIn, _In_reads_(cchConnStrIn) SQLWCHAR* szConnStrIn,
SQLSMALLINT cchConnStrIn, SQLSMALLINT cchConnStrIn,
__out_ecount_opt(cchConnStrOutMax) SQLWCHAR* szConnStrOut, _Out_writes_opt_(cchConnStrOutMax) SQLWCHAR* szConnStrOut,
SQLSMALLINT cchConnStrOutMax, SQLSMALLINT cchConnStrOutMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchConnStrOut SQLSMALLINT* pcchConnStrOut
); );
SQLRETURN SQL_API SQLColumnPrivilegesW( SQLRETURN SQL_API SQLColumnPrivilegesW(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName, SQLSMALLINT cchTableName,
__in_ecount_opt(cchColumnName) SQLWCHAR* szColumnName, _In_reads_opt_(cchColumnName) SQLWCHAR* szColumnName,
SQLSMALLINT cchColumnName SQLSMALLINT cchColumnName
); );
SQLRETURN SQL_API SQLGetStmtAttrW( SQLRETURN SQL_API SQLGetStmtAttrW(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValueMax, SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue); SQLINTEGER *pcbValue);
SQLRETURN SQL_API SQLSetStmtAttrW( SQLRETURN SQL_API SQLSetStmtAttrW(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValueMax); SQLINTEGER cbValueMax);
SQLRETURN SQL_API SQLForeignKeysW SQLRETURN SQL_API SQLForeignKeysW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchPkCatalogName) SQLWCHAR* szPkCatalogName, _In_reads_opt_(cchPkCatalogName) SQLWCHAR* szPkCatalogName,
SQLSMALLINT cchPkCatalogName, SQLSMALLINT cchPkCatalogName,
__in_ecount_opt(cchPkSchemaName) SQLWCHAR* szPkSchemaName, _In_reads_opt_(cchPkSchemaName) SQLWCHAR* szPkSchemaName,
SQLSMALLINT cchPkSchemaName, SQLSMALLINT cchPkSchemaName,
__in_ecount_opt(cchPkTableName) SQLWCHAR* szPkTableName, _In_reads_opt_(cchPkTableName) SQLWCHAR* szPkTableName,
SQLSMALLINT cchPkTableName, SQLSMALLINT cchPkTableName,
__in_ecount_opt(cchFkCatalogName) SQLWCHAR* szFkCatalogName, _In_reads_opt_(cchFkCatalogName) SQLWCHAR* szFkCatalogName,
SQLSMALLINT cchFkCatalogName, SQLSMALLINT cchFkCatalogName,
__in_ecount_opt(cchFkSchemaName) SQLWCHAR* szFkSchemaName, _In_reads_opt_(cchFkSchemaName) SQLWCHAR* szFkSchemaName,
SQLSMALLINT cchFkSchemaName, SQLSMALLINT cchFkSchemaName,
__in_ecount_opt(cchFkTableName) SQLWCHAR* szFkTableName, _In_reads_opt_(cchFkTableName) SQLWCHAR* szFkTableName,
SQLSMALLINT cchFkTableName SQLSMALLINT cchFkTableName
); );
SQLRETURN SQL_API SQLNativeSqlW SQLRETURN SQL_API SQLNativeSqlW
( (
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cchSqlStrIn) SQLWCHAR* szSqlStrIn, _In_reads_(cchSqlStrIn) SQLWCHAR* szSqlStrIn,
SQLINTEGER cchSqlStrIn, SQLINTEGER cchSqlStrIn,
__out_ecount_opt(cchSqlStrMax) SQLWCHAR* szSqlStr, _Out_writes_opt_(cchSqlStrMax) SQLWCHAR* szSqlStr,
SQLINTEGER cchSqlStrMax, SQLINTEGER cchSqlStrMax,
SQLINTEGER* pcchSqlStr SQLINTEGER* pcchSqlStr
); );
SQLRETURN SQL_API SQLPrimaryKeysW SQLRETURN SQL_API SQLPrimaryKeysW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName SQLSMALLINT cchTableName
); );
SQLRETURN SQL_API SQLProcedureColumnsW SQLRETURN SQL_API SQLProcedureColumnsW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchProcName) SQLWCHAR* szProcName, _In_reads_opt_(cchProcName) SQLWCHAR* szProcName,
SQLSMALLINT cchProcName, SQLSMALLINT cchProcName,
__in_ecount_opt(cchColumnName) SQLWCHAR* szColumnName, _In_reads_opt_(cchColumnName) SQLWCHAR* szColumnName,
SQLSMALLINT cchColumnName SQLSMALLINT cchColumnName
); );
SQLRETURN SQL_API SQLProceduresW SQLRETURN SQL_API SQLProceduresW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchProcName) SQLWCHAR* szProcName, _In_reads_opt_(cchProcName) SQLWCHAR* szProcName,
SQLSMALLINT cchProcName SQLSMALLINT cchProcName
); );
SQLRETURN SQL_API SQLTablePrivilegesW SQLRETURN SQL_API SQLTablePrivilegesW
( (
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cchCatalogName) SQLWCHAR* szCatalogName, _In_reads_opt_(cchCatalogName) SQLWCHAR* szCatalogName,
SQLSMALLINT cchCatalogName, SQLSMALLINT cchCatalogName,
__in_ecount_opt(cchSchemaName) SQLWCHAR* szSchemaName, _In_reads_opt_(cchSchemaName) SQLWCHAR* szSchemaName,
SQLSMALLINT cchSchemaName, SQLSMALLINT cchSchemaName,
__in_ecount_opt(cchTableName) SQLWCHAR* szTableName, _In_reads_opt_(cchTableName) SQLWCHAR* szTableName,
SQLSMALLINT cchTableName SQLSMALLINT cchTableName
); );
SQLRETURN SQL_API SQLDriversW SQLRETURN SQL_API SQLDriversW
( (
SQLHENV henv, SQLHENV henv,
SQLUSMALLINT fDirection, SQLUSMALLINT fDirection,
__out_ecount_opt(cchDriverDescMax) SQLWCHAR* szDriverDesc, _Out_writes_opt_(cchDriverDescMax) SQLWCHAR* szDriverDesc,
SQLSMALLINT cchDriverDescMax, SQLSMALLINT cchDriverDescMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchDriverDesc, SQLSMALLINT* pcchDriverDesc,
__out_ecount_opt(cchDrvrAttrMax) SQLWCHAR* szDriverAttributes, _Out_writes_opt_(cchDrvrAttrMax) SQLWCHAR* szDriverAttributes,
SQLSMALLINT cchDrvrAttrMax, SQLSMALLINT cchDrvrAttrMax,
__out_opt _Out_opt_
SQLSMALLINT* pcchDrvrAttr SQLSMALLINT* pcchDrvrAttr
); );
// ANSI versions // ANSI versions
#ifdef _WIN64 #ifdef _WIN64
SQLRETURN SQL_API SQLColAttributeA( SQLRETURN SQL_API SQLColAttributeA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLSMALLINT iCol, SQLSMALLINT iCol,
SQLSMALLINT iField, SQLSMALLINT iField,
__out_bcount_opt(cbCharAttrMax) _Out_writes_bytes_opt_(cbCharAttrMax)
SQLPOINTER pCharAttr, SQLPOINTER pCharAttr,
SQLSMALLINT cbCharAttrMax, SQLSMALLINT cbCharAttrMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbCharAttr, SQLSMALLINT *pcbCharAttr,
__out_opt _Out_opt_
SQLLEN *pNumAttr); SQLLEN *pNumAttr);
#else #else
SQLRETURN SQL_API SQLColAttributeA( SQLRETURN SQL_API SQLColAttributeA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLSMALLINT iCol, SQLSMALLINT iCol,
SQLSMALLINT iField, SQLSMALLINT iField,
__out_bcount_opt(cbCharAttrMax) _Out_writes_bytes_opt_(cbCharAttrMax)
SQLPOINTER pCharAttr, SQLPOINTER pCharAttr,
SQLSMALLINT cbCharAttrMax, SQLSMALLINT cbCharAttrMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbCharAttr, SQLSMALLINT *pcbCharAttr,
__out_opt _Out_opt_
SQLPOINTER pNumAttr); SQLPOINTER pNumAttr);
#endif #endif
SQLRETURN SQL_API SQLColAttributesA( SQLRETURN SQL_API SQLColAttributesA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT icol, SQLUSMALLINT icol,
SQLUSMALLINT fDescType, SQLUSMALLINT fDescType,
__out_bcount_opt(cbDescMax) _Out_writes_bytes_opt_(cbDescMax)
SQLPOINTER rgbDesc, SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax, SQLSMALLINT cbDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbDesc, SQLSMALLINT *pcbDesc,
__out_opt _Out_opt_
SQLLEN *pfDesc); SQLLEN *pfDesc);
SQLRETURN SQL_API SQLConnectA( SQLRETURN SQL_API SQLConnectA(
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cbDSN) _In_reads_(cbDSN)
SQLCHAR *szDSN, SQLCHAR *szDSN,
SQLSMALLINT cbDSN, SQLSMALLINT cbDSN,
__in_ecount(cbUID) _In_reads_(cbUID)
SQLCHAR *szUID, SQLCHAR *szUID,
SQLSMALLINT cbUID, SQLSMALLINT cbUID,
__in_ecount(cbAuthStr) _In_reads_(cbAuthStr)
SQLCHAR *szAuthStr, SQLCHAR *szAuthStr,
SQLSMALLINT cbAuthStr); SQLSMALLINT cbAuthStr);
SQLRETURN SQL_API SQLDescribeColA( SQLRETURN SQL_API SQLDescribeColA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT icol, SQLUSMALLINT icol,
__out_ecount_opt(cbColNameMax) _Out_writes_opt_(cbColNameMax)
SQLCHAR *szColName, SQLCHAR *szColName,
SQLSMALLINT cbColNameMax, SQLSMALLINT cbColNameMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbColName, SQLSMALLINT *pcbColName,
__out_opt _Out_opt_
SQLSMALLINT *pfSqlType, SQLSMALLINT *pfSqlType,
__out_opt _Out_opt_
SQLULEN *pcbColDef, SQLULEN *pcbColDef,
__out_opt _Out_opt_
SQLSMALLINT *pibScale, SQLSMALLINT *pibScale,
__out_opt _Out_opt_
SQLSMALLINT *pfNullable); SQLSMALLINT *pfNullable);
SQLRETURN SQL_API SQLErrorA( SQLRETURN SQL_API SQLErrorA(
SQLHENV henv, SQLHENV henv,
SQLHDBC hdbc, SQLHDBC hdbc,
SQLHSTMT hstmt, SQLHSTMT hstmt,
__out_ecount(SQL_SQLSTATE_SIZE + 1) _Out_writes_(SQL_SQLSTATE_SIZE + 1)
SQLCHAR *szSqlState, SQLCHAR *szSqlState,
__out_opt _Out_opt_
SQLINTEGER *pfNativeError, SQLINTEGER *pfNativeError,
__out_ecount_opt(cbErrorMsgMax) _Out_writes_opt_(cbErrorMsgMax)
SQLCHAR *szErrorMsg, SQLCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax, SQLSMALLINT cbErrorMsgMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbErrorMsg); SQLSMALLINT *pcbErrorMsg);
SQLRETURN SQL_API SQLExecDirectA( SQLRETURN SQL_API SQLExecDirectA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbSqlStr) _In_reads_opt_(cbSqlStr)
SQLCHAR *szSqlStr, SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStr); SQLINTEGER cbSqlStr);
SQLRETURN SQL_API SQLGetConnectAttrA( SQLRETURN SQL_API SQLGetConnectAttrA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
__out_xcount_opt(cbValueMax) _Out_writes_opt_(_Inexpressible_(cbValueMax))
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValueMax, SQLINTEGER cbValueMax,
__out_opt _Out_opt_
SQLINTEGER *pcbValue); SQLINTEGER *pcbValue);
SQLRETURN SQL_API SQLGetCursorNameA( SQLRETURN SQL_API SQLGetCursorNameA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__out_ecount_opt(cbCursorMax) _Out_writes_opt_(cbCursorMax)
SQLCHAR *szCursor, SQLCHAR *szCursor,
SQLSMALLINT cbCursorMax, SQLSMALLINT cbCursorMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbCursor); SQLSMALLINT *pcbCursor);
#if (ODBCVER >= 0x0300) #if (ODBCVER >= 0x0300)
SQLRETURN SQL_API SQLGetDescFieldA( SQLRETURN SQL_API SQLGetDescFieldA(
SQLHDESC hdesc, SQLHDESC hdesc,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
SQLSMALLINT iField, SQLSMALLINT iField,
__out_xcount_opt(cbBufferLength) _Out_writes_opt_(_Inexpressible_(cbBufferLength))
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbBufferLength, SQLINTEGER cbBufferLength,
__out_opt _Out_opt_
SQLINTEGER *StringLength); SQLINTEGER *StringLength);
SQLRETURN SQL_API SQLGetDescRecA( SQLRETURN SQL_API SQLGetDescRecA(
SQLHDESC hdesc, SQLHDESC hdesc,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
__out_ecount_opt(cbNameMax) _Out_writes_opt_(cbNameMax)
SQLCHAR *szName, SQLCHAR *szName,
SQLSMALLINT cbNameMax, SQLSMALLINT cbNameMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbName, SQLSMALLINT *pcbName,
__out_opt _Out_opt_
SQLSMALLINT *pfType, SQLSMALLINT *pfType,
__out_opt _Out_opt_
SQLSMALLINT *pfSubType, SQLSMALLINT *pfSubType,
__out_opt _Out_opt_
SQLLEN *pLength, SQLLEN *pLength,
__out_opt _Out_opt_
SQLSMALLINT *pPrecision, SQLSMALLINT *pPrecision,
__out_opt _Out_opt_
SQLSMALLINT *pScale, SQLSMALLINT *pScale,
__out_opt _Out_opt_
SQLSMALLINT *pNullable); SQLSMALLINT *pNullable);
SQLRETURN SQL_API SQLGetDiagFieldA( SQLRETURN SQL_API SQLGetDiagFieldA(
SQLSMALLINT fHandleType, SQLSMALLINT fHandleType,
SQLHANDLE handle, SQLHANDLE handle,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
SQLSMALLINT fDiagField, SQLSMALLINT fDiagField,
__out_xcount_opt(cbDiagInfoMax) _Out_writes_opt_(_Inexpressible_(cbDiagInfoMax))
SQLPOINTER rgbDiagInfo, SQLPOINTER rgbDiagInfo,
SQLSMALLINT cbDiagInfoMax, SQLSMALLINT cbDiagInfoMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbDiagInfo); SQLSMALLINT *pcbDiagInfo);
SQLRETURN SQL_API SQLGetDiagRecA( SQLRETURN SQL_API SQLGetDiagRecA(
SQLSMALLINT fHandleType, SQLSMALLINT fHandleType,
SQLHANDLE handle, SQLHANDLE handle,
SQLSMALLINT iRecord, SQLSMALLINT iRecord,
__out_ecount_opt(6) _Out_writes_opt_(6)
SQLCHAR *szSqlState, SQLCHAR *szSqlState,
SQLINTEGER *pfNativeError, SQLINTEGER *pfNativeError,
__out_ecount_opt(cbErrorMsgMax) _Out_writes_opt_(cbErrorMsgMax)
SQLCHAR *szErrorMsg, SQLCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax, SQLSMALLINT cbErrorMsgMax,
SQLSMALLINT *pcbErrorMsg); SQLSMALLINT *pcbErrorMsg);
SQLRETURN SQL_API SQLGetStmtAttrA( SQLRETURN SQL_API SQLGetStmtAttrA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValueMax, SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue); SQLINTEGER *pcbValue);
#endif #endif
SQLRETURN SQL_API SQLGetTypeInfoA( SQLRETURN SQL_API SQLGetTypeInfoA(
SQLHSTMT StatementHandle, SQLHSTMT StatementHandle,
SQLSMALLINT DataType); SQLSMALLINT DataType);
SQLRETURN SQL_API SQLPrepareA( SQLRETURN SQL_API SQLPrepareA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount(cbSqlStr) _In_reads_(cbSqlStr)
SQLCHAR *szSqlStr, SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStr); SQLINTEGER cbSqlStr);
SQLRETURN SQL_API SQLSetConnectAttrA( SQLRETURN SQL_API SQLSetConnectAttrA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLINTEGER fAttribute, SQLINTEGER fAttribute,
__in_bcount_opt(cbValue) _In_reads_bytes_opt_(cbValue)
SQLPOINTER rgbValue, SQLPOINTER rgbValue,
SQLINTEGER cbValue); SQLINTEGER cbValue);
SQLRETURN SQL_API SQLSetCursorNameA( SQLRETURN SQL_API SQLSetCursorNameA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount(cbCursor) _In_reads_(cbCursor)
SQLCHAR *szCursor, SQLCHAR *szCursor,
SQLSMALLINT cbCursor); SQLSMALLINT cbCursor);
SQLRETURN SQL_API SQLColumnsA( SQLRETURN SQL_API SQLColumnsA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName, SQLSMALLINT cbTableName,
__in_ecount_opt(cbColumnName) _In_reads_opt_(cbColumnName)
SQLCHAR *szColumnName, SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName); SQLSMALLINT cbColumnName);
SQLRETURN SQL_API SQLGetConnectOptionA( SQLRETURN SQL_API SQLGetConnectOptionA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLPOINTER pvParam); SQLPOINTER pvParam);
SQLRETURN SQL_API SQLGetInfoA( SQLRETURN SQL_API SQLGetInfoA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fInfoType, SQLUSMALLINT fInfoType,
__out_bcount_opt(cbInfoValueMax) _Out_writes_bytes_opt_(cbInfoValueMax)
SQLPOINTER rgbInfoValue, SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax, SQLSMALLINT cbInfoValueMax,
__out_opt _Out_opt_
SQLSMALLINT* pcbInfoValue); SQLSMALLINT* pcbInfoValue);
SQLRETURN SQL_API SQLGetStmtOptionA( SQLRETURN SQL_API SQLGetStmtOptionA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLPOINTER pvParam); SQLPOINTER pvParam);
SQLRETURN SQL_API SQLSetConnectOptionA( SQLRETURN SQL_API SQLSetConnectOptionA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLULEN vParam); SQLULEN vParam);
SQLRETURN SQL_API SQLSetStmtOptionA( SQLRETURN SQL_API SQLSetStmtOptionA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT fOption, SQLUSMALLINT fOption,
SQLULEN vParam); SQLULEN vParam);
SQLRETURN SQL_API SQLSpecialColumnsA( SQLRETURN SQL_API SQLSpecialColumnsA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT fColType, SQLUSMALLINT fColType,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName, SQLSMALLINT cbTableName,
SQLUSMALLINT fScope, SQLUSMALLINT fScope,
SQLUSMALLINT fNullable); SQLUSMALLINT fNullable);
SQLRETURN SQL_API SQLStatisticsA( SQLRETURN SQL_API SQLStatisticsA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName, SQLSMALLINT cbTableName,
SQLUSMALLINT fUnique, SQLUSMALLINT fUnique,
SQLUSMALLINT fAccuracy); SQLUSMALLINT fAccuracy);
SQLRETURN SQL_API SQLTablesA( SQLRETURN SQL_API SQLTablesA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName, SQLSMALLINT cbTableName,
__in_ecount_opt(cbTableType) _In_reads_opt_(cbTableType)
SQLCHAR *szTableType, SQLCHAR *szTableType,
SQLSMALLINT cbTableType); SQLSMALLINT cbTableType);
SQLRETURN SQL_API SQLDataSourcesA( SQLRETURN SQL_API SQLDataSourcesA(
SQLHENV henv, SQLHENV henv,
SQLUSMALLINT fDirection, SQLUSMALLINT fDirection,
__out_ecount_opt(cbDSNMax) _Out_writes_opt_(cbDSNMax)
SQLCHAR *szDSN, SQLCHAR *szDSN,
SQLSMALLINT cbDSNMax, SQLSMALLINT cbDSNMax,
SQLSMALLINT *pcbDSN, SQLSMALLINT *pcbDSN,
__out_ecount_opt(cbDescriptionMax) _Out_writes_opt_(cbDescriptionMax)
SQLCHAR *szDescription, SQLCHAR *szDescription,
SQLSMALLINT cbDescriptionMax, SQLSMALLINT cbDescriptionMax,
SQLSMALLINT *pcbDescription); SQLSMALLINT *pcbDescription);
SQLRETURN SQL_API SQLDriverConnectA( SQLRETURN SQL_API SQLDriverConnectA(
SQLHDBC hdbc, SQLHDBC hdbc,
SQLHWND hwnd, SQLHWND hwnd,
__in_ecount(cbConnStrIn) _In_reads_(cbConnStrIn)
SQLCHAR *szConnStrIn, SQLCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn, SQLSMALLINT cbConnStrIn,
__out_ecount_opt(cbConnStrOutMax) _Out_writes_opt_(cbConnStrOutMax)
SQLCHAR *szConnStrOut, SQLCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax, SQLSMALLINT cbConnStrOutMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbConnStrOut, SQLSMALLINT *pcbConnStrOut,
SQLUSMALLINT fDriverCompletion); SQLUSMALLINT fDriverCompletion);
SQLRETURN SQL_API SQLBrowseConnectA( SQLRETURN SQL_API SQLBrowseConnectA(
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cbConnStrIn) _In_reads_(cbConnStrIn)
SQLCHAR *szConnStrIn, SQLCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn, SQLSMALLINT cbConnStrIn,
__out_ecount_opt(cbConnStrOutMax) _Out_writes_opt_(cbConnStrOutMax)
SQLCHAR *szConnStrOut, SQLCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax, SQLSMALLINT cbConnStrOutMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbConnStrOut); SQLSMALLINT *pcbConnStrOut);
SQLRETURN SQL_API SQLColumnPrivilegesA( SQLRETURN SQL_API SQLColumnPrivilegesA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName, SQLSMALLINT cbTableName,
__in_ecount_opt(cbColumnName) _In_reads_opt_(cbColumnName)
SQLCHAR *szColumnName, SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName); SQLSMALLINT cbColumnName);
SQLRETURN SQL_API SQLDescribeParamA( SQLRETURN SQL_API SQLDescribeParamA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
SQLUSMALLINT ipar, SQLUSMALLINT ipar,
__out_opt _Out_opt_
SQLSMALLINT *pfSqlType, SQLSMALLINT *pfSqlType,
__out_opt _Out_opt_
SQLUINTEGER *pcbParamDef, SQLUINTEGER *pcbParamDef,
__out_opt _Out_opt_
SQLSMALLINT *pibScale, SQLSMALLINT *pibScale,
__out_opt _Out_opt_
SQLSMALLINT *pfNullable); SQLSMALLINT *pfNullable);
SQLRETURN SQL_API SQLForeignKeysA( SQLRETURN SQL_API SQLForeignKeysA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbPkCatalogName) _In_reads_opt_(cbPkCatalogName)
SQLCHAR *szPkCatalogName, SQLCHAR *szPkCatalogName,
SQLSMALLINT cbPkCatalogName, SQLSMALLINT cbPkCatalogName,
__in_ecount_opt(cbPkSchemaName) _In_reads_opt_(cbPkSchemaName)
SQLCHAR *szPkSchemaName, SQLCHAR *szPkSchemaName,
SQLSMALLINT cbPkSchemaName, SQLSMALLINT cbPkSchemaName,
__in_ecount_opt(cbPkTableName) _In_reads_opt_(cbPkTableName)
SQLCHAR *szPkTableName, SQLCHAR *szPkTableName,
SQLSMALLINT cbPkTableName, SQLSMALLINT cbPkTableName,
__in_ecount_opt(cbFkCatalogName) _In_reads_opt_(cbFkCatalogName)
SQLCHAR *szFkCatalogName, SQLCHAR *szFkCatalogName,
SQLSMALLINT cbFkCatalogName, SQLSMALLINT cbFkCatalogName,
__in_ecount_opt(cbFkSchemaName) _In_reads_opt_(cbFkSchemaName)
SQLCHAR *szFkSchemaName, SQLCHAR *szFkSchemaName,
SQLSMALLINT cbFkSchemaName, SQLSMALLINT cbFkSchemaName,
__in_ecount_opt(cbFkTableName) _In_reads_opt_(cbFkTableName)
SQLCHAR *szFkTableName, SQLCHAR *szFkTableName,
SQLSMALLINT cbFkTableName); SQLSMALLINT cbFkTableName);
SQLRETURN SQL_API SQLNativeSqlA( SQLRETURN SQL_API SQLNativeSqlA(
SQLHDBC hdbc, SQLHDBC hdbc,
__in_ecount(cbSqlStrIn) _In_reads_(cbSqlStrIn)
SQLCHAR *szSqlStrIn, SQLCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn, SQLINTEGER cbSqlStrIn,
__out_ecount_opt(cbSqlStrMax) _Out_writes_opt_(cbSqlStrMax)
SQLCHAR *szSqlStr, SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStrMax, SQLINTEGER cbSqlStrMax,
SQLINTEGER *pcbSqlStr); SQLINTEGER *pcbSqlStr);
SQLRETURN SQL_API SQLPrimaryKeysA( SQLRETURN SQL_API SQLPrimaryKeysA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName); SQLSMALLINT cbTableName);
SQLRETURN SQL_API SQLProcedureColumnsA( SQLRETURN SQL_API SQLProcedureColumnsA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbProcName) _In_reads_opt_(cbProcName)
SQLCHAR *szProcName, SQLCHAR *szProcName,
SQLSMALLINT cbProcName, SQLSMALLINT cbProcName,
__in_ecount_opt(cbColumnName) _In_reads_opt_(cbColumnName)
SQLCHAR *szColumnName, SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName); SQLSMALLINT cbColumnName);
SQLRETURN SQL_API SQLProceduresA( SQLRETURN SQL_API SQLProceduresA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbProcName) _In_reads_opt_(cbProcName)
SQLCHAR *szProcName, SQLCHAR *szProcName,
SQLSMALLINT cbProcName); SQLSMALLINT cbProcName);
SQLRETURN SQL_API SQLTablePrivilegesA( SQLRETURN SQL_API SQLTablePrivilegesA(
SQLHSTMT hstmt, SQLHSTMT hstmt,
__in_ecount_opt(cbCatalogName) _In_reads_opt_(cbCatalogName)
SQLCHAR *szCatalogName, SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName, SQLSMALLINT cbCatalogName,
__in_ecount_opt(cbSchemaName) _In_reads_opt_(cbSchemaName)
SQLCHAR *szSchemaName, SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName, SQLSMALLINT cbSchemaName,
__in_ecount_opt(cbTableName) _In_reads_opt_(cbTableName)
SQLCHAR *szTableName, SQLCHAR *szTableName,
SQLSMALLINT cbTableName); SQLSMALLINT cbTableName);
SQLRETURN SQL_API SQLDriversA( SQLRETURN SQL_API SQLDriversA(
SQLHENV henv, SQLHENV henv,
SQLUSMALLINT fDirection, SQLUSMALLINT fDirection,
__out_ecount_opt(cbDriverDescMax) _Out_writes_opt_(cbDriverDescMax)
SQLCHAR *szDriverDesc, SQLCHAR *szDriverDesc,
SQLSMALLINT cbDriverDescMax, SQLSMALLINT cbDriverDescMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbDriverDesc, SQLSMALLINT *pcbDriverDesc,
__out_ecount_opt(cbDrvrAttrMax) _Out_writes_opt_(cbDrvrAttrMax)
SQLCHAR *szDriverAttributes, SQLCHAR *szDriverAttributes,
SQLSMALLINT cbDrvrAttrMax, SQLSMALLINT cbDrvrAttrMax,
__out_opt _Out_opt_
SQLSMALLINT *pcbDrvrAttr); SQLSMALLINT *pcbDrvrAttr);
//--------------------------------------------- //---------------------------------------------
// Mapping macros for Unicode // Mapping macros for Unicode
//--------------------------------------------- //---------------------------------------------
#ifndef SQL_NOUNICODEMAP // define this to disable the mapping #ifndef SQL_NOUNICODEMAP // define this to disable the mapping
#ifdef UNICODE #ifdef UNICODE
#define SQLColAttribute SQLColAttributeW #define SQLColAttribute SQLColAttributeW
#define SQLColAttributes SQLColAttributesW #define SQLColAttributes SQLColAttributesW
skipping to change at line 953 skipping to change at line 958
#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 /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* #ifndef __SQLUCODE */ #endif /* #ifndef __SQLUCODE */
 End of changes. 200 change blocks. 
200 lines changed or deleted 208 lines changed or added

This html diff was produced by rfcdiff 1.41.