Dialog* Dialog::createDialogByScript( const char* dialogName ) { char tempBuf[256]; Tcl_Interp* interp = GetScriptManager().getInterp(); StringCchPrintfA( tempBuf, 256, "%s::region", dialogName ); TileRegion region; GetScriptManager().readRect( tempBuf, region ); StringCchPrintfA( tempBuf, 256, "%s::dialog", dialogName ); Tcl_Obj* dialogObj = GetScriptManager().getObject( tempBuf ); int dialogTokenCount; Tcl_ListObjLength( interp, dialogObj, &dialogTokenCount ); UINT speakCount = dialogTokenCount / 2; Dialog::Speak* speakArray = new Dialog::Speak[ speakCount ]; UINT i; for ( i = 0; i < speakCount; ++i ) { Tcl_Obj* elem; int length; Tcl_ListObjIndex( interp, dialogObj, i*2 + 0, &elem ); speakArray[ i ].name = Tcl_GetStringFromObj( elem, &length ); Tcl_ListObjIndex( interp, dialogObj, i*2 + 1, &elem ); speakArray[ i ].content = Tcl_GetStringFromObj( elem, &length ); } StringCchPrintfA( tempBuf, 256, "%s::oneTime", dialogName ); int oneTime = GetScriptManager().readInt( tempBuf ); return new Dialog( speakArray, speakCount, ®ion, oneTime?true:false, dialogName ); }
HRESULT World::init() { HRESULT hr = S_OK; if ( GetG().m_videoMan->GetDev() ) loadWorldModel(); char command[128]; StringCchPrintfA( command, 128, "%s::init 0x%p", m_worldName.c_str(), this ); GetScriptManager().execute( command ); if ( !m_sound ) { m_sound = new Sound; m_sound->init(); } else throw std::runtime_error( "Sound should not be init twice or more" ); // 'enter' function implemented in the script file defines which characters are exist in this world char scriptCommand[128]; StringCchPrintfA( scriptCommand, 128, "%s::enter", m_worldName.c_str() ); GetScriptManager().execute( scriptCommand ); // Hero and enemies are defined afterwards // CAUTION To be set by RakNet ReplicaManager assert( m_heroUnit ); m_curDialog = 0; return hr; }
ULONG GetSockOptDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_GETSOCKOPT Data; CHAR Value[MAX_PATH]; if (Record->ProbeOrdinal != _getsockopt) { return S_FALSE; } Data = (PSK_GETSOCKOPT)Record->Data; if (Data->optname == SO_LINGER) { StringCchPrintfA(Value, MAX_PATH, "%d:%d", Data->OptionValue[0], Data->OptionValue[1]); } else if (Data->OptionLength <= sizeof(int)) { StringCchPrintfA(Value, MAX_PATH, "%d", *(int *)&Data->OptionValue[0]); } else { Value[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, level=%d, optname=%d, optval=0x%p (%S), optlen=0x%p (%d), return=%d, LastErrorStatus=0x%08x", Data->sk, Data->level, Data->optname, Data->optval, Value, Data->optlen, Data->OptionLength, Data->ReturnValue, Data->Status); return S_OK; }
/******************************************************************* Dutil_Trace *******************************************************************/ extern "C" void DAPI Dutil_Trace( __in LPCSTR szFile, __in int iLine, __in REPORT_LEVEL rl, __in LPCSTR szFormat, ... ) { AssertSz(REPORT_NONE != rl, "REPORT_NONE is not a valid tracing level"); HRESULT hr = S_OK; char szOutput[DUTIL_STRING_BUFFER]; char szMsg[DUTIL_STRING_BUFFER]; if (Dutil_rlCurrentTrace < rl) return; va_list args; va_start(args, szFormat); hr = StringCchVPrintfA(szOutput, countof(szOutput), szFormat, args); va_end(args); if (SUCCEEDED(hr)) { LPCSTR szPrefix = "Trace/u"; char szMsg[DUTIL_STRING_BUFFER]; switch (rl) { case REPORT_STANDARD: szPrefix = "Trace/s"; break; case REPORT_VERBOSE: szPrefix = "Trace/v"; break; case REPORT_DEBUG: szPrefix = "Trace/d"; break; } if (Dutil_fTraceFilenames) hr = StringCchPrintfA(szMsg, countof(szMsg), "%s [%s,%d]: %s\r\n", szPrefix, szFile, iLine, szOutput); else hr = StringCchPrintfA(szMsg, countof(szMsg), "%s: %s\r\n", szPrefix, szOutput); if (SUCCEEDED(hr)) OutputDebugStringA(szMsg); // else fall through to the case below } if (FAILED(hr)) { if (Dutil_fTraceFilenames) StringCchPrintfA(szMsg, countof(szMsg), "Trace [%s,%d]: message too long, skipping\r\n", szFile, iLine); else StringCchPrintfA(szMsg, countof(szMsg), "Trace: message too long, skipping\r\n"); OutputDebugStringA(szMsg); } }
void IsModuleLoaded(PCTSTR pszModuleName) { HMODULE hmod = GetModuleHandle(pszModuleName); char sz[100]; #ifdef UNICODE StringCchPrintfA(sz, _countof(sz), "Module \"%S\" is %Sloaded.", pszModuleName, (hmod == NULL) ? L"not " : L""); #else StringCchPrintfA(sz, _countof(sz), "Module \"%s\" is %sloaded.", pszModuleName, (hmod == NULL) ? "not " : ""); #endif chMB(sz); }
ULONG GetSockNameDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_GETSOCKNAME Data; CHAR Address[MAX_PATH]; if (Record->ProbeOrdinal != _getsockname) { return S_FALSE; } Data = (PSK_GETSOCKNAME)Record->Data; if (Data->name) { StringCchPrintfA(Address, MAX_PATH - 1, "%S:%d", inet_ntoa(Data->Name.sin_addr), ntohs(Data->Name.sin_port)); } else { Address[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, name=0x%p (%S), namelen=0x%p (%d), return=%d, LastErrorStatus=0x%08x", Data->sk, Data->name, Address, Data->namelen, Data->NameLength, Data->ReturnValue, Data->Status); return S_OK; }
ULONG GetHostByAddrDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_GETHOSTBYADDR Data; CHAR Host[MAX_PATH]; IN_ADDR addr; if (Record->ProbeOrdinal != _gethostbyaddr) { return S_FALSE; } Data = (PSK_GETHOSTBYADDR)Record->Data; addr.s_addr = *(u_long *)Data->Host.h_addr_list[0]; StringCchPrintfA(Host, MAX_PATH, "%s:%s", Data->Host.h_name, inet_ntoa(addr)); StringCchPrintf(Buffer, MaxCount - 1, L"addr=0x%p (%S), len=%d, type=%d, return=0x%p (%S), LastErrorStatus=0x%08x", Data->addr, Data->Address, Data->len, Data->type, Data->ReturnValue, Host, Data->Status); return S_OK; }
bool AVMPI_getFunctionNameFromPC(uintptr_t pc, char *buffer, size_t bufferSize) { #ifdef UNDER_CE (void)pc; (void)buffer; (void)bufferSize; return false; #else if(!InitDbgHelp()) return false; // gleaned from IMAGEHLP_SYMBOL64 docs IMAGEHLP_SYMBOL64 *pSym = (IMAGEHLP_SYMBOL64 *) alloca(sizeof(IMAGEHLP_SYMBOL64) + MaxNameLength); pSym->SizeOfStruct = sizeof(IMAGEHLP_SYMBOL64); pSym->MaxNameLength = MaxNameLength; DWORD64 offsetFromSymbol; if(!g_DbgHelpDll.m_SymGetSymFromAddr64 || !(*g_DbgHelpDll.m_SymGetSymFromAddr64)(GetCurrentProcess(), pc, &offsetFromSymbol, pSym)) { return false; } StringCchPrintfA(buffer, bufferSize, "%s", pSym->Name); //printf("%s\n", pSym->Name); return true; #endif //UNDER_CE }
////////////////////////////////////////////////////////////////////////////////////////// // RtfWriter::write //! Writes a character to the stream //! //! \param[in] ch - The character //! //! \throw wtl::logic_error - [Debug only] Writer has been closed //! \throw wtl::domain_error - I/O error occurred ////////////////////////////////////////////////////////////////////////////////////////// void write(element_t ch) { element_t buf[10]; // Check stream is open if (Closed) throw wtl::logic_error(HERE, "Writer is closed"); // Escape/Convert char: switch (ch) { case '{': case '}': writeChar('\\'); writeChar(ch); break; case '\\': writeString("\\\\"); break; case '\n': writeString("\\line "); break; case '\t': writeString("\\tab "); break; default: // ANSI char: if (ch <= 0x7f) writeChar(ch); else { // UNICODE char: StringCchPrintfA(buf, 10, "\\u%u?", (uint32_t)ch); writeString(buf); } break; } }
////////////////////////////////////////////////////////////////////////////////////////// // RtfWriter::setForeColour //! Sets the text colour //! //! \param[in] c - The colour //! //! \throw wtl::invalid_argument - Unrecognised colour //! \throw wtl::logic_error - [Debug only] Writer has been closed //! \throw wtl::domain_error - I/O error occurred ////////////////////////////////////////////////////////////////////////////////////////// void setForeColour(COLORREF c) { CHR buf[10]; // Check stream is open if (Closed) throw wtl::logic_error(HERE, "Writer is closed"); // Skip if colour already set if (ForeColour == c) return; // Lookup colour ID for (UINT id = 0; id < Colours.size(); id++) if (Colours[id] == c) { // Write colour change StringCchPrintfA(buf, 10, "\\cf%d ", id + 1); writeString(buf); ForeColour = c; return; } // Unknown colour throw wtl::invalid_argument(HERE, "No such colour in the colour table"); }
///--- AICI FACE RENDER --- void RenderFrame(double dTime) { long i; float scrX,scrY; long x1,y1,x2,y2; baloons.paintBaloons(&buffer); //--- draw mouse cursor --- if(g_bLmouseButt) { buffer.line(g_ptMouse.x - 5, g_ptMouse.y , g_ptMouse.x + 4, g_ptMouse.y , 0, 180, 0); buffer.line(g_ptMouse.x , g_ptMouse.y - 5, g_ptMouse.x, g_ptMouse.y + 4, 0, 180, 0); } else { buffer.line(g_ptMouse.x - 6, g_ptMouse.y , g_ptMouse.x + 5, g_ptMouse.y , 0, 255, 0); buffer.line(g_ptMouse.x , g_ptMouse.y - 6, g_ptMouse.x, g_ptMouse.y + 5, 0, 255, 0); } ///--- draw FPS --- char fpstxt[MAX_PATH]; StringCchPrintfA(fpstxt, MAX_PATH, "FPS: %d dTime:%.5f", fps, dTime); buffer.drawText(0, 0, fpstxt, 0x00ff00ff); }
ULONG __cdecl DbgPrintEntry( __in PCHAR Format, ... ) { PDBG_OUTPUTA Filter; PBTR_FILTER_RECORD Record; BTR_PROBE_CONTEXT Context; DBGPRINT Routine; size_t Length; ULONG UserLength; va_list arg; PULONG_PTR Sp; ULONG Result; char format[512]; char buffer[512]; BtrFltGetContext(&Context); Routine = Context.Destine; // // N.B. Maximum support 16 arguments // Sp = (PULONG_PTR)&Format + 1; Result = (*Routine)(Format, Sp[0], Sp[1], Sp[2], Sp[3], Sp[4], Sp[5], Sp[6], Sp[7], Sp[8], Sp[9], Sp[10], Sp[11], Sp[12], Sp[13], Sp[14]); BtrFltSetContext(&Context); __try { va_start(arg, Format); StringCchVPrintfA(format, 512, Format, arg); StringCchPrintfA(buffer, 512, "%s", format); Length = strlen(buffer) + 1; va_end(arg); UserLength = FIELD_OFFSET(DBG_OUTPUTA, Text[Length]); Record = BtrFltAllocateRecord(UserLength, DbgUuid, _DbgPrint); if (!Record) { return Result; } Filter = FILTER_RECORD_POINTER(Record, DBG_OUTPUTA); Filter->Length = Length; StringCchCopyA(Filter->Text, Length, buffer); BtrFltQueueRecord(Record); } __except (EXCEPTION_EXECUTE_HANDLER) { if (Record) { BtrFltFreeRecord(Record); } } return Result; }
ULONG WSAConnectDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_WSACONNECT Data; CHAR Address[MAX_PATH]; if (Record->ProbeOrdinal != _WSAConnect) { return S_FALSE; } Data = (PSK_WSACONNECT)Record->Data; if (Data->name) { StringCchPrintfA(Address, MAX_PATH - 1, "%S:%d", inet_ntoa(Data->Address.sin_addr), ntohs(Data->Address.sin_port)); } else { Address[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, name=0x%p (%S), namelen=%d, lpCallerData=0x%p, lpCalleeData=0x%p," L"lpSQOS=0x%p, lpGQOS=0x%p, return=%d, LastErrorStatus=0x%08x", Data->sk, Data->name, Address, Data->namelen, Data->lpCallerData, Data->lpCalleeData, Data->lpSQOS, Data->lpGQOS, Data->ReturnValue, Data->Status); return S_OK; }
ULONG WSAAcceptDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_WSAACCEPT Data; CHAR Address[MAX_PATH]; if (Record->ProbeOrdinal != _WSAAccept) { return S_FALSE; } Data = (PSK_WSAACCEPT)Record->Data; if (Data->addr) { StringCchPrintfA(Address, MAX_PATH - 1, "%S:%d", inet_ntoa(Data->Address.sin_addr), ntohs(Data->Address.sin_port)); } else { Address[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, addr=0x%p (%S), addrlen=0x%p (%d), lpfnCondition=0x%p, dwCallbackData=0x%d," L"return=%d, LastErrorStatus=0x%08x", Data->sk, Data->addr, Address, Data->addrlen, Data->AddressLength, Data->ReturnValue, Data->Status); return S_OK; }
LONG WINAPI GenerateDump(EXCEPTION_POINTERS* pExceptionPointers) { BOOL bMiniDumpSuccessful; CHAR szFileName[MAX_PATH]; CHAR* szAppName = (CHAR *)Name.c_str(); CHAR* szVersion = (CHAR *)Version.c_str(); DWORD dwBufferSize = MAX_PATH; HANDLE hDumpFile; SYSTEMTIME stLocalTime; MINIDUMP_EXCEPTION_INFORMATION ExpParam; GetLocalTime(&stLocalTime); StringCchPrintfA(szFileName, MAX_PATH, "%s_%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp", szAppName, szVersion, stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay, stLocalTime.wHour, stLocalTime.wMinute, stLocalTime.wSecond, GetCurrentProcessId(), GetCurrentThreadId()); hDumpFile = CreateFileA(szFileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0); ExpParam.ThreadId = GetCurrentThreadId(); ExpParam.ExceptionPointers = pExceptionPointers; ExpParam.ClientPointers = TRUE; bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL, NULL); return EXCEPTION_EXECUTE_HANDLER; }
DWORD FileGroupDelete(INT32 groupId) { CHAR *path; CHAR buffer[12]; DWORD result; ASSERT(groupId != -1); TRACE("groupId=%d", groupId); // Retrieve group file location StringCchPrintfA(buffer, ELEMENT_COUNT(buffer), "%i", groupId); path = Io_ConfigGetPath("Locations", "Group_Files", buffer, NULL); if (path == NULL) { TRACE("Unable to retrieve file location."); return ERROR_NOT_ENOUGH_MEMORY; } // Delete group file and free resources if (DeleteFileA(path)) { result = ERROR_SUCCESS; } else { result = GetLastError(); TRACE("Unable to delete file \"%s\" (error %lu).", path, result); } Io_Free(path); return result; }
/* * TclSetWinError * * Sets the interpreter's errorCode variable. * * Arguments: * interp - Current interpreter. * errorCode - Windows error code. * * Returns: * The message that is associated with the error code. */ char * TclSetWinError( Tcl_Interp *interp, DWORD errorCode ) { char errorId[12]; ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); StringCchPrintfA(errorId, ARRAYSIZE(errorId), "%lu", errorCode); if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, errorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), tsdPtr->message, ARRAYSIZE(tsdPtr->message), NULL) == 0) { StringCchCopyA(tsdPtr->message, ARRAYSIZE(tsdPtr->message), "unknown error"); } else { size_t length; StringCchLengthA(tsdPtr->message, ARRAYSIZE(tsdPtr->message), &length); /* Remove trailing CR/LF. */ if (length >= 2 && tsdPtr->message[length-2] == '\r' && tsdPtr->message[length-1] == '\n') { tsdPtr->message[length-2] = '\0'; } } Tcl_SetErrorCode(interp, "WINDOWS", errorId, tsdPtr->message, NULL); return tsdPtr->message; }
int _RosLogDebug ( ULONG Level ) { static PCSTR levelDescriptions[] = { "[%s]", // TRACE_LEVEL_NONE "critical error", // TRACE_LEVEL_CRITICAL "noncritical error", // TRACE_LEVEL_ERROR "warning", // TRACE_LEVEL_WARNING "information", // TRACE_LEVEL_INFORMATION "trace" // TRACE_LEVEL_VERBOSE }; // levelDescriptions volatile void* returnAddress = _ReturnAddress(); volatile PCSTR levelDescriptionSz = levelDescriptions[(Level < ARRAYSIZE(levelDescriptions)) ? Level : 0]; char buf[64]; HRESULT hr = StringCchPrintfA( buf, ARRAYSIZE(buf), "\n*** ROSUMD %s detected @%p.\n", levelDescriptionSz, returnAddress); if (SUCCEEDED(hr)) { OutputDebugStringA(buf); } DbgRaiseAssertionFailure(); return 1; } // _RosLogDebug (...)
/*! 親ID指定してリストアップ @param[in] dPrntID 親ID @param[in] tgtID この番号を超えて最初にヒットしたやつを返す @param[out] pType ディレクトリ(FILE_ATTRIBUTE_DIRECTORY)かファイルか(FILE_ATTRIBUTE_NORMAL) @param[out] ptName ノードの名称 @return UINT 引っ張ったやつのID・無かったら0 */ UINT SqlChildNodePickUpID( UINT dPrntID, UINT tgtID, PUINT pType, LPTSTR ptName ) { CHAR acQuery[MAX_PATH]; INT rslt; UINT id = 0, dummy; sqlite3_stmt* statement; StringCchPrintfA( acQuery, MAX_PATH, ("SELECT * FROM TreeNode WHERE parentid == %u AND id > %u ORDER BY id ASC"), dPrntID, tgtID ); rslt = sqlite3_prepare( gpDataBase, acQuery, -1, &statement, NULL ); if( SQLITE_OK != rslt ){ SQL_DEBUG( gpDataBase ); return 0; } sqlite3_reset( statement ); rslt = sqlite3_step( statement ); if( SQLITE_ROW == rslt ) { id = sqlite3_column_int( statement, 0 ); // id *pType = sqlite3_column_int( statement, 1 ); // type dummy = sqlite3_column_int( statement, 2 ); // parentid String_Cch_Copy( ptName, MAX_PATH, (LPCTSTR)sqlite3_column_text16( statement, 3 ) ); // nodename } sqlite3_finalize( statement ); return id; }
/*! IDを指定してデータゲット @param[in] id 検索するID @param[out] ptFilePath ファイルパスバッファ・MAX_PATHであること @param[out] ptBaseName ルート直下のディレクトリ名バッファ・MAX_PATHであること @param[in] ptDispName タブの表示名・MAX_PATHであること @return UINT 引っ張ったヤツのID番号・ヒットしなかったら0 */ UINT SqlMultiTabSelect( INT id, LPTSTR ptFilePath, LPTSTR ptBaseName, LPTSTR ptDispName ) { CHAR acQuery[MAX_STRING]; INT rslt; UINT index = 0; sqlite3_stmt* statement; if( !(gpDataBase) ){ return 0; } StringCchPrintfA( acQuery, MAX_STRING, ("SELECT * FROM MultiTab WHERE id == %d"), id ); rslt = sqlite3_prepare( gpDataBase, acQuery, -1, &statement, NULL ); if( SQLITE_OK != rslt ){ SQL_DEBUG( gpDataBase ); return 0; } rslt = sqlite3_step( statement ); if( SQLITE_ROW == rslt ) { index = sqlite3_column_int( statement , 0 ); // id String_Cch_Copy( ptFilePath, MAX_PATH, (LPCTSTR)sqlite3_column_text16( statement, 1 ) ); // filepath String_Cch_Copy( ptBaseName, MAX_PATH, (LPCTSTR)sqlite3_column_text16( statement, 2 ) ); // basename String_Cch_Copy( ptDispName, MAX_PATH, (LPCTSTR)sqlite3_column_text16( statement, 3 ) ); // dispname } sqlite3_finalize( statement ); return index; }
ULONG WSASendToDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_WSASENDTO Data; CHAR Address[MAX_PATH]; if (Record->ProbeOrdinal != _WSASendTo) { return S_FALSE; } Data = (PSK_WSASENDTO)Record->Data; if (Data->lpTo) { StringCchPrintfA(Address, MAX_PATH - 1, "%S:%d", inet_ntoa(Data->Address.sin_addr), ntohs(Data->Address.sin_port)); } else { Address[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, lpBuffers=0x%p, dwBufferCount=%d, lpNumberOfBytesSent=0x%p (%d), dwFlags=0x%08x," L"lpTo=0x%p (%S), iToLen=%d, lpOverlapped=0x%p, lpCompletionRoutine=0x%p, return=%d, LastErrorStatus=0x%08x", Data->s, Data->lpBuffers, Data->dwBufferCount, Data->lpNumberOfBytesSent, Data->NumberOfBytesSent, Data->dwFlags, Data->lpTo, Address, Data->iToLen, Data->lpOverlapped, Data->lpCompletionRoutine, Data->ReturnValue, Data->Status); return S_OK; }
ULONG WSARecvFromDecode( IN PBTR_FILTER_RECORD Record, IN ULONG MaxCount, OUT PWCHAR Buffer ) { PSK_WSARECVFROM Data; CHAR Address[MAX_PATH]; if (Record->ProbeOrdinal != _WSARecvFrom) { return S_FALSE; } Data = (PSK_WSARECVFROM)Record->Data; if (Data->lpFrom) { StringCchPrintfA(Address, MAX_PATH - 1, "%S:%d", inet_ntoa(Data->Address.sin_addr), ntohs(Data->Address.sin_port)); } else { Address[0] = 0; } StringCchPrintf(Buffer, MaxCount - 1, L"socket=%d, lpBuffers=0x%p, lpNumberOfBytesRecvd=0x%p (%d), lpFlags=0x%p (%d)," L"lpFrom=0x%p (%S), lpFromLen=0x%p (%d), lpOverlapped=0x%p, lpCompletionRoutine=0x%p, return=%d, LastErrorStatus=0x%08x", Data->sk, Data->lpBuffer, Data->lpNumberOfBytesRecvd, Data->NumberOfBytesRecvd, Data->lpFlags, Data->Flags, Data->lpFrom, Address, Data->lpFromLen, Data->AddressLength, Data->lpOverlapped, Data->lpCompletionRoutine, Data->ReturnValue, Data->Status); return S_OK; }
/* * SendHttpResponse sends a text/html content type back with * the user specified status code and reason. Used for returning * errors to clients. */ DWORD SendHttpResponse( IN HANDLE hReqQueue, IN PHTTP_REQUEST pRequest, IN USHORT StatusCode, IN PSTR pReason, IN PSTR pEntityString ) { HTTP_RESPONSE response; HTTP_DATA_CHUNK dataChunk; DWORD result; DWORD bytesSent; CHAR szServerHeader[20]; // Initialize the HTTP response structure. INITIALIZE_HTTP_RESPONSE(&response, StatusCode, pReason); ADD_KNOWN_HEADER(response, HttpHeaderContentType, "text/html"); StringCchPrintfA(szServerHeader, sizeof(szServerHeader), "Xmlrpc-c/%s", XMLRPC_C_VERSION); ADD_KNOWN_HEADER(response, HttpHeaderServer, szServerHeader); if(pEntityString) { // Add an entity chunk dataChunk.DataChunkType = HttpDataChunkFromMemory; dataChunk.FromMemory.pBuffer = pEntityString; dataChunk.FromMemory.BufferLength = (ULONG) strlen(pEntityString); response.EntityChunkCount = 1; response.pEntityChunks = &dataChunk; } // Since we are sending all the entity body in one call, we don't have // to specify the Content-Length. result = HttpSendHttpResponse( hReqQueue, // ReqQueueHandle pRequest->RequestId, // Request ID 0, // Flags &response, // HTTP response NULL, // pReserved1 &bytesSent, // bytes sent (OPTIONAL) NULL, // pReserved2 (must be NULL) 0, // Reserved3 (must be 0) NULL, // LPOVERLAPPED (OPTIONAL) NULL // pReserved4 (must be NULL) ); if(result != NO_ERROR) { TraceW(L"HttpSendHttpResponse failed with %lu", result); } return result; }
UINT World::preloadDialogs() { char scriptCommand[512]; ConstCharList dialogNameList; StringCchPrintfA( scriptCommand, 512, "%s::dialogNameList", m_worldName ); GetScriptManager().readCharPtrList( scriptCommand, dialogNameList ); ConstCharList::iterator itDlg = dialogNameList.begin(); for ( ; itDlg != dialogNameList.end(); ++itDlg ) { StringCchPrintfA( scriptCommand, 512, "%s::%s", m_worldName, *itDlg ); Dialog* newDlg = Dialog::createDialogByScript( scriptCommand ); newDlg->init(); addDialog( newDlg ); } return dialogNameList.size(); }
/*++ TclNewOctalObj Creates a new object from an octal value. Arguments: octal - The octal value to use. Return Value: A pointer to a newly created object. --*/ Tcl_Obj * TclNewOctalObj( unsigned long octal ) { char value[12]; StringCchPrintfA(value, ARRAYSIZE(value), "%03lo", octal); return Tcl_NewStringObj(value, -1); }
/******************************************************************** WcaLog() - outputs trace and log info *******************************************************************/ extern "C" void __cdecl WcaLog( __in LOGLEVEL llv, __in_z __format_string PCSTR fmt, ... ) { static char szFmt[LOG_BUFFER]; static char szBuf[LOG_BUFFER]; static bool fInLogPrint = false; // prevent re-entrant logprints. (recursion issues between assert/logging code) if (fInLogPrint) return; fInLogPrint = true; if (LOGMSG_STANDARD == llv || (LOGMSG_VERBOSE == llv && IsVerboseLoggingLite()) #ifdef DEBUG || LOGMSG_TRACEONLY == llv #endif ) { va_list args; va_start(args, fmt); LPCSTR szLogName = WcaGetLogName(); if (szLogName[0] != 0) StringCchPrintfA(szFmt, countof(szFmt), "%s: %s", szLogName, fmt); else StringCchCopyA(szFmt, countof(szFmt), fmt); StringCchVPrintfA(szBuf, countof(szBuf), szFmt, args); va_end(args); #ifdef DEBUG // always write to the log in debug #else if (llv == LOGMSG_STANDARD || (llv == LOGMSG_VERBOSE && IsVerboseLoggingLite())) #endif { PMSIHANDLE hrec = MsiCreateRecord(1); ::MsiRecordSetStringA(hrec, 0, szBuf); // TODO: Recursion on failure. May not be safe to assert from here. WcaProcessMessage(INSTALLMESSAGE_INFO, hrec); } #if DEBUG StringCchCatA(szBuf, countof(szBuf), "\n"); OutputDebugStringA(szBuf); #endif } fInLogPrint = false; return; }
VOID SCALL LogFileTraceV(const CHAR *file, const CHAR *func, INT line, const CHAR *format, va_list argList) { #if 0 CHAR location[MAX_PATH]; #endif CHAR *messageEnd; DWORD errorCode; DWORD processId; DWORD threadId; LOG_ENTRY *entry; size_t remaining; // Preserve system error code errorCode = GetLastError(); ASSERT(file != NULL); ASSERT(func != NULL); ASSERT(format != NULL); processId = GetCurrentProcessId(); threadId = GetCurrentThreadId(); // Retrieve a spare entry structure (also checks log status) entry = GetSpareEntry(); if (entry != NULL) { // // Available trace information: // // file - Source file // func - Function name in the source file // line - Line number in the source file // processId - Current process ID // threadId - Current thread ID // GetLocalTime(&entry->time); #if 0 StringCchPrintfA(location, ELEMENT_COUNT(location), "%s:%d", LogFileName(file), line); StringCchPrintfExA(entry->message, ELEMENT_COUNT(entry->message), &messageEnd, &remaining, 0, "%-20s - %-20s - ", location, func); #else StringCchPrintfExA(entry->message, ELEMENT_COUNT(entry->message), &messageEnd, &remaining, 0, "%s - ", func); #endif StringCchVPrintfExA(messageEnd, remaining, NULL, &remaining, 0, format, argList); entry->length = ELEMENT_COUNT(entry->message) - remaining; // Insert log entry into the write queue QueueInsert(entry); } // Restore system error code SetLastError(errorCode); }
unsigned int __declspec(dllexport) GetAudioTypes3(int idx, char *desc) { if (idx == 0) { GetLocalisationApiService(); StringCchPrintfA(desc, 1024, WASABI_API_LNGSTRING(IDS_ENC_TTA_DESC), VERSION, LIBTTA_VERSION); return mmioFOURCC('T', 'T', 'A', ' '); } return 0; }
void DebugMsg(const CHAR* pszFormat, ...) { CHAR buf[1024]; StringCchPrintfA(buf, sizeof(buf)/sizeof(CHAR), "(%lu): ", GetCurrentThreadId()); va_list arglist; va_start(arglist, pszFormat); StringCchVPrintfA(&buf[strlen(buf)], sizeof(buf)/sizeof(CHAR), pszFormat, arglist); va_end(arglist); StringCchCatA(buf, sizeof(buf)/sizeof(CHAR), "\n"); OutputDebugStringA(buf); }
int WINAPI D3DXDebugAssert(LPCSTR szFile, int nLine, LPCSTR szCondition) { char str[512]; // Print message to debug console StringCchPrintfA(str, sizeof(str), "Assertion failure! (%s %d): %s\r\n", szFile, nLine, szCondition); str[511] = 0; OutputDebugStringA(str); return 0; }