- Store MiniportStream & pin instance in subdevice descriptor
- Simplify irp handling code in class IIrpStream
- Rewrite CPortPinWaveCyclic code to handle property request. It now uses PcHandlePropertyWithTable, which calls the supported property request handlers via a callback. The code is now a lot cleaner as KsPropertyHandler peforms input & output length checks and also handles basic support requests
- Implement a Audio position handler for CPortPinWaveCyclic
- Use the IDmaChannel::CopyFrom when copying sound bytes from an dma buffer. Fixes recording of sound with KsStudio
- Make sure that the GUID_NULL handler only adds guid which are not already present in the guid array. Fixes duplicate entries of properties of Nodes in KsStudio
- Handle Basic Support requests in a default way when the driver doesnt provide a BasicSupport handler
svn path=/trunk/; revision=43414
- Allow to select a card back from all twelve possibilities (instead of four), related to bug #2535
[spider]
- Fix encoding of the Spanish resource file, thanks elhoir and gabriel_it
svn path=/trunk/; revision=43413
- Activate handling of requests of type KSPROPERTY_TYPE_BASICSUPPORT
- Return correct status code in the GUID_NULL handler
svn path=/trunk/; revision=43407
- DIALOG_CreateIndirect: The current window with focus could have been set in the dialog's procedure, so save the current focused window after sending WM_INITDIALOG and before any other message are sent that modify focus.
- Fixes setting focus on Open and Close dialogs to the FileName edit control in OpenOffice.
svn path=/trunk/; revision=43396
- Implement all infrastructue for constructing filenames in FCBs, and use it to build full file names. Every FCB has four names: a short upcased name in ANSI, a long upcased name in Unicode, a name in exact case in Unicode, and finally a full file name including all path up to the root.
- FatiQueryFileNameInformation now returns correct file name, and other places relying on presence of a correct name work now.
svn path=/trunk/; revision=43390
- Fail on physical memory write like we do for read too.
- Don't handle OldVlm1/2 as they appear to be deprecated and unhandled in Windows.
- Implement HalHaltSystem to halt execution in a portable way. Default to xHalHaltSystem, a simple infinite loop, if we get called before HAL has initialized. Use this in KiBugCheckDebugBreak and the system shutdown handler instead of x86/AMD64/ARM intrinsics.
- Don't try to halt the CPU if KeBugCheck has been called 3 times or more -- if this happens, something has gone very wrong, and we shouldn't try to do anything special. Just loop infinitely.
- Fix KiBugCheckDebugBreak -- it shouldn't halt execution when called for the first chance as bugcheck callbacks have not been invoked at this point (nor has the BSOD been displayed). Use SEH to protect against a crash instead of checking KdDebuggerNotPresent as the debugger, if it is present, *could* disconnect while the trap is being handled. Also, don't halt execution if the debugger handled the breakpoint, just break again.
- Don't call MmMapIoSpace from HalpReboot! The reboot might take place at elevated IRQL (as high as HIGH_LEVEL if called from KeBugCheck), and thus can't use any Mm support routines. Use a PTE from the reserved HAL region and map it ourselves instead as done in the BIOS call code.
- Acquire the display ownership in HalReturnToFirmware in case the caller hasn't done so (as done in the KD reboot routine, for example).
- Just include ntndk.h in hal.h instead of including 6 NDK headers (which turns into more than half of the NDK anyway since those headers include other NDK headers).
- Crashing and rebooting from KD now works properly.
svn path=/trunk/; revision=43380
- Spanish and Italian translations by Javier Agustìn Fernàndez Arroyo and Gabriel Ilardi
- Rename Programmer to Translator in existing resource files, remove Programmer in new ones
See issue #4885 for more details.
svn path=/trunk/; revision=43376
- Add a spider solitaire clone
- Relies on the Catch22 cardlib
- Supports all three playing modes and full game play
- English and German resources included, own work
- Icon origin: tango solitaire icon with a self drawn spider on top
[cardlib]
- Convert to a static library as suggested in the comments, move to 3rdparty directory
- Allow to modify dragged card stacks (needed for spider)
[solitaire]
- Adapt to cardlib changes, delete local cardlib copy
svn path=/trunk/; revision=43372
- Implement some powrprof.dll according to regression tests committed in r43368, by Alexander Wurzinger <lohnegrim@gmx.net>.
- Minor bugfix by me.
See issue #3381 for more details.
svn path=/trunk/; revision=43370
- Add more powrprof.dll tests, by Alexander Wurzinger <lohnegrim@gmx.net>.
- Some cleanup and code typo fixes by me.
See issue #3381 for more details.
svn path=/trunk/; revision=43368
- Add some missing control set structures to windbgkd.h from Singularity and fix some x86 assumptions.
- Use CopyExceptionRecord instead of ExceptionRecord32To64 as we can just copy directly on 64-bit.
- Add KeGetTrapFrameInterruptState macro to retrieve the interrupt state (ON/OFF) from a trap frame.
- Use macros for retrieving certain parameters from CONTEXT in KdpTrap instead of hardcoding x86.
- Add kdsup.c for x86/AMD64/ARM and move certain architecture dependent routines in here.
- Stub out MSR, Bus and I/O Space read/write support and use KdpSys* for Control Space as it is architecture dependent. Also stub out low memory check (for x86 PAE).
- Fix assumptions in the break point code that a breakpoint is 1 byte long (it is 4 byte on ARM, for example). Define the type required to contain a breakpoint per architecture and use KD_BREAKPOINT_SIZE when copying.
- KD supports 32 breakpoints, not 20.
- Be portable when initializing members of the KD version and debugger data block.
- Pointers in the debugger data block should not be sign extended as done in the version block -- fix KdInitSystem and KdUpdateDataBlock that did this.
- Fix some comments that were x86 specific and use more generic terms instead.
- Fix a cast in KeBugCheckWithTf.
svn path=/trunk/; revision=43365
- Reimplement HalpCalibrateStallExecution which was removed in r24964. Real Windows uses a different algorithm, however existing one seems to work acceptably. This patch is critical for devices support on real hardware. The only downside is that uniata initialization takes a substantial amount of time now, this is going to be investigated. Patch by Daniel Zimmermann.
See issue #4600 for more details.
svn path=/trunk/; revision=43364
Andrew Steinborn <asteinborn78@gmail.com>
- Display error message when boot sector reading fails.
See issue #4641 for more details.
svn path=/trunk/; revision=43362