📄 srv.h
字号:
// return value of SRV_TDSVERSION macro
#define SRV_TDS_NONE 0
#define SRV_TDS_2_0 1
#define SRV_TDS_3_4 2
#define SRV_TDS_4_2 3
#define SRV_TDS_6_0 4
#define SRV_TDS_7_0 5
// Return values from APIs
typedef int SRVRETCODE; // SUCCEED or FAIL
#ifndef ODBCVER
typedef int RETCODE;
#endif
#if !defined( SUCCEED )
#define SUCCEED 1 // Successful return value
#endif
#if !defined( FAIL )
#define FAIL 0 // Unsuccessful return value
#endif
#define SRV_DUPLICATE_HANDLER 2 // additional return value for srv_pre/post_handle
//------------------------------------------------
//PreDeclare structures
//
struct srv_server;
typedef struct srv_server SRV_SERVER;
struct srv_config;
typedef struct srv_config SRV_CONFIG;
struct srv_proc;
typedef struct srv_proc SRV_PROC;
//------------------------------------------------
//------------------------------------------------
// ODS MACROs & APIs
// Describing and sending a result set
int srv_describe(SRV_PROC*,int,char*,int,long int,long int,long int,long int,void*);
int srv_setutype(SRV_PROC* srvproc,int column,long int usertype);
int srv_setcoldata(SRV_PROC* srvproc,int column,void* data);
int srv_setcollen( SRV_PROC* srvproc,int column,int len);
int srv_sendrow(SRV_PROC* srvproc );
int srv_senddone(SRV_PROC* srvproc,USHORT status,USHORT curcmd,long int count);
// Dealing with Extended Procedure parameters
int srv_rpcparams(SRV_PROC*);
int srv_paraminfo(SRV_PROC*,int,BYTE*,ULONG*,ULONG*,BYTE*,BOOL*);
int srv_paramsetoutput(SRV_PROC*,int,BYTE*,ULONG,BOOL);
void* srv_paramdata(SRV_PROC*,int);
int srv_paramlen(SRV_PROC*,int);
int srv_parammaxlen(SRV_PROC*,int);
int srv_paramtype(SRV_PROC*,int);
int srv_paramset(SRV_PROC*,int,void*,int);
char* srv_paramname(SRV_PROC*,int,int*);
int srv_paramnumber(SRV_PROC*,char*,int);
//--------------------------------------------------------------
//--------------------------------------------------------------
// The rest of these APIs are still supported, in SQL Server 7.0,
// but may not be supported after SQL Server 7.0
// MACROs
#define SRV_GETCONFIG(a) srv_getconfig ( a )
#define SRV_GETSERVER(a) srv_getserver ( a )
#define SRV_GOT_ATTENTION(a) srv_got_attention ( a )
#define SRV_EVENTDATA(a) srv_eventdata ( a )
#define SRV_IODEAD(a) srv_iodead ( a )
#define SRV_TDSVERSION(a) srv_tdsversion ( a )
SRV_CONFIG* srv_getconfig( SRV_SERVER * server );
SRV_SERVER* srv_getserver( SRV_PROC * srvproc );
BOOL srv_got_attention( SRV_PROC * srvproc );
void* srv_eventdata( SRV_PROC * srvproc );
// Memory
void* srv_alloc(long int ulSize);
int srv_bmove(void* from,void* to,long int count);
int srv_bzero( void * location,long int count);
int srv_free( void * ptr );
int srv_config( SRV_CONFIG * config,long int option,char* value,int valuelen);
SRV_CONFIG * srv_config_alloc( void );
int srv_convert(SRV_PROC*,int,void*,long int,int,void*,long int);
int (* srv_errhandle(int (* handler)(SRV_SERVER * server,
SRV_PROC * srvproc,
int srverror,
BYTE severity,
BYTE state,
int oserrnum,
char * errtext,
int errtextlen,
char * oserrtext,
int oserrtextlen)))
( SRV_SERVER * server,
SRV_PROC * srvproc,
int srverror,
BYTE severity,
BYTE state,
int oserrnum,
char * errtext,
int errtextlen,
char * oserrtext,
int oserrtextlen );
int srv_event(SRV_PROC * srvproc,int event,BYTE* data);
void* srv_getuserdata( SRV_PROC * srvproc );
int srv_getbindtoken(SRV_PROC * srvproc,char* token_buf);
int srv_getdtcxact(SRV_PROC * srvproc,void ** ppv);
typedef int (* EventHandler)(void*);
EventHandler srv_handle(SRV_SERVER*,long int,EventHandler);
int srv_impersonate_client( SRV_PROC * srvproc );
SRV_SERVER* srv_init( SRV_CONFIG * config,
char * connectname,
int namelen );
BOOL srv_iodead( SRV_PROC * srvproc );
long srv_langcpy(SRV_PROC * srvproc,long start,long nbytes,char* buffer);
long srv_langlen( SRV_PROC * srvproc );
void* srv_langptr( SRV_PROC *srvproc );
int
srv_log( SRV_SERVER * server,
BOOL datestamp,
char * msg,
int msglen );
int srv_paramstatus(SRV_PROC*,int);
char* srv_pfield( SRV_PROC * srvproc,int field,int * len );
int srv_returnval( SRV_PROC * srvproc,
char * valuename,
int len,
BYTE status,
long int type,
long int maxlen,
long int datalen,
void * value );
int srv_revert_to_self( SRV_PROC * srvproc );
char* srv_rpcdb(SRV_PROC* srvproc,int* len );
char* srv_rpcname(SRV_PROC * srvproc,int* len );
int srv_rpcnumber( SRV_PROC * srvproc );
USHORT srv_rpcoptions( SRV_PROC * srvproc );
char* srv_rpcowner( SRV_PROC * srvproc,int * len );
int srv_run( SRV_SERVER * server );
int
srv_sendmsg( SRV_PROC * srvproc,
int msgtype,
long int msgnum,
BYTE msgclass,
BYTE state,
char * rpcname,
int rpcnamelen,
USHORT linenum,
char * message,
int msglen );
int
srv_ansi_sendmsg( SRV_PROC * srvproc,
int msgtype,
long int msgnum,
BYTE msgclass,
BYTE state,
char * rpcname,
int rpcnamelen,
USHORT linenum,
char * message,
int msglen );
int srv_sendstatus( SRV_PROC * srvproc,long int status );
int srv_setuserdata(SRV_PROC* srvproc,void* ptr);
char* srv_sfield( SRV_SERVER * server,int field,int* len);
char* srv_symbol(int type,int symbol,int* len);
int srv_tdsversion(SRV_PROC* srvproc);
int srv_writebuf(SRV_PROC* srvproc, void* ptr, WORD count);
BOOL srv_willconvert(int srctype,int desttype );
void srv_ackattention( SRV_PROC * srvproc );
int srv_terminatethread( SRV_PROC * srvproc );
int srv_sendstatistics( SRV_PROC * srvproc );
int srv_clearstatistics( SRV_PROC * srvproc );
int srv_setevent( SRV_SERVER * server, int event);
int srv_message_handler( SRV_PROC * srvproc,
int errornum,
BYTE severity,
BYTE state,
int oserrnum,
char * errtext,
int errtextlen,
char * oserrtext,
int oserrtextlen );
int srv_pre_handle( SRV_SERVER * server,
SRV_PROC * srvproc,
long int event,
EventHandler handler,
BOOL remove );
int srv_post_handle( SRV_SERVER * server,
SRV_PROC * srvproc,
long int event,
EventHandler handler,
BOOL remove );
int srv_post_completion_queue( SRV_PROC * srvproc,
char * inbuf,
int inbuflen );
int srv_IgnoreAnsiToOem( SRV_PROC * srvproc,BOOL bTF);
#ifdef __cplusplus
}
#endif
#pragma pack()
#define SS_MAJOR_VERSION 7
#define SS_MINOR_VERSION 00
#define SS_LEVEL_VERSION 0000
#define SS_MINIMUM_VERSION "7.00.00.0000"
#define ODS_VERSION ((SS_MAJOR_VERSION << 24) | (SS_MINOR_VERSION << 16))
#pragma option pop /*P_O_Pop*/
#endif //_ODS_SRV_H_
//////////////////////////////////////////////////////////////////
// Suggested implementation of __GetXpVersion
//
//__declspec(dllexport) ULONG __GetXpVersion()
// {
// return ODS_VERSION;
// }
//////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -