140 lines
4 KiB
C++
140 lines
4 KiB
C++
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Microsoft Windows
|
|||
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|||
|
//
|
|||
|
// File: dbgprt.hxx
|
|||
|
//
|
|||
|
// Contents: Routines to make printing trace info for debugging easier
|
|||
|
//
|
|||
|
// History: 31-Jan-95 Ricksa Created
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
|
|||
|
#include "act.hxx"
|
|||
|
|
|||
|
// This file only produces code for the debug version of the SCM
|
|||
|
|
|||
|
#if DBG == 1
|
|||
|
|
|||
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Function: FormatGuid
|
|||
|
//
|
|||
|
// Synopsis: Format a binary guid for display on debugger
|
|||
|
//
|
|||
|
// Arguments: [rguid] - guid to display
|
|||
|
// [pwszGuid] - where to put displayable form
|
|||
|
//
|
|||
|
// Returns: pointer to guid string
|
|||
|
//
|
|||
|
// History: 01-May-93 Ricksa Created
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
WCHAR *FormatGuid(const GUID& rguid, WCHAR *pwszGuid)
|
|||
|
{
|
|||
|
|
|||
|
wsprintf(pwszGuid, L"%08lX-%04X-%04X-%02X%02X%02X%02X%02X%02X%02X%02X",
|
|||
|
rguid.Data1, rguid.Data2, rguid.Data3, (int) rguid.Data4[0],
|
|||
|
(int) rguid.Data4[1], (int) rguid.Data4[2], (int) rguid.Data4[3],
|
|||
|
(int) rguid.Data4[4], (int) rguid.Data4[5],
|
|||
|
(int) rguid.Data4[6], (int) rguid.Data4[7]);
|
|||
|
|
|||
|
return pwszGuid;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void DbgPrintFileTime(char *pszDesc, FILETIME *pfiletime)
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Low: %04X High: %04X\n",
|
|||
|
pszDesc, pfiletime->dwLowDateTime, pfiletime->dwHighDateTime));
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintGuid(char *pszDesc, const GUID *pguid)
|
|||
|
{
|
|||
|
WCHAR aszGuidStr[48];
|
|||
|
|
|||
|
CairoleDebugOut((DEB_SCM, "%s %ws\n", pszDesc,
|
|||
|
FormatGuid(*pguid, &aszGuidStr[0])));
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintIFD(char *pszDesc, InterfaceData *pifd)
|
|||
|
{
|
|||
|
|
|||
|
if (pifd != NULL)
|
|||
|
{
|
|||
|
BYTE *pb = &pifd->abData[0];
|
|||
|
|
|||
|
CairoleDebugOut((DEB_SCM,
|
|||
|
"%s Addr %04X Len: %04X Data: %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X\n",
|
|||
|
pszDesc, pifd, pifd->ulCntData, pb[0], pb[1], pb[2], pb[3],
|
|||
|
pb[4], pb[5], pb[6], pb[7], pb[8], pb[9], pb[10], pb[11]));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Addr %04X", pszDesc, pifd));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintMkIfList(char *pszDesc, MkInterfaceList **ppMkIFList)
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Addr: %l04X Count: %04X\n",
|
|||
|
pszDesc, *ppMkIFList, (*ppMkIFList)->dwSize));
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintMnkEqBuf(char *pszDesc, MNKEQBUF *pmkeqbuf)
|
|||
|
{
|
|||
|
GUID *pguid = (GUID *) &pmkeqbuf->abEqData[0];
|
|||
|
WCHAR aszGuidStr[48];
|
|||
|
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Addr %04X Len: %04X Clsid: %ws\n",
|
|||
|
pszDesc, pmkeqbuf, pmkeqbuf->cdwSize,
|
|||
|
FormatGuid(*pguid, &aszGuidStr[0])));
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintRegIn(char *pszDesc, RegInput *pregin)
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Count: %04X\n", pszDesc, pregin->dwSize));
|
|||
|
|
|||
|
// Loop printing the registrations
|
|||
|
for (DWORD i = 0; i < pregin->dwSize; i++)
|
|||
|
{
|
|||
|
DbgPrintGuid("CLSID: ", &pregin->rginent[i].clsid);
|
|||
|
#ifdef DCOM
|
|||
|
ULARGE_INTEGER *puint = (ULARGE_INTEGER *)&pregin->rginent[i].oxid;
|
|||
|
CairoleDebugOut((DEB_SCM, "OXID: %08x %08x\n",
|
|||
|
puint->HighPart, puint->LowPart));
|
|||
|
DbgPrintGuid("IPID: ", &pregin->rginent[i].ipid);
|
|||
|
#else
|
|||
|
CairoleDebugOut((DEB_SCM, "EndPoint: %ws\n",
|
|||
|
pregin->rginent[i].pwszEndPoint));
|
|||
|
#endif
|
|||
|
CairoleDebugOut((DEB_SCM, "Flags: %04X\n",
|
|||
|
pregin->rginent[i].dwFlags));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintRevokeClasses(char *pszDesc, RevokeClasses *prevcls)
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s Count: %04X\n", pszDesc, prevcls->dwSize));
|
|||
|
|
|||
|
// Loop printing the registrations
|
|||
|
for (DWORD i = 0; i < prevcls->dwSize; i++)
|
|||
|
{
|
|||
|
DbgPrintGuid("CLSID: ", &prevcls->revent[i].clsid);
|
|||
|
CairoleDebugOut((DEB_SCM, "Reg: %04X\n",
|
|||
|
prevcls->revent[i].dwReg));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void DbgPrintScmRegKey(char *pszDesc, SCMREGKEY *psrkRegister)
|
|||
|
{
|
|||
|
CairoleDebugOut((DEB_SCM, "%s EntryLoc: %04X ScmId: %04X\n", pszDesc,
|
|||
|
psrkRegister->dwEntryLoc, psrkRegister->dwScmId));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endif // DBG == 1
|
|||
|
|