Lines Matching defs:pNtViRdr

214     PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pReader;
215 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
224 if (pNtViRdr->hEvent)
226 rcNt = NtClearEvent(pNtViRdr->hEvent);
237 rcNt = NtReadFile(pNtViRdr->hFile,
238 pNtViRdr->hEvent,
255 rcNt = NtWaitForSingleObject(pNtViRdr->hEvent ? pNtViRdr->hEvent : pNtViRdr->hFile, FALSE /*Alertable*/, NULL);
266 pNtViRdr->off = off + cb; /* (just for show) */
272 Ios.Information, off, cb, pNtViRdr->szFilename);
275 pNtViRdr->off = -1;
283 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pReader;
284 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
285 return pNtViRdr->off;
292 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pReader;
293 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
294 return pNtViRdr->cbFile;
301 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pReader;
302 return pNtViRdr->szFilename;
323 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pReader;
324 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
326 pNtViRdr->Core.uMagic = ~RTLDRREADER_MAGIC;
327 pNtViRdr->hFile = NULL;
329 if (pNtViRdr->hEvent)
331 NtClose(pNtViRdr->hEvent);
332 pNtViRdr->hEvent = NULL;
335 RTMemFree(pNtViRdr);
393 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)RTMemAllocZ(sizeof(*pNtViRdr) + cchFilename);
394 if (!pNtViRdr)
408 char *pszName = &pNtViRdr->szFilename[0];
410 AssertStmt(RT_SUCCESS(rc), pNtViRdr->szFilename[0] = '\0');
413 pNtViRdr->szFilename[0] = '\0';
415 pNtViRdr->Core.uMagic = RTLDRREADER_MAGIC;
416 pNtViRdr->Core.pfnRead = supHardNtViRdrRead;
417 pNtViRdr->Core.pfnTell = supHardNtViRdrTell;
418 pNtViRdr->Core.pfnSize = supHardNtViRdrSize;
419 pNtViRdr->Core.pfnLogName = supHardNtViRdrLogName;
420 pNtViRdr->Core.pfnMap = supHardNtViRdrMap;
421 pNtViRdr->Core.pfnUnmap = supHardNtViRdrUnmap;
422 pNtViRdr->Core.pfnDestroy = supHardNtViRdrDestroy;
423 pNtViRdr->hFile = hFile;
424 pNtViRdr->hEvent = hEvent;
425 pNtViRdr->off = 0;
426 pNtViRdr->cbFile = StdInfo.EndOfFile.QuadPart;
427 pNtViRdr->fFlags = fFlags;
428 *ppNtViRdr = pNtViRdr;
928 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pvUser;
929 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
954 if (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING)
1023 PSUPHNTVIRDR pNtViRdr = (PSUPHNTVIRDR)pvUser;
1024 Assert(pNtViRdr->Core.uMagic == RTLDRREADER_MAGIC);
1036 if (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_BUILD_CERT)
1053 RTTimeSpecSetSeconds(&ValidationTime, pNtViRdr->uTimestamp);
1063 &ValidationTime, supHardNtViCertVerifyCallback, pNtViRdr, pErrInfo);
1075 * @param pNtViRdr The reader instance /w flags.
1081 DECLHIDDEN(int) supHardenedWinVerifyImageByLdrMod(RTLDRMOD hLdrMod, PCRTUTF16 pwszName, PSUPHNTVIRDR pNtViRdr,
1116 if ( (pNtViRdr->fFlags & SUPHNTVI_F_TRUSTED_INSTALLER_OWNER)
1117 && !supHardNtViCheckIsOwnedByTrustedInstallerOrSimilar(pNtViRdr->hFile, pwszName))
1147 int rc = RTLdrQueryProp(hLdrMod, RTLDRPROP_TIMESTAMP_SECONDS, &pNtViRdr->uTimestamp, sizeof(pNtViRdr->uTimestamp));
1151 if ( (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_KERNEL_CODE_SIGNING)
1152 && (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT)
1153 && pNtViRdr->uTimestamp < g_uBuildTimestampHack)
1154 pNtViRdr->uTimestamp = g_uBuildTimestampHack;
1157 rc = RTLdrVerifySignature(hLdrMod, supHardNtViCallback, pNtViRdr, pErrInfo);
1160 if ((pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_BUILD_CERT) && g_uBuildTimestampHack == 0 && RT_SUCCESS(rc))
1161 g_uBuildTimestampHack = pNtViRdr->uTimestamp;
1169 rc = supHardNtViCheckIfNotSignedOk(hLdrMod, pwszName, pNtViRdr->fFlags, pNtViRdr->hFile, rc);
1176 if (RT_SUCCESS(rc) && (pNtViRdr->fFlags & SUPHNTVI_F_REQUIRE_SIGNATURE_ENFORCEMENT))
1196 rc = supHardenedWinVerifyImageTrust(pNtViRdr->hFile, pwszName, pNtViRdr->fFlags, rc, pfWinVerifyTrust, pErrInfo);
1231 PSUPHNTVIRDR pNtViRdr;
1232 int rc = supHardNtViRdrCreate(hFile, pwszName, fFlags, &pNtViRdr);
1243 rc = RTLdrOpenWithReader(&pNtViRdr->Core, fLdrFlags, enmArch, &hLdrMod, pErrInfo);
1249 rc = supHardenedWinVerifyImageByLdrMod(hLdrMod, pwszName, pNtViRdr, fAvoidWinVerifyTrust, pfWinVerifyTrust, pErrInfo);
1253 supHardNtViRdrDestroy(&pNtViRdr->Core);