Lines Matching defs:pRdr

476     PDBGDIGGERWINNTRDR  pRdr = (PDBGDIGGERWINNTRDR)RTMemAlloc(RT_OFFSETOF(DBGDIGGERWINNTRDR, aMappings[cShs + 2]));
477 if (!pRdr)
481 pRdr->pUVM = pUVM;
482 pRdr->ImageAddr = *pImageAddr;
483 pRdr->cbImage = cbImage;
484 pRdr->cbCorrectImageSize = cbImage;
485 pRdr->offSizeOfImage = UINT32_MAX;
486 pRdr->iHint = 0;
504 &pRdr->cbCorrectImageSize))
506 pRdr->cMappings = 0;
513 if (!pRdr->cMappings)
514 pRdr->cMappings++;
517 while (j < pRdr->cMappings && pRdr->aMappings[j].offFile < paShs[i].PointerToRawData)
519 if (j < pRdr->cMappings)
520 memmove(&pRdr->aMappings[j + 1], &pRdr->aMappings[j], (pRdr->cMappings - j) * sizeof(pRdr->aMappings));
522 pRdr->aMappings[j].offFile = paShs[i].PointerToRawData;
523 pRdr->aMappings[j].offMem = paShs[i].VirtualAddress;
524 pRdr->aMappings[j].cbMem = i + 1 < cShs
527 if (j == pRdr->cMappings)
528 pRdr->cbImage = paShs[i].PointerToRawData + paShs[i].SizeOfRawData;
529 pRdr->cMappings++;
533 pRdr->aMappings[0].offFile = 0;
534 pRdr->aMappings[0].offMem = 0;
535 pRdr->aMappings[0].cbMem = pRdr->cMappings ? pRdr->aMappings[1].offFile : pRdr->cbImage;
537 int j = pRdr->cMappings - 1;
540 uint32_t cbFile = pRdr->aMappings[j + 1].offFile - pRdr->aMappings[j].offFile;
541 if (pRdr->aMappings[j].cbMem > cbFile)
542 pRdr->aMappings[j].cbMem = cbFile;
550 pRdr->cMappings = 1;
551 pRdr->aMappings[0].offFile = 0;
552 pRdr->aMappings[0].offMem = 0;
553 pRdr->aMappings[0].cbMem = pRdr->cbImage;
557 if (pRdr->cbCorrectImageSize != cbImage)
559 Log(("DigWinNT: The image is really %#x bytes long, not %#x as mapped by NT!\n", pRdr->cbCorrectImageSize, cbImage));
560 pRdr->offSizeOfImage = pThis->f32Bit
570 int rc = RTLdrOpenInMemory(pszName, RTLDR_O_FOR_DEBUG, RTLDRARCH_WHATEVER, pRdr->cbImage,
571 dbgDiggerWinNtRdr_Read, dbgDiggerWinNtRdr_Dtor, pRdr,