|
|
/*++
Copyright (c) 1995-1996 Microsoft Corporation
Module Name :
dynodbc.h
Abstract: This header declares functions for dynamically loading ODBC.
Author:
Murali R. Krishnan ( MuraliK ) 3-Nov-1995
Environment: Win32 -- User Mode
Project:
HTTPODBC
Revision History:
--*/
# ifndef _DYNODBC_H_
# define _DYNODBC_H_
/************************************************************
* Include Headers ************************************************************/
//
// SQL-ODBC interface headers
//
#include "sql.h"
#include "sqlext.h"
#include "sqltypes.h"
/************************************************************
* Dynamic Load support ************************************************************/
BOOL DynLoadODBC( VOID );
//
// Prototypes form sql.h
//
typedef RETCODE ( SQL_API * pfnSQLAllocConnect )( HENV henv, HDBC FAR * phdbc );
typedef RETCODE ( SQL_API * pfnSQLAllocEnv )( HENV FAR * phenv );
typedef RETCODE ( SQL_API * pfnSQLAllocStmt )( HDBC hdbc, HSTMT FAR * phstmt );
typedef RETCODE ( SQL_API * pfnSQLBindCol )( HSTMT hstmt, UWORD icol, SWORD fCType, PTR rgbValue, SDWORD cbValueMax, SDWORD FAR *pcbValue );
typedef RETCODE ( SQL_API * pfnSQLCancel )( HSTMT hstmt );
typedef RETCODE ( SQL_API * pfnSQLColAttributes )( HSTMT hstmt, UWORD icol, UWORD fDescType, PTR rgbDesc, SWORD cbDescMax, SWORD FAR *pcbDesc, SDWORD FAR *pfDesc );
typedef RETCODE ( SQL_API * pfnSQLConnect )( HDBC hdbc, UCHAR FAR *szDSN, SWORD cbDSN, UCHAR FAR *szUID, SWORD cbUID, UCHAR FAR *szAuthStr, SWORD cbAuthStr );
typedef RETCODE ( SQL_API * pfnSQLDescribeCol )( HSTMT hstmt, UWORD icol, UCHAR FAR *szColName, SWORD cbColNameMax, SWORD FAR *pcbColName, SWORD FAR *pfSqlType, UDWORD FAR *pcbColDef, SWORD FAR *pibScale, SWORD FAR *pfNullable );
typedef RETCODE ( SQL_API * pfnSQLDisconnect )( HDBC hdbc );
typedef RETCODE ( SQL_API * pfnSQLError )( HENV henv, HDBC hdbc, HSTMT hstmt, UCHAR FAR *szSqlState, SDWORD FAR *pfNativeError, UCHAR FAR *szErrorMsg, SWORD cbErrorMsgMax, SWORD FAR *pcbErrorMsg );
typedef RETCODE ( SQL_API * pfnSQLExecDirect )( HSTMT hstmt, UCHAR FAR *szSqlStr, SDWORD cbSqlStr );
typedef RETCODE ( SQL_API * pfnSQLExecute )( HSTMT hstmt );
typedef RETCODE ( SQL_API * pfnSQLFetch )( HSTMT hstmt );
typedef RETCODE ( SQL_API * pfnSQLFreeConnect )( HDBC hdbc );
typedef RETCODE ( SQL_API * pfnSQLFreeEnv )( HENV henv );
typedef RETCODE ( SQL_API * pfnSQLFreeStmt )( HSTMT hstmt, UWORD fOption );
typedef RETCODE ( SQL_API * pfnSQLGetCursorName )( HSTMT hstmt, UCHAR FAR *szCursor, SWORD cbCursorMax, SWORD FAR *pcbCursor );
typedef RETCODE ( SQL_API * pfnSQLNumResultCols )( HSTMT hstmt, SWORD FAR *pccol );
typedef RETCODE ( SQL_API * pfnSQLPrepare )( HSTMT hstmt, UCHAR FAR *szSqlStr, SDWORD cbSqlStr );
typedef RETCODE ( SQL_API * pfnSQLRowCount )( HSTMT hstmt, SDWORD FAR *pcrow );
typedef RETCODE ( SQL_API * pfnSQLSetCursorName )( HSTMT hstmt, UCHAR FAR *szCursor, SWORD cbCursor );
typedef RETCODE ( SQL_API * pfnSQLTransact )( HENV henv, HDBC hdbc, UWORD fType );
//
// Prototypes form sqlext.h
//
// Change to new prototype to get rid of 64-bit compile error
typedef RETCODE ( SQL_API * pfnSQLSetConnectOption )( HDBC hdbc, UWORD fOption, SQLULEN vParam );
typedef RETCODE ( SQL_API * pfnSQLDrivers )( HENV henv, UWORD fDirection, UCHAR FAR *szDriverDesc, SWORD cbDriverDescMax, SWORD FAR *pcbDriverDesc, UCHAR FAR *szDriverAttributes, SWORD cbDrvrAttrMax, SWORD FAR *pcbDrvrAttr );
typedef RETCODE ( SQL_API * pfnSQLBindParameter )( HSTMT hstmt, UWORD ipar, SWORD fParamType, SWORD fCType, SWORD fSqlType, UDWORD cbColDef, SWORD ibScale, PTR rgbValue, SDWORD cbValueMax, SDWORD FAR *pcbValue );
typedef RETCODE ( SQL_API * pfnSQLDataSources )( HENV henv, UWORD fDirection, UCHAR FAR *szDSN, SWORD cbDSNMax, SWORD FAR *pcbDSN, UCHAR FAR *szDescription, SWORD cbDescriptionMax, SWORD FAR *pcbDescription );
typedef RETCODE ( SQL_API * pfnSQLGetInfo )( HDBC hdbc, UWORD fInfoType, PTR rgbInfoValue, SWORD cbInfoValueMax, SWORD FAR *pcbInfoValue );
typedef RETCODE ( SQL_API * pfnSQLMoreResults )( HSTMT hstmt );
/************************************************************
* Variables ************************************************************/
//
// ODBC DLL Entry Points, fill by calling LoadODBC
//
extern pfnSQLAllocConnect pSQLAllocConnect ; extern pfnSQLAllocEnv pSQLAllocEnv ; extern pfnSQLAllocStmt pSQLAllocStmt ; extern pfnSQLBindCol pSQLBindCol ; extern pfnSQLCancel pSQLCancel ; extern pfnSQLColAttributes pSQLColAttributes ; extern pfnSQLConnect pSQLConnect ; extern pfnSQLDescribeCol pSQLDescribeCol ; extern pfnSQLDisconnect pSQLDisconnect ; extern pfnSQLError pSQLError ; extern pfnSQLExecDirect pSQLExecDirect ; extern pfnSQLExecute pSQLExecute ; extern pfnSQLFetch pSQLFetch ; extern pfnSQLFreeConnect pSQLFreeConnect ; extern pfnSQLFreeEnv pSQLFreeEnv ; extern pfnSQLFreeStmt pSQLFreeStmt ; extern pfnSQLGetCursorName pSQLGetCursorName ; extern pfnSQLNumResultCols pSQLNumResultCols ; extern pfnSQLPrepare pSQLPrepare ; extern pfnSQLRowCount pSQLRowCount ; extern pfnSQLSetCursorName pSQLSetCursorName ; extern pfnSQLTransact pSQLTransact ;
extern pfnSQLSetConnectOption pSQLSetConnectOption; extern pfnSQLDrivers pSQLDrivers ; extern pfnSQLDataSources pSQLDataSources ; extern pfnSQLBindParameter pSQLBindParameter ;
extern pfnSQLGetInfo pSQLGetInfo ; extern pfnSQLMoreResults pSQLMoreResults ;
# endif // _DYNODBC_H_
|