Changeset 52737 in vbox
- Timestamp:
- Sep 13, 2014 9:58:40 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp
r52736 r52737 2134 2134 2135 2135 2136 /** 2137 * Helper for supdrvNtProtectGetAlpcPortObjectType that tries out a name. 2138 * 2139 * @returns true if done, false if not. 2140 * @param pwszPortNm The port path. 2141 * @param ppObjType The object type return variable, updated when 2142 * returning true. 2143 */ 2136 2144 static bool supdrvNtProtectGetAlpcPortObjectType2(PCRTUTF16 pwszPortNm, POBJECT_TYPE *ppObjType) 2137 2145 { … … 2170 2178 2171 2179 2180 /** 2181 * Attempts to retrieve the ALPC Port object type. 2182 * 2183 * We've had at least three reports that using LpcPortObjectType when trying to 2184 * get at the ApiPort object results in STATUS_OBJECT_TYPE_MISMATCH errors. 2185 * It's not known who has modified LpcPortObjectType or AlpcPortObjectType (not 2186 * exported) so that it differs from the actual ApiPort type, or maybe this 2187 * unknown entity is intercepting our attempt to reference the port and 2188 * tries to mislead us. The paranoid explanataion is of course that some evil 2189 * root kit like software is messing with the OS, however, it's possible that 2190 * this is valid kernel behavior that 99.8% of our users and 100% of the 2191 * developers are not triggering for some reason. 2192 * 2193 * The code here creates an ALPC port object and gets it's type. It will cache 2194 * the result in g_pAlpcPortObjectType2 on success. 2195 * 2196 * @returns Object type. 2197 * @param uSessionId The session id. 2198 * @param pszSessionId The session id formatted as a string. 2199 */ 2172 2200 static POBJECT_TYPE supdrvNtProtectGetAlpcPortObjectType(uint32_t uSessionId, const char *pszSessionId) 2173 2201 {
Note:
See TracChangeset
for help on using the changeset viewer.