|
|
#define DUMP // leave enabled...
#include "globals.h"
#include "switches.h"
#include <windows.h>
#include <windowsx.h>
#include <io.h>
#include <malloc.h>
#include <string.h>
#if DBG
void __cdecl dprintf(LPTSTR szFormat, ...) { static TCHAR tmpStr[1024]; va_list marker;
va_start(marker, szFormat); wvsprintf(tmpStr, szFormat, marker); OutputDebugString(tmpStr); va_end(marker);
} // dprintf
BOOL fDoEntireList = FALSE;
void DumpConvertList(CONVERT_LIST *pConvertList) { if (pConvertList) { dprintf( TEXT("+++CONVERT_LIST(0x%08lx)"), pConvertList ); dprintf( TEXT("\r\n\tnext = 0x%08lx") TEXT("\r\n\tprev = 0x%08lx") TEXT("\r\n\tSourceServ = 0x%08lx") TEXT("\r\n\tFileServ = 0x%08lx") TEXT("\r\n\tConvertOptions = 0x%08lx") TEXT("\r\n\tFileOptions = 0x%08lx\r\n"), pConvertList->next, pConvertList->prev, pConvertList->SourceServ, pConvertList->FileServ, pConvertList->ConvertOptions, pConvertList->FileOptions );
if (pConvertList->SourceServ) DumpSourceServerBuffer(pConvertList->SourceServ);
if (pConvertList->FileServ) DumpDestServerBuffer(pConvertList->FileServ);
if (fDoEntireList && pConvertList->next) DumpConvertList(pConvertList->next);
dprintf( TEXT("---CONVERT_LIST(0x%08lx)\r\n"), pConvertList ); } else dprintf(TEXT("Null pConvertList\r\n"));
} // DumpConvertList
void DumpDestServerBuffer(DEST_SERVER_BUFFER *pDestServerBuffer) { if (pDestServerBuffer) { dprintf( TEXT("+++DEST_SERVER_BUFFER(0x%08lx)"), pDestServerBuffer );
dprintf( TEXT("\r\n\tnext = 0x%08lx") TEXT("\r\n\tprev = 0x%08lx") TEXT("\r\n\tIndex = 0x%08lx") TEXT("\r\n\tType = 0x%08lx") TEXT("\r\n\tVerMaj = 0x%08lx") TEXT("\r\n\tVerMin = 0x%08lx") TEXT("\r\n\tLName = %s") TEXT("\r\n\tName = %s") TEXT("\r\n\tShareList = 0x%08lx") TEXT("\r\n\tNumVShares = 0x%08lx") TEXT("\r\n\tVShareStart = 0x%08lx") TEXT("\r\n\tVShareEnd = 0x%08lx") TEXT("\r\n\tUseCount = 0x%08lx") TEXT("\r\n\tIsNTAS = 0x%08lx") TEXT("\r\n\tIsFPNW = 0x%08lx") TEXT("\r\n\tInDomain = 0x%08lx") TEXT("\r\n\tDomain = 0x%08lx") TEXT("\r\n\tDriveList = 0x%08lx\r\n"), pDestServerBuffer->next, pDestServerBuffer->prev, pDestServerBuffer->Index, pDestServerBuffer->Type, pDestServerBuffer->VerMaj, pDestServerBuffer->VerMin, pDestServerBuffer->LName, pDestServerBuffer->Name, pDestServerBuffer->ShareList, pDestServerBuffer->NumVShares, pDestServerBuffer->VShareStart, pDestServerBuffer->VShareEnd, pDestServerBuffer->UseCount, pDestServerBuffer->IsNTAS, pDestServerBuffer->IsFPNW, pDestServerBuffer->InDomain, pDestServerBuffer->Domain, pDestServerBuffer->DriveList );
if (pDestServerBuffer->DriveList) DumpDriveList(pDestServerBuffer->DriveList);
if (pDestServerBuffer->ShareList) DumpShareList(pDestServerBuffer->ShareList);
if (pDestServerBuffer->VShareStart) DumpVirtualShareBuffer(pDestServerBuffer->VShareStart);
if (pDestServerBuffer->Domain) DumpDomainBuffer(pDestServerBuffer->Domain);
if (fDoEntireList && pDestServerBuffer->next) DumpDestServerBuffer(pDestServerBuffer->next);
dprintf( TEXT("---DEST_SERVER_BUFFER(0x%08lx)\r\n"), pDestServerBuffer ); } else dprintf(TEXT("Null pDestServerBuffer\r\n"));
} // DumpDestServerBuffer
void DumpSourceServerBuffer(SOURCE_SERVER_BUFFER *pSourceServerBuffer) { if (pSourceServerBuffer) { dprintf( TEXT("+++SOURCE_SERVER_BUFFER(0x%08lx)"), pSourceServerBuffer );
dprintf( TEXT("\r\n\tnext = 0x%08lx") TEXT("\r\n\tprev = 0x%08lx") TEXT("\r\n\tIndex = 0x%08lx") TEXT("\r\n\tType = 0x%08lx") TEXT("\r\n\tVerMaj = 0x%08lx") TEXT("\r\n\tVerMin = 0x%08lx") TEXT("\r\n\tLName = %s") TEXT("\r\n\tName = %s") TEXT("\r\n\tShareList = 0x%08lx\r\n"), pSourceServerBuffer->next, pSourceServerBuffer->prev, pSourceServerBuffer->Index, pSourceServerBuffer->Type, pSourceServerBuffer->VerMaj, pSourceServerBuffer->VerMin, pSourceServerBuffer->LName, pSourceServerBuffer->Name, pSourceServerBuffer->ShareList );
if (pSourceServerBuffer->ShareList) DumpShareList(pSourceServerBuffer->ShareList);
if (fDoEntireList && pSourceServerBuffer->next) DumpSourceServerBuffer(pSourceServerBuffer->next);
dprintf( TEXT("---SOURCE_SERVER_BUFFER(0x%08lx)\r\n"), pSourceServerBuffer ); } else dprintf(TEXT("Null pSourceServerBuffer\r\n"));
} // DumpSourceServerBuffer
void DumpDomainBuffer(DOMAIN_BUFFER *pDomainBuffer) { if (pDomainBuffer) { dprintf( TEXT("+++DOMAIN_BUFFER(0x%08lx)"), pDomainBuffer );
dprintf( TEXT("\r\n\tnext = 0x%08lx") TEXT("\r\n\tprev = 0x%08lx") TEXT("\r\n\tIndex = 0x%08lx") TEXT("\r\n\tName = %s") TEXT("\r\n\tPDCName = %s") TEXT("\r\n\tType = 0x%08lx") TEXT("\r\n\tVerMaj = 0x%08lx") TEXT("\r\n\tVerMin = 0x%08lx") TEXT("\r\n\tUseCount = 0x%08lx\r\n"), pDomainBuffer->next, pDomainBuffer->prev, pDomainBuffer->Index, pDomainBuffer->Name, pDomainBuffer->PDCName, pDomainBuffer->Type, pDomainBuffer->VerMaj, pDomainBuffer->VerMin, pDomainBuffer->UseCount );
if (fDoEntireList && pDomainBuffer->next) DumpDomainBuffer(pDomainBuffer->next);
dprintf( TEXT("---DOMAIN_BUFFER(0x%08lx)\r\n"), pDomainBuffer ); } else dprintf(TEXT("Null pDomainBuffer\r\n"));
} // DumpDomainBuffer
void DumpVirtualShareBuffer(VIRTUAL_SHARE_BUFFER *pVirtualShareBuffer) { if (pVirtualShareBuffer) { dprintf( TEXT("+++VIRTUAL_SHARE_BUFFER(0x%08lx)"), pVirtualShareBuffer );
dprintf( TEXT("\r\n\tVFlag = 0x%08lx") TEXT("\r\n\tnext = 0x%08lx") TEXT("\r\n\tprev = 0x%08lx") TEXT("\r\n\tIndex = 0x%08lx") TEXT("\r\n\tName = %s") TEXT("\r\n\tUseCount = 0x%08lx") TEXT("\r\n\tPath = %s") TEXT("\r\n\tDrive = 0x%08lx\r\n"), pVirtualShareBuffer->VFlag, pVirtualShareBuffer->next, pVirtualShareBuffer->prev, pVirtualShareBuffer->Index, pVirtualShareBuffer->Name, pVirtualShareBuffer->UseCount, pVirtualShareBuffer->Path, pVirtualShareBuffer->Drive );
if (pVirtualShareBuffer->Drive) DumpDriveBuffer(pVirtualShareBuffer->Drive);
if (fDoEntireList && pVirtualShareBuffer->next) DumpVirtualShareBuffer(pVirtualShareBuffer->next);
dprintf( TEXT("---VIRTUAL_SHARE_BUFFER(0x%08lx)\r\n"), pVirtualShareBuffer ); } else dprintf(TEXT("Null pVirtualShareBuffer\r\n"));
} // DumpVirtualShareBuffer
void DumpShareList(SHARE_LIST *pShareList) { ULONG index; if (pShareList) { dprintf( TEXT(">>>SHARE_LIST(0x%08lx)(%d entries, %d converting, %s)\r\n"), pShareList, pShareList->Count, pShareList->ConvertCount, pShareList->Fixup ? TEXT("FIXUP") : TEXT("NO FIXUP") ); for (index = 0; index < pShareList->Count; index++ ) DumpShareBuffer(&pShareList->SList[index]); } else dprintf(TEXT("Null pShareList\r\n"));
} // DumpShareList
void DumpShareBuffer(SHARE_BUFFER *pShareBuffer) { if (pShareBuffer) { dprintf( TEXT("+++SHARE_BUFFER(0x%08lx)"), pShareBuffer );
dprintf( TEXT("\r\n\tVFlag = 0x%08lx") TEXT("\r\n\tIndex = 0x%08lx") TEXT("\r\n\tName = %s") TEXT("\r\n\tConvert = 0x%08lx") TEXT("\r\n\tHiddenFiles = 0x%08lx") TEXT("\r\n\tSystemFiles = 0x%08lx") TEXT("\r\n\tToFat = 0x%08lx") TEXT("\r\n\tRoot = 0x%08lx") TEXT("\r\n\tDrive = 0x%08lx") TEXT("\r\n\tSize = 0x%08lx") TEXT("\r\n\tPath = %s") TEXT("\r\n\tSubDir = %s") TEXT("\r\n\tVirtual = 0x%08lx") TEXT("\r\n\tDestShare = 0x%08lx\r\n"), pShareBuffer->VFlag, pShareBuffer->Index, pShareBuffer->Name, pShareBuffer->Convert, pShareBuffer->HiddenFiles, pShareBuffer->SystemFiles, pShareBuffer->ToFat, pShareBuffer->Root, pShareBuffer->Drive, pShareBuffer->Size, pShareBuffer->Path, pShareBuffer->SubDir, pShareBuffer->Virtual, pShareBuffer->DestShare );
if (pShareBuffer->Root) DumpDirBuffer(pShareBuffer->Root);
if (pShareBuffer->Drive) DumpDriveBuffer(pShareBuffer->Drive);
if (pShareBuffer->DestShare) if (!pShareBuffer->Virtual) DumpShareBuffer(pShareBuffer->DestShare); else DumpVirtualShareBuffer((VIRTUAL_SHARE_BUFFER *)pShareBuffer->DestShare);
dprintf( TEXT("---SHARE_BUFFER(0x%08lx)\r\n"), pShareBuffer ); } else dprintf(TEXT("Null pShareBuffer\r\n"));
} // DumpShareBuffer
void DumpDriveList(DRIVE_LIST *pDriveList) { ULONG index; if (pDriveList) { dprintf(TEXT(">>>DRIVE_LIST(0x%08lx)(%d entries)\r\n"), pDriveList, pDriveList->Count); for (index = 0; index < pDriveList->Count; index++ ) DumpDriveBuffer(&pDriveList->DList[index]); } else dprintf(TEXT("Null pDriveList\r\n"));
} // DumpDriveList
void DumpDriveBuffer(DRIVE_BUFFER *pDriveBuffer) { if (pDriveBuffer) { dprintf( TEXT("+++DRIVE_BUFFER(0x%08lx)"), pDriveBuffer );
dprintf( TEXT("\r\n\tType = 0x%08lx") TEXT("\r\n\tDrive = %s") TEXT("\r\n\tDriveType = %s") TEXT("\r\n\tName = %s") TEXT("\r\n\tTotalSpace = 0x%08lx") TEXT("\r\n\tFreeSpace = 0x%08lx") TEXT("\r\n\tAllocSpace = 0x%08lx\r\n"), pDriveBuffer->Type, pDriveBuffer->Drive, pDriveBuffer->DriveType, pDriveBuffer->Name, pDriveBuffer->TotalSpace, pDriveBuffer->FreeSpace, pDriveBuffer->AllocSpace );
dprintf( TEXT("---DRIVE_BUFFER(0x%08lx)\r\n"), pDriveBuffer ); } else dprintf(TEXT("Null pDriveBuffer)\r\n"));
} // DumpDriveBuffer
void DumpDirBuffer(DIR_BUFFER *pDirBuffer) { if (pDirBuffer) { dprintf( TEXT("+++DIR_BUFFER(0x%08lx)"), pDirBuffer );
dprintf( TEXT("\r\n\tName = %s") TEXT("\r\n\tparent = 0x%08lx") TEXT("\r\n\tLast = 0x%08lx") TEXT("\r\n\tAttributes = 0x%08lx") TEXT("\r\n\tConvert = 0x%08lx") TEXT("\r\n\tSpecial = 0x%08lx") TEXT("\r\n\tDirList = 0x%08lx") TEXT("\r\n\tFileList = 0x%08lx\r\n"), pDirBuffer->Name, pDirBuffer->parent, pDirBuffer->Last, pDirBuffer->Attributes, pDirBuffer->Convert, pDirBuffer->Special, pDirBuffer->DirList, pDirBuffer->FileList );
// if (pDirBuffer->DirList)
// DumpDirList(pDirBuffer->DirList);
// if (pDirBuffer->FileList)
// DumpFileList(pDirBuffer->FileList);
dprintf( TEXT("---DIR_BUFFER(0x%08lx)\r\n"), pDirBuffer ); } else dprintf(TEXT("Null pDirBuffer\r\n"));
} // DumpDirBuffer
#endif
|