Changeset 19975 in vbox for trunk/src/VBox
- Timestamp:
- May 24, 2009 7:44:58 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 47677
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/nt/initterm-r0drv-nt.cpp
r19971 r19975 92 92 ULONG MinorVersion = 0; 93 93 ULONG BuildNumber = 0; 94 PsGetVersion(&MajorVersion, &MinorVersion, &BuildNumber, NULL);94 BOOLEAN fChecked = PsGetVersion(&MajorVersion, &MinorVersion, &BuildNumber, NULL); 95 95 96 96 KIRQL OldIrql; … … 136 136 g_offrtNtPbDpcQueueDepth = 0x1f00 + 0x18; 137 137 } 138 /** @todo proper detection!*/139 else if (pbPrcb[0x3375] <= 1)138 else if ( BuildNumber == 6000 /* Vista/AMD64 */ 139 && !memcmp(&pbPrcb[0x38bc], &u.szVendor[0], 4*3)) 140 140 { 141 141 g_offrtNtPbQuantumEnd = 0x3375; 142 142 g_cbrtNtPbQuantumEnd = 1; 143 g_offrtNtPbDpcQueueDepth = 0 ;143 g_offrtNtPbDpcQueueDepth = 0x3300 + 0x18; 144 144 } 145 145 … … 148 148 #endif 149 149 } 150 __except(EXCEPTION_EXECUTE_HANDLER) 150 __except(EXCEPTION_EXECUTE_HANDLER) /** @todo this handler doesn't seem to work... */ 151 151 { 152 152 g_offrtNtPbQuantumEnd = 0; … … 159 159 #ifndef IN_GUEST /** @todo fix above for all Nt versions. */ 160 160 if (!g_offrtNtPbQuantumEnd && !g_offrtNtPbDpcQueueDepth) 161 DbgPrint("IPRT: Neither _KPRCB::QuantumEnd nor _KPRCB::DpcQueueDepth was not found!\n"); 161 DbgPrint("IPRT: Neither _KPRCB::QuantumEnd nor _KPRCB::DpcQueueDepth was not found! Kernel %u.%u %u %s\n", 162 MajorVersion, MinorVersion, BuildNumber, fChecked ? "checked" : "free"); 163 # ifdef DEBUG 164 else 165 DbgPrint("IPRT: _KPRCB:{.QuantumEnd=%x/%d, .DpcQueueDepth=%x/%d} Kernel %ul.%ul %ul %s\n", 166 g_offrtNtPbQuantumEnd, g_cbrtNtPbQuantumEnd, g_offrtNtPbDpcQueueDepth, 167 MajorVersion, MinorVersion, BuildNumber, fChecked ? "checked" : "free"); 168 # endif 162 169 #endif 163 170
Note:
See TracChangeset
for help on using the changeset viewer.