本文整理汇总了C++中CInterface::r_buffer方法的典型用法代码示例。如果您正苦于以下问题:C++ CInterface::r_buffer方法的具体用法?C++ CInterface::r_buffer怎么用?C++ CInterface::r_buffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CInterface
的用法示例。
在下文中一共展示了CInterface::r_buffer方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: decodeParameters
void
MONITORCALL_IOMessage(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
)
{
CInterface* pnode = (CInterface*)objtag_;
CEE_status sts = CEE_SUCCESS;
CEE_status retcode;
DIALOGUE_ID_def dialogueId;
long* param[1];
retcode = decodeParameters(1, param, pnode->r_buffer(), pnode->r_buffer_length());
if (retcode != CEE_SUCCESS)
{
//LCOV_EXCL_START
strcpy( errStrBuf2, "odbcs_srvr.cpp");
strcpy( errStrBuf3, "SRVR-MONITORCALL_IOMessage");
strcpy( errStrBuf4, "buffer overflow");
sprintf( errStrBuf5, "retcode <%d>", retcode);
logError( PROGRAM_ERROR, SEVERITY_MAJOR, CAPTURE_ALL + PROCESS_STOP );
exit(1000);
//LCOV_EXCL_STOP
}
dialogueId = *(IDL_long*)param[0];
odbc_SQLSvc_MonitorCall_ame_(
objtag_
, call_id_
, dialogueId
);
}
示例2: sizeof
void
SQLENDTRAN_IOMessage(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
)
{
CInterface* pnode = (CInterface*)objtag_;
CEE_status sts = CEE_SUCCESS;
CEE_status retcode;
IDL_char *curptr;
IDL_long inputPosition = 0;
DIALOGUE_ID_def dialogueId;
IDL_unsigned_short transactionOpt;
curptr = pnode->r_buffer();
dialogueId = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(dialogueId);
transactionOpt = *(IDL_unsigned_short*)(curptr+inputPosition);
inputPosition += sizeof(transactionOpt);
odbc_SQLSrvr_EndTransaction_ame_(
objtag_
, call_id_
, dialogueId
, transactionOpt);
} // SQLENDTRAN_IOMessage()
示例3:
void
SQLDISCONNECT_IOMessage(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
)
{
CInterface* pnode = (CInterface*)objtag_;
CEE_status sts = CEE_SUCCESS;
CEE_status retcode;
char *curptr;
DIALOGUE_ID_def dialogueId;
curptr = pnode->r_buffer();
// Copy 1st Parameter
// copy dailogueId
dialogueId = *(IDL_long *)(curptr);
odbc_SQLSvc_TerminateDialogue_ame_(
objtag_
, call_id_
, dialogueId
);
}
示例4: if
void
SQLEXECUTE_IOMessage(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
, /* In */ short operation_id
)
{
CInterface* pnode = (CInterface*)objtag_;
CEE_status sts = CEE_SUCCESS;
CEE_status retcode;
IDL_char *curptr;
IDL_unsigned_long i;
DIALOGUE_ID_def dialogueId = 0;
IDL_long sqlAsyncEnable = 0;
IDL_long queryTimeout = 0;
IDL_long inputRowCnt = 0;
IDL_long maxRowsetSize = 0;
IDL_long sqlStmtType = 0;
Long stmtHandle = 0;
IDL_long stmtHandleKey = 0;
IDL_long stmtType = 0;
IDL_long sqlStringLength = 0;
IDL_string sqlString = NULL;
IDL_long sqlStringCharset = 0;
IDL_long cursorLength = 0;
IDL_string cursorName = NULL;
IDL_long cursorCharset = 0;
IDL_long stmtLength = 0;
IDL_char *stmtLabel = NULL;
IDL_long stmtLabelCharset = 0;
IDL_long stmtExplainLabelLength = 0;
IDL_string stmtExplainLabel = NULL;
IDL_long inValuesLength = 0;
BYTE *inValues = NULL;
IDL_long transactionIDLength = 0; // JDBC is the only one that will use this to join a transaction
IDL_long_long transactionID = 0; // JDBC is the only one that will use this to join a transaction
IDL_long holdableCursor = SQL_NONHOLDABLE; //default
IDL_long inputPosition = 0;
IDL_short ix;
curptr = pnode->r_buffer();
dialogueId = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(dialogueId);
// to support SAP holdable cursor, the driver overload this field with the value of holdableCursor
// currently the sqlAsyncEnable is not used.
//sqlAsyncEnable = *(IDL_long*)(curptr+inputPosition);
holdableCursor = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(sqlAsyncEnable);
queryTimeout = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(queryTimeout);
inputRowCnt = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(inputRowCnt);
maxRowsetSize = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(maxRowsetSize);
sqlStmtType = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(sqlStmtType);
stmtHandleKey = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(IDL_long);
stmtHandle = 0;
if( stmtHandleKey > 0 )
stmtHandle = srvrGlobal->stmtHandleMap[stmtHandleKey];
stmtType = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(stmtType);
sqlStringLength = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(sqlStringLength);
if (sqlStringLength > 0)
{
sqlString = curptr+inputPosition;
inputPosition += sqlStringLength;
sqlStringCharset = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(sqlStringCharset);
}
cursorLength = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(cursorLength);
if (cursorLength > 0)
{
cursorName = curptr+inputPosition;
inputPosition += cursorLength;
cursorCharset = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(cursorCharset);
}
stmtLength = *(IDL_long*)(curptr+inputPosition);
inputPosition += sizeof(stmtLength);
if (stmtLength > 0)
//.........这里部分代码省略.........