本文整理汇总了C++中DebugMsg函数的典型用法代码示例。如果您正苦于以下问题:C++ DebugMsg函数的具体用法?C++ DebugMsg怎么用?C++ DebugMsg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DebugMsg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IsPackageTrusted
itvEnum IsPackageTrusted(LPCSTR szSetupExe, LPCSTR szPackage, HWND hwndParent)
{
WCHAR *szwSetup = 0;
WCHAR *szwPackage = 0;
int cchWide = 0;
bool fPackageIsTrusted = false;
bool fSetupExeIsSigned = false;
bool fPackageIsSigned = false;
itvEnum itv = itvUnTrusted;
DWORD dwUILevel = 0;
char szDebugOutput[MAX_STR_LENGTH] = {0};
PCCERT_CONTEXT pcExeSigner = 0;
PCCERT_CONTEXT pcMsiSigner = 0;
HMODULE hCrypt32 = LoadLibrary(CRYPT32_DLL);
if (!hCrypt32)
{
// no crypto on the machine
return itvWintrustNotOnMachine;
}
PFnCertCompareCertificate pfnCertCompareCertificate = (PFnCertCompareCertificate)GetProcAddress(hCrypt32, CRYPTOAPI_CertCompareCertificate);
PFnCertFreeCertificateContext pfnCertFreeCertificateContext = (PFnCertFreeCertificateContext)GetProcAddress(hCrypt32, CRYPTOAPI_CertFreeCertificateContext);
if (!pfnCertCompareCertificate || !pfnCertFreeCertificateContext)
{
// no crypt on the machine
FreeLibrary(hCrypt32);
return itvWintrustNotOnMachine;
}
// convert szSetupExe to WIDE
cchWide = MultiByteToWideChar(CP_ACP, 0, szSetupExe, -1, 0, 0);
szwSetup = new WCHAR[cchWide];
if (!szwSetup)
{
// out of memory
FreeLibrary(hCrypt32);
return itvUnTrusted;
}
if (0 == MultiByteToWideChar(CP_ACP, 0, szSetupExe, -1, szwSetup, cchWide))
{
// failed to convert string
FreeLibrary(hCrypt32);
delete [] szwSetup;
return itvUnTrusted;
}
//
// step 1: silently call WinVerifyTrust on szSetupExe, ignore return value - except for ivtWintrustNotOnMachine
//
DebugMsg("[WVT] step 1: silently call WinVerifyTrust on szSetupExe, ignoring return value\n");
if (itvWintrustNotOnMachine == (itv = IsFileTrusted(szwSetup, hwndParent, WTD_UI_NONE, &fSetupExeIsSigned, &pcExeSigner)))
{
goto CleanUp;
}
DebugMsg("[WVT] fSetupExeIsSigned = %s\n", fSetupExeIsSigned ? "TRUE" : "FALSE");
// convert szPackage to WIDE
cchWide = MultiByteToWideChar(CP_ACP, 0, szPackage, -1, 0, 0);
szwPackage = new WCHAR[cchWide];
if (!szwPackage)
{
// out of memory
FreeLibrary(hCrypt32);
return itvUnTrusted;
}
if (0 == MultiByteToWideChar(CP_ACP, 0, szPackage, -1, szwPackage, cchWide))
{
// failed to convert string
FreeLibrary(hCrypt32);
return itvUnTrusted;
}
//
// step 2: silently call WinVerifyTrust on szPackage, ignore return value - except for ivtWintrustNotOnMachine
//
if (fSetupExeIsSigned)
{
DebugMsg("[WVT] step2: silently call WinVerifyTrust on szPackage, ignoring return value\n");
if (itvWintrustNotOnMachine == (itv = IsFileTrusted(szwPackage, hwndParent, WTD_UI_NONE, &fPackageIsSigned, &pcMsiSigner)))
{
goto CleanUp;
}
DebugMsg("[WVT] fPackageIsSigned = %s\n", fPackageIsSigned ? "TRUE" : "FALSE");
}
//
// step 3: call WinVerifyTrust on szPackage, return value matters; use proper UI-level
//
if ( !fSetupExeIsSigned // exe is not signed
|| !fPackageIsSigned // package is not signed
//.........这里部分代码省略.........
示例2: WriteNativeRecord
int
WriteNativeRecord(FieldSpec **fields,
FILE *file)
{
long i;
long nopt;
Uchar flags;
if (file == NULL || fields == NULL)
{
DebugMsg(1, "WriteNativeRecord: NULL argument.");
return FALSE;
}
/*! If FieldOrder & TypeOrder returned a linear array of OPTIONAL
* fields as well as the array of REQUIRED & OPTIONAL, we could
* avoid scanning all of "fields" checking for OPTIONAL entries
* for every record written. */
nopt = 0;
flags = 0;
for (i = 0; fields[i] != NULL; i++)
{
if (fields[i]->occurrence == OPTIONAL)
{
flags |= fields[i]->present;
nopt++;
if (nopt % 8 == 0)
{
if (fwrite(&flags, 1, 1, file) != 1)
{
DebugMsg(1, ("WriteNativeRecord: couldn't write "
"\"presence\" flag for OPTIONAL field."));
return FALSE;
}
flags = 0;
}
else
flags <<= 1;
}
}
if (nopt % 8 != 0)
{
flags <<= (7 - nopt % 8);
if (fwrite(&flags, 1, 1, file) != 1)
{
DebugMsg(1, ("WriteNativeRecord: couldn't write "
"\"presence\" flags for OPTIONAL fields."));
return FALSE;
}
}
for (i = 0; fields[i] != NULL; i++)
{
if (fields[i]->occurrence == REQUIRED || fields[i]->present)
{
if (!WriteNativeData(fields[i], file))
{
DebugMsg(1, "WriteNativeRecord: couldn't write field data.");
return FALSE;
}
}
}
return TRUE;
}
示例3: DebugMsg
// ---------------------------------------------------------------------------
// VComponentManager::RegisterComponentLibrary [static]
// ---------------------------------------------------------------------------
// Load all component creators from a given library. Make sure that the
// library exports the VComponentLibrary interface.
//
VError VComponentManager::RegisterComponentLibrary( const VFilePath& inLibraryFile)
{
DebugMsg("VComponentManager load %V\n", &inLibraryFile.GetPath());
if (!IsInitialized())
return vThrowError(VE_COMP_UNITIALISED);
VError error = VE_OK;
VLibrary* library;
VArrayIteratorOf<VLibrary*> iterator(*sComponentLibraries);
// Iterate through libraries
while ((library = iterator.Next()) != NULL)
{
if (library->IsSameFile(inLibraryFile))
{
error = vThrowError(VE_COMP_ALLREADY_REGISTRED);
break;
}
}
if (library == NULL)
{
library = new VLibrary(inLibraryFile);
if (library != NULL)
{
if (!library->Load())
{
error = vThrowError(VE_COMP_CANNOT_LOAD_LIBRARY);
library->Release();
library = NULL;
}
}
if (library != NULL)
{
// Make sure the library export the needed interface
MainProcPtr mainPtr = (MainProcPtr) library->GetProcAddress(kDEFAULT_MAIN_SYMBOL);
GetNthComponentTypeProcPtr fetchPtr = (GetNthComponentTypeProcPtr) library->GetProcAddress(kDEFAULT_GET_TYPES_SYMBOL);
CreateComponentProcPtr creatorPtr = (CreateComponentProcPtr) library->GetProcAddress(kDEFAULT_CREATE_SYMBOL);
// Fetch all implemented components
if (creatorPtr != NULL && fetchPtr != NULL && mainPtr != NULL)
{
sAccessingTypes->Lock();
sAccessingChecked->Lock();
(mainPtr)(kDLL_EVENT_REGISTER, library);
CType newType;
sLONG index = 1;
while ((fetchPtr)(index, newType))
{
VIndex oldPos = sComponentTypes->FindPos(newType);
if (oldPos > 0)
{
// Assumes its allready installed using ProcPtr
assert(sComponentProcs->GetNth(oldPos) != NULL);
assert(sComponentLibraries->GetNth(oldPos) == NULL);
sComponentLibraries->SetNth(library, oldPos);
}
else
{
// Add entries
sComponentLibraries->AddTail(library);
sComponentProcs->AddTail(NULL);
sComponentTypes->AddTail(newType);
}
// Increment library refcount for each type
library->Retain();
index++;
// Reset checking for unavailable components
ResetComponentRequirements(newType, false);
}
sAccessingChecked->Unlock();
sAccessingTypes->Unlock();
}
else
{
error = VE_COMP_BAD_LIBRARY_TYPE;
}
// Release library ('new' balance)
library->Release();
}
else
{
error = VE_MEMORY_FULL;
//.........这里部分代码省略.........
示例4: F3D_Reserved0
void F3D_Reserved0( u32 w0, u32 w1 )
{
#ifdef DEBUG
DebugMsg( DEBUG_MEDIUM | DEBUG_IGNORED | DEBUG_UNKNOWN, "G_RESERVED0: w0=0x%08lX w1=0x%08lX\n", w0, w1 );
#endif
}
示例5: ReadInClothesStats
BOOLEAN ReadInClothesStats(STR fileName)
{
HWFILE hFile;
UINT32 uiBytesRead;
UINT32 uiFSize;
CHAR8 * lpcBuffer;
XML_Parser parser = XML_ParserCreate(NULL);
clothesParseData pData;
DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading Clothes.xml" );
// Open clothess file
hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE );
if ( !hFile )
return( FALSE );
uiFSize = FileGetSize(hFile);
lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1);
//Read in block
if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) )
{
MemFree(lpcBuffer);
return( FALSE );
}
lpcBuffer[uiFSize] = 0; //add a null terminator
FileClose( hFile );
XML_SetElementHandler(parser, clothesStartElementHandle, clothesEndElementHandle);
XML_SetCharacterDataHandler(parser, clothesCharacterDataHandle);
memset(&pData,0,sizeof(pData));
pData.curArray = Clothes;
pData.maxArraySize = CLOTHES_MAX;
XML_SetUserData(parser, &pData);
if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE))
{
CHAR8 errorBuf[511];
sprintf(errorBuf, "XML Parser Error in Clothes.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser));
LiveMessage(errorBuf);
MemFree(lpcBuffer);
return FALSE;
}
MemFree(lpcBuffer);
XML_ParserFree(parser);
return( TRUE );
}
示例6: RSP_ProcessDList
void RSP_ProcessDList()
{
VI_UpdateSize();
OGL_UpdateScale();
RSP.PC[0] = *(u32*)&DMEM[0x0FF0];
RSP.PCi = 0;
RSP.count = 0;
RSP.halt = FALSE;
RSP.busy = TRUE;
gSP.matrix.stackSize = min( 32, *(u32*)&DMEM[0x0FE4] >> 6 );
gSP.matrix.modelViewi = 0;
gSP.changed |= CHANGED_MATRIX;
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
gSP.matrix.modelView[0][i][j] = 0.0f;
gSP.matrix.modelView[0][0][0] = 1.0f;
gSP.matrix.modelView[0][1][1] = 1.0f;
gSP.matrix.modelView[0][2][2] = 1.0f;
gSP.matrix.modelView[0][3][3] = 1.0f;
u32 uc_start = *(u32*)&DMEM[0x0FD0];
u32 uc_dstart = *(u32*)&DMEM[0x0FD8];
u32 uc_dsize = *(u32*)&DMEM[0x0FDC];
if ((uc_start != RSP.uc_start) || (uc_dstart != RSP.uc_dstart))
gSPLoadUcodeEx( uc_start, uc_dstart, uc_dsize );
gDPSetAlphaCompare( G_AC_NONE );
gDPSetDepthSource( G_ZS_PIXEL );
gDPSetRenderMode( 0, 0 );
gDPSetAlphaDither( G_AD_DISABLE );
gDPSetColorDither( G_CD_DISABLE );
gDPSetCombineKey( G_CK_NONE );
gDPSetTextureConvert( G_TC_FILT );
gDPSetTextureFilter( G_TF_POINT );
gDPSetTextureLUT( G_TT_NONE );
gDPSetTextureLOD( G_TL_TILE );
gDPSetTextureDetail( G_TD_CLAMP );
gDPSetTexturePersp( G_TP_PERSP );
gDPSetCycleType( G_CYC_1CYCLE );
gDPPipelineMode( G_PM_NPRIMITIVE );
while (!RSP.halt)
{
if ((RSP.PC[RSP.PCi] + 8) > RDRAMSize)
{
#ifdef DEBUG
switch (Debug.level)
{
case DEBUG_LOW:
DebugMsg( DEBUG_LOW | DEBUG_ERROR, "ATTEMPTING TO EXECUTE RSP COMMAND AT INVALID RDRAM LOCATION\n" );
break;
case DEBUG_MEDIUM:
DebugMsg( DEBUG_MEDIUM | DEBUG_ERROR, "Attempting to execute RSP command at invalid RDRAM location\n" );
break;
case DEBUG_HIGH:
DebugMsg( DEBUG_HIGH | DEBUG_ERROR, "// Attempting to execute RSP command at invalid RDRAM location\n" );
break;
}
#endif
break;
}
// printf( "!!!!!! RDRAM = 0x%8.8x\n", RDRAM );//RSP.PC[RSP.PCi] );
/* {
static u8 *lastRDRAM = 0;
if (lastRDRAM == 0)
lastRDRAM = RDRAM;
if (RDRAM != lastRDRAM)
{
__asm__( "int $3" );
}
}*/
u32 w0 = *(u32*)&RDRAM[RSP.PC[RSP.PCi]];
u32 w1 = *(u32*)&RDRAM[RSP.PC[RSP.PCi] + 4];
RSP.cmd = _SHIFTR( w0, 24, 8 );
#ifdef DEBUG
DebugRSPState( RSP.PCi, RSP.PC[RSP.PCi], _SHIFTR( w0, 24, 8 ), w0, w1 );
DebugMsg( DEBUG_LOW | DEBUG_HANDLED, "0x%08lX: CMD=0x%02lX W0=0x%08lX W1=0x%08lX\n", RSP.PC[RSP.PCi], _SHIFTR( w0, 24, 8 ), w0, w1 );
#endif
RSP.PC[RSP.PCi] += 8;
RSP.nextCmd = _SHIFTR( *(u32*)&RDRAM[RSP.PC[RSP.PCi]], 24, 8 );
GBI.cmd[RSP.cmd]( w0, w1 );
}
/* if (OGL.frameBufferTextures && gDP.colorImage.changed)
{
FrameBuffer_SaveBuffer( gDP.colorImage.address, gDP.colorImage.size, gDP.colorImage.width, gDP.colorImage.height );
gDP.colorImage.changed = FALSE;
}*/
RSP.busy = FALSE;
//.........这里部分代码省略.........
示例7: RSP_ProcessDList
void RSP_ProcessDList(void)
{
int i, j;
u32 uc_start, uc_dstart, uc_dsize;
__RSP.PC[0] = *(u32*)&gfx_info.DMEM[0x0FF0];
__RSP.PCi = 0;
__RSP.count = -1;
__RSP.halt = FALSE;
__RSP.busy = TRUE;
gSP.matrix.stackSize = min( 32, *(u32*)&gfx_info.DMEM[0x0FE4] >> 6 );
gSP.matrix.modelViewi = 0;
gSP.changed &= ~CHANGED_CPU_FB_WRITE;
gSP.changed |= CHANGED_MATRIX;
gDPSetTexturePersp(G_TP_PERSP);
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++)
gSP.matrix.modelView[0][i][j] = 0.0f;
gSP.matrix.modelView[0][0][0] = 1.0f;
gSP.matrix.modelView[0][1][1] = 1.0f;
gSP.matrix.modelView[0][2][2] = 1.0f;
gSP.matrix.modelView[0][3][3] = 1.0f;
uc_start = *(u32*)&gfx_info.DMEM[0x0FD0];
uc_dstart = *(u32*)&gfx_info.DMEM[0x0FD8];
uc_dsize = *(u32*)&gfx_info.DMEM[0x0FDC];
if ((uc_start != __RSP.uc_start) || (uc_dstart != __RSP.uc_dstart))
gSPLoadUcodeEx( uc_start, uc_dstart, uc_dsize );
gDPSetCombineKey(G_CK_NONE);
gDPSetTextureLUT(G_TT_NONE);
gDPSetTexturePersp(G_TP_PERSP);
gDPSetCycleType(G_CYC_1CYCLE);
#ifdef NEW
depthBufferList().setNotCleared();
#endif
if (GBI_GetCurrentMicrocodeType() == Turbo3D)
RunTurbo3D();
else
while (!__RSP.halt)
{
u32 w0, w1, pc;
pc = __RSP.PC[__RSP.PCi];
if ((pc + 8) > RDRAMSize)
{
#ifdef DEBUG
DebugMsg( DEBUG_LOW | DEBUG_ERROR, "ATTEMPTING TO EXECUTE RSP COMMAND AT INVALID RDRAM LOCATION\n" );
#endif
break;
}
w0 = *(u32*)&gfx_info.RDRAM[pc];
w1 = *(u32*)&gfx_info.RDRAM[pc+4];
__RSP.cmd = _SHIFTR( w0, 24, 8 );
#ifdef DEBUG
DebugRSPState( RSP.PCi, RSP.PC[RSP.PCi], _SHIFTR( w0, 24, 8 ), w0, w1 );
DebugMsg( DEBUG_LOW | DEBUG_HANDLED, "0x%08lX: CMD=0x%02lX W0=0x%08lX W1=0x%08lX\n", RSP.PC[RSP.PCi], _SHIFTR( w0, 24, 8 ), w0, w1 );
#endif
__RSP.PC[__RSP.PCi] += 8;
__RSP.nextCmd = _SHIFTR( *(u32*)&gfx_info.RDRAM[pc+8], 24, 8 );
GBI.cmd[__RSP.cmd]( w0, w1 );
RSP_CheckDLCounter();
}
if (config.frameBufferEmulation.copyToRDRAM)
FrameBuffer_CopyToRDRAM( gDP.colorImage.address );
if (config.frameBufferEmulation.copyDepthToRDRAM)
FrameBuffer_CopyDepthBuffer( gDP.colorImage.address );
__RSP.busy = FALSE;
gSP.changed |= CHANGED_COLORBUFFER;
}
示例8: xbox_assert
XBOX::VError VHTTPWebsocketHandler::ReadMessage( void* inData, uLONG* ioLength, bool* outIsTerminated )
{
bool l_header_found;
uLONG length;
VError l_err;
if (!fEndpt)
{
xbox_assert((fEndpt != NULL));
return VE_INVALID_PARAMETER;
}
l_err = VE_OK;
if (!fBytesToRead)
{
l_err = ReadHeader(&l_header_found);
if (l_err)
{
DebugMsg("ERR2\n");
}
if (!l_err && !l_header_found)
{
*ioLength = 0;
}
// not fragmented ?
if (!l_err && (*ioLength) && (fFrame.header[0] & 0x80))
{
fBytesToRead = fFrame.len;
fCurt = XBOX_LONG8(0);
switch(fFrame.opcode)
{
case CONTINUATION_FRAME:
DebugMsg("ERR3\n");
l_err = VE_UNIMPLEMENTED;
break;
case CONNEXION_CLOSE:
if (fFrame.len >= 126)
{
DebugMsg("ERR4\n");
l_err = VE_INVALID_PARAMETER;
}
else
{
l_err = VE_STREAM_EOF;
/*// close the socket
goto NOK;
while (!l_err && (fBytesToRead > 0))
{
length = (uLONG)( *ioLength >=fBytesToRead ? fBytesToRead : *ioLength);
l_err = ReadBytes(inData,&length);
if (l_err)
{
DebugMsg("ERR 5\n");
}
else
{
fBytesToRead -= length;
*ioLength = length;
}
}*/
}
break;
case TEXT_FRAME:
case BIN_FRAME:
break;
default:
break;
}
}
else
{
if (!l_err && *(ioLength) )
{
DebugMsg("Fragmentation not handled ERR6\n");
}
}
}
//DebugMsg("ReadMessage req_len=%d ToRead=%lld\n",*ioLength,fBytesToRead);
if (!l_err && fBytesToRead)
{
//printf("...... bef ReadMessage req_len=%d ToRead=%lld\n",*ioLength,fBytesToRead);
*ioLength = ( *ioLength >=fBytesToRead ? ((uLONG)fBytesToRead) : *ioLength);
//printf("...... aft ReadMessage req_len=%d ToRead=%lld\n",*ioLength,fBytesToRead);
l_err = ReadBytes(inData,ioLength);
if (l_err)
{
DebugMsg("ERR1\n");
}
else
{
fBytesToRead -= *ioLength;
//printf("...... ....... aft ReadMessage read_len=%d ToRead=%lld\n",*ioLength,fBytesToRead);
if (fFrame.masked)
{
for(uLONG l_i=0; l_i<*ioLength; l_i++)
{
((unsigned char *)inData)[l_i] ^= fFrame.msk[fCurt % 4];
//.........这里部分代码省略.........
示例9: WriteBytes
XBOX::VError VHTTPWebsocketHandler::WriteMessage( const void* inData, VSize inLength, bool inIsTerminated )
{
XBOX::VError l_err;
unsigned char l_header[10];
l_err = VE_OK;
if (fOutputIsTerminated)
{
fOutputIsTerminated = inIsTerminated;
if (inIsTerminated)
{
l_header[0] = 0x81;
}
else
{
l_header[0] = 0x01;
}
}
else
{
fOutputIsTerminated = inIsTerminated;
l_header[0] = (inIsTerminated ? 0x80 : 0x00 );
}
//SEND_COMPLETE_FRAME:
if (!l_err)
{
if (inLength <= 125)
{
l_header[1] = (unsigned char)inLength;
l_err = WriteBytes(l_header,2);
if (l_err)
{
DebugMsg("WriteBytes ERR\n");
}
}
else
{
if (inLength < 65536)
{
l_header[1] = 126;
l_header[2] = (uLONG)inLength / 256;
l_header[3] = (uLONG)inLength % 256;
l_err = WriteBytes(l_header,4);
if (l_err)
{
DebugMsg("Write3 ERR\n");
}
}
else
{
DebugMsg("WriteMessage ERR\n");
l_err = VE_INVALID_PARAMETER;
}
}
//SEND_ALL_DATA:
if (!l_err)
{
l_err = WriteBytes(inData,inLength);
if (l_err)
{
DebugMsg("WriteBytes ERR\n");
}
}
}
if (l_err)
{
/*fEndpt = NULL;*/
Close();
}
return l_err;
}
示例10: TestUtilityMessages
VOID
TestUtilityMessages (
VOID
)
{
CHAR8 *ArgStr = "ArgString";
int ArgInt;
ArgInt = 0x12345678;
//
// Test without setting utility name
//
fprintf (stdout, "* Testing without setting utility name\n");
fprintf (stdout, "** Test debug message not printed\n");
DebugMsg (NULL, 0, 0x00000001, NULL, NULL);
fprintf (stdout, "** Test warning with two strings and two args\n");
Warning (NULL, 0, 1234, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
fprintf (stdout, "** Test error with two strings and two args\n");
Warning (NULL, 0, 1234, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
fprintf (stdout, "** Test parser warning with nothing\n");
ParserWarning (0, NULL, NULL);
fprintf (stdout, "** Test parser error with nothing\n");
ParserError (0, NULL, NULL);
//
// Test with utility name set now
//
fprintf (stdout, "** Testingin with utility name set\n");
SetUtilityName ("MyUtilityName");
//
// Test debug prints
//
SetDebugMsgMask (2);
fprintf (stdout, "** Test debug message with one string\n");
DebugMsg (NULL, 0, 0x00000002, "Text1", NULL);
fprintf (stdout, "** Test debug message with one string\n");
DebugMsg (NULL, 0, 0x00000002, NULL, "Text2");
fprintf (stdout, "** Test debug message with two strings\n");
DebugMsg (NULL, 0, 0x00000002, "Text1", "Text2");
fprintf (stdout, "** Test debug message with two strings and two args\n");
DebugMsg (NULL, 0, 0x00000002, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
//
// Test warning prints
//
fprintf (stdout, "** Test warning with no strings\n");
Warning (NULL, 0, 1234, NULL, NULL);
fprintf (stdout, "** Test warning with one string\n");
Warning (NULL, 0, 1234, "Text1", NULL);
fprintf (stdout, "** Test warning with one string\n");
Warning (NULL, 0, 1234, NULL, "Text2");
fprintf (stdout, "** Test warning with two strings and two args\n");
Warning (NULL, 0, 1234, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
//
// Test error prints
//
fprintf (stdout, "** Test error with no strings\n");
Error (NULL, 0, 1234, NULL, NULL);
fprintf (stdout, "** Test error with one string\n");
Error (NULL, 0, 1234, "Text1", NULL);
fprintf (stdout, "** Test error with one string\n");
Error (NULL, 0, 1234, NULL, "Text2");
fprintf (stdout, "** Test error with two strings and two args\n");
Error (NULL, 0, 1234, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
//
// Test parser prints
//
fprintf (stdout, "** Test parser errors\n");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserError (1234, NULL, NULL);
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserError (1234, "Text1", NULL);
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserError (1234, NULL, "Text2");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserError (1234, "Text1", "Text2");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserError (1234, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
fprintf (stdout, "** Test parser warnings\n");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserWarning (4321, NULL, NULL);
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserWarning (4321, "Text1", NULL);
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserWarning (4321, NULL, "Text2");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserWarning (4321, "Text1", "Text2");
ParserSetPosition (__FILE__, __LINE__ + 1);
ParserWarning (4321, "Text1", "Text2 %s 0x%X", ArgStr, ArgInt);
}
示例11: memset
XBOX::VError VHTTPWebsocketHandler::ReadHeader(bool* found)
{
VError l_err;
memset(&fFrame,0,sizeof(ws_frame_t));
*found = false;
fFrame.buf_len = 2;
//printf("ReadHeader called\n");
l_err = ReadBytes((void *)fFrame.header, &fFrame.buf_len);
if (!l_err && fFrame.buf_len)
{
// extensions not handled
if (fFrame.header[0] & 0x70)
{
DebugMsg("VHTTPWebsocketHandler::ReadHeader RFC6455 EXTENSIONS NOT HANDLED!!!!\n");
l_err = VE_INVALID_PARAMETER;
}
if (!l_err)
{
fFrame.opcode = (ws_opcode_t)(fFrame.header[0] & 0x0F);
fFrame.masked = (fFrame.header[1] & 0x80);
fFrame.len = (sLONG8)(fFrame.header[1] & 0x7F);
if (fFrame.len == 127)
{
fFrame.buf_len = 8;
l_err = ReadBytes((void *)(fFrame.header+2), &fFrame.buf_len);
if ( !l_err && (fFrame.buf_len != 8) )
{
l_err = VE_STREAM_CANNOT_READ;
}
if (!l_err)
{
fFrame.len = 0;
for(int l_i=0;l_i<8;l_i+=2)
{
fFrame.len = 65536*fFrame.len + (256*fFrame.header[2+l_i]+fFrame.header[3+l_i]);
}
DebugMsg("ReadHeader frame.len=%lld\n",fFrame.len);
}
}
else
{
if (fFrame.len == 126)
{
fFrame.buf_len = 2;
l_err = ReadBytes((void *)(fFrame.header+2), &fFrame.buf_len);
if ( !l_err && (fFrame.buf_len != 2) )
{
l_err = VE_STREAM_CANNOT_READ;
}
if (!l_err)
{
fFrame.len = 256*fFrame.header[2]+fFrame.header[3];
DebugMsg("ReadHeader frame.len=%d\n",fFrame.len);
}
}
else
{
DebugMsg("ReadHeader frame.len=%d\n",fFrame.len);
}
}
if (!l_err && fFrame.masked)
{
fFrame.buf_len = 4;
l_err = ReadBytes((void *)fFrame.msk, &fFrame.buf_len);
if ( !l_err && (fFrame.buf_len != 4) )
{
l_err = VE_STREAM_CANNOT_READ;
}
}
*found = true;
}
}
return l_err;
}
示例12: main
int main( int argc, char **argv )
/*******************************/
{
char *pEnv;
int numArgs = 0;
int numFiles = 0;
int rc = 0;
#if WILDCARDS
long fh; /* _findfirst/next/close() handle, must be long! */
struct _finddata_t finfo;
char drv[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_PATH];
#endif
#if 0 //def DEBUG_OUT /* DebugMsg() cannot be used that early */
int i;
for ( i = 1; i < argc; i++ ) {
printf("argv[%u]=>%s<\n", i, argv[i] );
}
#endif
pEnv = getenv( "JWASM" );
if ( pEnv == NULL )
pEnv = "";
argv[0] = pEnv;
#ifndef DEBUG_OUT
signal(SIGSEGV, genfailure);
#endif
#if CATCHBREAK
signal(SIGBREAK, genfailure);
#else
signal(SIGTERM, genfailure);
#endif
MsgInit();
while ( 1 ) {
if ( ParseCmdline( (const char **)argv, &numArgs ) == NULL )
break; /* exit if no source file name supplied */
numFiles++;
write_logo();
#if WILDCARDS
if ((fh = _findfirst( Options.names[ASM], &finfo )) == -1 ) {
DebugMsg(("main: _findfirst(%s) failed\n", Options.names[ASM] ));
EmitErr( CANNOT_OPEN_FILE, Options.names[ASM], ErrnoStr() );
break;
}
_splitpath( Options.names[ASM], drv, dir, NULL, NULL );
DebugMsg(("main: _splitpath(%s): drv=\"%s\" dir=\"%s\"\n", Options.names[ASM], drv, dir ));
do {
_makepath( fname, drv, dir, finfo.name, NULL );
DebugMsg(("main: _makepath(\"%s\", \"%s\", \"%s\")=\"%s\"\n", drv, dir, finfo.name, fname ));
rc = AssembleModule( fname ); /* assemble 1 module */
} while ( ( _findnext( fh, &finfo ) != -1 ) );
_findclose( fh );
#else
rc = AssembleModule( Options.names[ASM] );
#endif
};
CmdlineFini();
if ( numArgs == 0 ) {
write_logo();
printf( MsgGetEx( MSG_USAGE ) );
} else if ( numFiles == 0 )
EmitError( NO_FILENAME_SPECIFIED );
MsgFini();
return( 1 - rc ); /* zero if no errors */
}
示例13: InitJA2SplashScreen
//Simply create videosurface, load image, and draw it to the screen.
void InitJA2SplashScreen()
{
UINT32 uiLogoID = 0;
STRING512 CurrentDir;
STRING512 DataDir;
HVSURFACE hVSurface;
VSURFACE_DESC VSurfaceDesc;
INT32 i = 0;
InitializeJA2Clock();
//InitializeJA2TimerID();
// Get Executable Directory
GetExecutableDirectory( CurrentDir );
// Adjust Current Dir
sprintf( DataDir, "%s\\Data", CurrentDir );
if ( !SetFileManCurrentDirectory( DataDir ) )
{
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, "Could not find data directory, shutting down");
return;
}
//Initialize the file database
InitializeFileDatabase( gGameLibaries, NUMBER_OF_LIBRARIES );
#if !defined( ENGLISH ) && defined( JA2TESTVERSION )
memset( &VSurfaceDesc, 0, sizeof( VSURFACE_DESC ) );
VSurfaceDesc.fCreateFlags = VSURFACE_CREATE_FROMFILE | VSURFACE_SYSTEM_MEM_USAGE;
sprintf( VSurfaceDesc.ImageFile, "LOADSCREENS\\Notification.sti" );
if( !AddVideoSurface( &VSurfaceDesc, &uiLogoID ) )
{
AssertMsg( 0, String( "Failed to load %s", VSurfaceDesc.ImageFile ) );
return;
}
GetVideoSurface(&hVSurface, uiLogoID );
BltVideoSurfaceToVideoSurface( ghFrameBuffer, hVSurface, 0, 0, 0, 0, NULL );
DeleteVideoSurfaceFromIndex( uiLogoID );
InvalidateScreen();
RefreshScreen( NULL );
guiSplashStartTime = GetJA2Clock();
while( i < 60 * 15 )//guiSplashStartTime + 15000 > GetJA2Clock() )
{
//Allow the user to pick his bum.
InvalidateScreen();
RefreshScreen( NULL );
i++;
}
#endif
#ifdef ENGLISH
ClearMainMenu();
#else
{
memset( &VSurfaceDesc, 0, sizeof( VSURFACE_DESC ) );
VSurfaceDesc.fCreateFlags = VSURFACE_CREATE_FROMFILE | VSURFACE_SYSTEM_MEM_USAGE;
GetMLGFilename( VSurfaceDesc.ImageFile, MLG_SPLASH );
if( !AddVideoSurface( &VSurfaceDesc, &uiLogoID ) )
{
AssertMsg( 0, String( "Failed to load %s", VSurfaceDesc.ImageFile ) );
return;
}
GetVideoSurface( &hVSurface, uiLogoID );
BltVideoSurfaceToVideoSurface( ghFrameBuffer, hVSurface, 0, 0, 0, 0, NULL );
DeleteVideoSurfaceFromIndex( uiLogoID );
}
#endif
InvalidateScreen();
RefreshScreen( NULL );
guiSplashStartTime = GetJA2Clock();
}
示例14: IsFileTrusted
/////////////////////////////////////////////////////////////////////////////
// IsFileTrusted
//
itvEnum IsFileTrusted(LPCWSTR lpwFile, HWND hwndParent, DWORD dwUIChoice, bool *pfIsSigned, PCCERT_CONTEXT *ppcSigner)
{
char szDebugOutput[MAX_STR_LENGTH] = {0};
itvEnum itv = itvUnTrusted;
if (pfIsSigned)
*pfIsSigned = false;
if (ppcSigner)
*ppcSigner = 0;
GUID guidAction = WINTRUST_ACTION_GENERIC_VERIFY_V2;
WINTRUST_FILE_INFO sWintrustFileInfo;
WINTRUST_DATA sWintrustData;
HRESULT hr;
memset((void*)&sWintrustFileInfo, 0x00, sizeof(WINTRUST_FILE_INFO)); // zero out
memset((void*)&sWintrustData, 0x00, sizeof(WINTRUST_DATA)); // zero out
sWintrustFileInfo.cbStruct = sizeof(WINTRUST_FILE_INFO);
sWintrustFileInfo.pcwszFilePath = lpwFile;
sWintrustFileInfo.hFile = NULL;
sWintrustData.cbStruct = sizeof(WINTRUST_DATA);
sWintrustData.dwUIChoice = dwUIChoice;
sWintrustData.fdwRevocationChecks = WTD_REVOKE_NONE;
sWintrustData.dwUnionChoice = WTD_CHOICE_FILE;
sWintrustData.pFile = &sWintrustFileInfo;
sWintrustData.dwStateAction = (ppcSigner) ? WTD_STATEACTION_VERIFY : 0;
HMODULE hWinTrust = LoadLibrary(WINTRUST_DLL);
if (!hWinTrust)
{
// WinTrust is unavailable on the machine
return itvWintrustNotOnMachine;
}
PFnWinVerifyTrust pfnWinVerifyTrust = (PFnWinVerifyTrust)GetProcAddress(hWinTrust, WINTRUSTAPI_WinVerifyTrust);
PFnWTHelperProvDataFromStateData pfnWTHelperProvDataFromStateData= (PFnWTHelperProvDataFromStateData)GetProcAddress(hWinTrust, WINTRUSTAPI_WTHelperProvDataFromStateData);
PFnWTHelperGetProvSignerFromChain pfnWTHelperGetProvSignerFromChain = (PFnWTHelperGetProvSignerFromChain)GetProcAddress(hWinTrust, WINTRUSTAPI_WTHelperGetProvSignerFromChain);
PFnWTHelperGetProvCertFromChain pfnWTHelperGetProvCertFromChain = (PFnWTHelperGetProvCertFromChain)GetProcAddress(hWinTrust, WINTRUSTAPI_WTHelperGetProvCertFromChain);
if (!pfnWinVerifyTrust || !pfnWTHelperProvDataFromStateData || !pfnWTHelperGetProvSignerFromChain || !pfnWTHelperGetProvCertFromChain)
{
// WinTrust is unavailable on the machine
FreeLibrary(hWinTrust);
return itvWintrustNotOnMachine;
}
hr = pfnWinVerifyTrust(/* UI Window Handle */ (dwUIChoice == WTD_UI_NONE) ? (HWND)INVALID_HANDLE_VALUE : hwndParent, &guidAction, &sWintrustData);
DebugMsg("[WVT] WVT returned 0x%X\n", hr);
itv = (TRUST_E_PROVIDER_UNKNOWN == hr) ? itvWintrustNotOnMachine : ((S_OK == hr) ? itvTrusted : itvUnTrusted);
if (itvWintrustNotOnMachine == itv)
{
// release state data
sWintrustData.dwUIChoice = WTD_UI_NONE;
sWintrustData.dwStateAction = WTD_STATEACTION_CLOSE;
pfnWinVerifyTrust((HWND)INVALID_HANDLE_VALUE, &guidAction, &sWintrustData);
FreeLibrary(hWinTrust);
return itv; // return immediately
}
if (pfIsSigned)
*pfIsSigned = (TRUST_E_NOSIGNATURE == hr) ? false : true;
if (TRUST_E_NOSIGNATURE == hr)
{
// release state data
sWintrustData.dwUIChoice = WTD_UI_NONE;
sWintrustData.dwStateAction = WTD_STATEACTION_CLOSE;
pfnWinVerifyTrust((HWND)INVALID_HANDLE_VALUE, &guidAction, &sWintrustData);
FreeLibrary(hWinTrust);
return itv;
}
if (ppcSigner)
{
CRYPT_PROVIDER_DATA const *psProvData = NULL;
CRYPT_PROVIDER_SGNR *psProvSigner = NULL;
CRYPT_PROVIDER_CERT *psProvCert = NULL;
// grab the provider data
psProvData = pfnWTHelperProvDataFromStateData(sWintrustData.hWVTStateData);
if (psProvData)
{
// grab the signer data from the CRYPT_PROV_DATA
psProvSigner = pfnWTHelperGetProvSignerFromChain((PCRYPT_PROVIDER_DATA)psProvData, 0 /*first signer*/, FALSE /* not a counter signer */, 0);
if (psProvSigner)
{
// grab the signer cert from CRYPT_PROV_SGNR (pos 0 = signer cert; pos csCertChain-1 = root cert)
psProvCert = pfnWTHelperGetProvCertFromChain(psProvSigner, 0);
}
}
//.........这里部分代码省略.........
示例15: SHGetTaskAllocator
LPMALLOC SHGetTaskAllocator(HRESULT *phres)
{
HRESULT hres = NOERROR;
//
// Check if the task allocator is already initialized or not.
//
if (g_pmemTask == NULL)
{
//
// Check if OLE32 is loaded in this process or not.
//
HMODULE hmod = GetModuleHandle(c_szOLE32);
#ifdef DONTUSE_TASKALLOCATOR
// We don't use OLE's task allocator if this is a low-memory machine
// AND OLE32.DLL is retail.
//
// WARNING:
// We don't use OLE's task allocator unless OLE32.DLL is a debug
// version. To find it out, we call GetProcAddress of DumpMEMSTM.
// Note that retail version of OLE just allocate memory from
// the default process heap (which LocalAlloc uses).
//
BOOL fSlow = (GetSystemMetrics(SM_SLOWMACHINE) & 0x0002);
if (hmod && !(fSlow && !_IsDebugOLE(hmod)))
#else
#ifdef DEBUG
if (TRUE)
#else
if (hmod)
#endif
#endif // DONTUSE_TASKALLOCATOR
{
//
// Yes, get the task allocator from OLE.
//
LPFNCOGETMALLOC pfnGetMalloc;
//
// Bump the reference count of OLE32.DLL
// Notes:
// We don't know when we can safely call _UnloadOLE, but
// that's ok -- it will just stay in this process until
// the process terminate.
//
STDAPI _LoadOLE(BOOL fRegisterTargets); // BUGBUG - BobDay - Move this into a headerfile
#ifndef WINNT
_LoadOLE(FALSE);
#else
//
// On NT, if we're going to go about loading OLE we might as well
// hand off drop targets, etc, right now.
//
// BUGBUG If _LoadOLE(FALSE) is ever called before _LoadOLE(TRUE)
// (as would be case if SHGetTaskAllocator() was called before a
// view was openend), Ole will never be initialized. So, we call
// with TRUE here in case that happens.
_LoadOLE(TRUE);
#endif
#ifdef DEBUG
hmod = GetModuleHandle(c_szOLE32);
#endif
pfnGetMalloc=(LPFNCOGETMALLOC)GetProcAddress(hmod, c_szCoGetMalloc);
if (pfnGetMalloc)
{
hres=pfnGetMalloc(MEMCTX_TASK, &g_pmemTask);
if (FAILED(hres))
{
//
// CoGetMalloc failed. It means (typically) a shell
// extension called SHAlloc from within LibMain before
// the main app calls OleInitialize().
//
DebugMsg(DM_WARNING, TEXT("sh WR - CoGetMalloc failed (%x)"), hres);
Assert(g_pmemTask==NULL);
}
}
else
{
hres = ResultFromScode(E_UNEXPECTED);
}
}
else
{
//
// No, use the shell task allocator (which is LocalAlloc).
//
g_pmemTask = &c_mem;
}
}
if (phres) {
//.........这里部分代码省略.........