- Change the macros to prefix the labels with Nt or Zw depending on whether we build usermode or kernel mode stubs
- Create zw.S using the macros
svn path=/trunk/; revision=50622
- RtlpInsertFreeBlockHelper: Don't validate the Previous Size of the next Heap Entry when inserting a free Heap Entry into a free list. Should solve bug #5843 and may affect bug #5857.
All callers of this function already perform this check, except for RtlpInsertFreeBlock, a function used during Heap Segment creation/expansion.
RtlpInsertFreeBlock creates multiple free Heap Entries (using the helper function) if the free space is too big to be contained in a single Heap Entry.
In such a case however, it creates a Heap Entry and calls the helper before creating the next Heap Entry, which triggers this assert.
svn path=/trunk/; revision=50617
Minor code changes to RTL (one would call them "optimisation"). Added some missing paged code.
Plus added useful asserts (used to catch r50615 bug!)
svn path=/trunk/; revision=50616
Fix a really mean bug: wcslen() returns the size in characters whereas MaximumLength has to be in bytes.
Now, this sets MaximumLength to its appropriate size and prevents some memory issues (and buffers having odd size, which is weird for an unicode string...).
svn path=/trunk/; revision=50615
SC Manager needs SC_MANAGER_ENUMERATE_SERVICE access right to be able to open a service
Add debug prints to help tracking down the "EnableUserModePnpManager()" issue
svn path=/trunk/; revision=50609
Fix buggy mechanism of pushing and popping free gdi handle slots. The old mechanism unneccessarily locked the entry and it was prone to the ABA problem as it didn't use a sequence number.
svn path=/trunk/; revision=50604
- Add i/o completion routine, which delivers the number of bytes written / read
- Close event handle, after the overlapped request has been handled.
- Audio stack no longer leaks ~ 50 event handles per second
svn path=/trunk/; revision=50600
- Oleg Baikalow: Implement basic event and delayed event support functions for CTE. Structure names are made up, but their contents should be compatible with what Windows 2003 tdi.sys uses. Formatting and coding style fixes by the committer.
svn path=/trunk/; revision=50550
- Oleg Baikalow: Don't use psdk's tdi.h but use a real tdikrnl.h (adding a _TDI_ global define so it's recognized as a tdi driver itself).
svn path=/trunk/; revision=50546
- Merge from audio branch
- Perform irp completion in dedicated function
- Move Software Bus function into own file
- Remove debugging code which caused crashes
- Partly implement IKsProcessingObject interface for filter
- Fix check in FindMatchingCreateItem function
- Implement software bus enumerator functions
[SWENUM]
- Implement SwDispatchPower, SwDispatchPower
svn path=/trunk/; revision=50531
- Merge from audio branch
- Handle mixers identified by id, not by handle
- Fix opening of mixer devices
- Waveformat struct is only provided when type is wave device
- Implement wave reset routine, fixes audio recording on ReactOS SndRec, AudaCity etc. Also fixes random hang in WinAmp when skipping audio bytes
- Implement wave pausing / restarting, should lead to smoother playback
[MMIXER]
- Merge from audio branch
- Tons of fixes to enumeration of mixerlines, controls / etc
- Fix mixer event notification callbacks
- For more info, read audio-bringup log
svn path=/trunk/; revision=50528