Implement I_BrowserrDebugTrace and I_BrowserServerEnum. This functions calls their counterpart in the computer browser service.
svn path=/trunk/; revision=75196
- Implemented RxCompleteSrvOpenKeyAssociation(), RxInitiateSrvOpenKeyAssociation(), RxProcessChangeBufferingStateRequests()
- Implemented RxFinalizeFcbTable(), RxFinalizeNetFobx(), RxFinalizeNetRoot(), RxFinalizeSrvCall(), RxFinalizeVNetRoot(), RxFreeObject(), RxpDestroySrvCall(), RxRemovePrefixTableEntry(), RxRemoveVirtualNetRootFromNetRoot(), RxScavengeRelatedFobxs(), RxTearDownBufferingManager(), RxUndoScavengerFinalizationMarking()
- Implemented RxPostToWorkerThread()
- Implemented RxFlushFcbInSystemCache(), RxPurgeFcb(), RxPurgeFcbInSystemCache()
- Stubbed RxOrphanSrvOpens(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpProcessChangeBufferingStateRequests()
- Continued implementation of RxDereference() so that it supports more objects than just SRV_CALL
- Reworked RxInsertWorkQueueItem() implementation so that it accepts any work item, and not just dispatch work items
- Finished implementation of RxTableLookupName() so that it properly returns a V_NET_ROOT on NET_ROOT match
Notable effects of this commit are:
- RXCE/RDBSS leak less memory; now objects without references are properly deleted from the system
- This means that stale objects are also deleted; this fixes CORE-13483 were same stale SRV_CALL was used again and again
- Because in prefix table NET_ROOT are correctly handled, it's now possible to mount several path from the same prefix; this fixes CORE-13482
CORE-8204
CORE-11327
CORE-13482
CORE-13483
svn path=/trunk/; revision=75195
Move the functions NetGetDCName, NetGetAnyDCName and NetEnumerateTrustedDomains into a separate file for the Netlogon service interface code.
svn path=/trunk/; revision=75186
Implement I_BrowserQueryOtherDomains, I_BrowserQueryStatistics and I_BrowserResetNetlogonState. This functions calls their counterpart in the computer browser service.
svn path=/trunk/; revision=75184
Make nt object symlinks work more like shortcuts. Fixes the addressbar not quite knowing what to show when you click on a symlink.
svn path=/trunk/; revision=75177
* Added a common superclass for the ntobj and registry folders.
* Refactored the ntobj and registry folders to make use of this superclass.
* Removed the concept of a "pidl helper", since it works best to just have the methods be part of the folders.
* Cleaned up the ItemID comparison logic.
svn path=/trunk/; revision=75175
Import Wine commit:
- 8d461c1f42b0b667b2aa6a235d007eea1dd6f561, Don't stop enumeration on the first failing network provider.
This fixes 'net use' stoping connections enumeration when a network returns an error or no connection.
CORE-13475
svn path=/trunk/; revision=75173
Import Wine commit:
- 51b4a42969366cc409808aded23d3602a34206e2, Properly handle the count set to -1 when enumerating connections.
This fixes 'net use' not being able to enumerate multiple connections served by multiple network providers.
CORE-13475
svn path=/trunk/; revision=75172
- Normally getting the SrcNode and DestNode must succeed (checked with assert);
- Set the DestNode Flags member, in particular when this is the new root node of the saved registry hive;
- Copy the key class cell (OK), and the key security cell (currently done in a hackish way; proper way: call the CmpAssignSecurity* function);
- Add more clean-up on failure;
- Warn in code about the fact that CmpDeepCopyKeyInternal is recursive, and will easily exhaust kernel stack. This function will need to be reworked later...
CORE-10793 CORE-10796
svn path=/trunk/; revision=75171
Fixed registry value display for values that are too long to fit inside the shitemid.
Set the maximum for shitemid embedding back to a smaller number.
svn path=/trunk/; revision=75166
* Fixed NT object symbolic link target retrieval.
* Fixed NT path parsing (didn't consider paths sub sub-folders in them).
* Fixed BindToObject to properly resolve the target path for symlinks.
* Made the maximum embedded content length for registry keys a bit bigger.
svn path=/trunk/; revision=75160
Improve the GetDisplayNameOf logic from "badly broken" to "seems to work". I'm not convinced it's perfect, but it's better than before.
svn path=/trunk/; revision=75157
- Correctly use the page heap's lock in RtlLockHeap/RtlUnlockHeap when appropriate. Fixes assertion failure when Global/Local memory allocations are performed concurrently with DPH enabled.
svn path=/trunk/; revision=75152
- In MiDeletePte, check the ReferenceCount of transition PTEs, not the ShareCount (which is actually u2.Blink, since the page is in a modified/standby list). Also don't reset the PageLocation, since MiDecrementReferenceCount expects it to be anything but ActiveAndValid.
Fixes physical page leaks when using DPH, or other code that sets PAGE_NOACCESS.
CORE-13311 #resolve
svn path=/trunk/; revision=75150
- Fix a bug in CmpInitHiveFromFile(): correctly set the MaximumLength value of NewHive->FileFullPath;
- Code simplification: no need to use temporary ANSI string operations followed by UNICODE conversion, when one can do the same thing directly in UNICODE.
- Use NULL for NULL handles.
svn path=/trunk/; revision=75142