- Convert the application's code to UNICODE
- But the regproc.c's code is untouched (apart from the pseudo-error messages issued with fprintf)
svn path=/trunk/; revision=57471
Fixes several bugs in the current implementation of LsapSplitNames and LsapLookupNames. This fixes the crashing lsa advapi32 wintest. LsapLookupNames is still WIP.
svn path=/trunk/; revision=57464
- WCHAR ==> TCHAR in (before a REALLY conversion of regedit into UNICODE)
- Correct some mistakes in displayed strings
- Improve informative / warning / error messages when importing registry files
- Now, try to import each registry file specified in the command line and don't fail miserably when one of them is missing, but continue with the next one (as Windows' regedit does).
Patch by Edijs Kolesnikovičs (2/2) adapted by me.
CORE-6239 #comment Fixed in r57462 with some adaptations. Thanks ;) #resolve
svn path=/trunk/; revision=57462
Move gdi kdbg extension into a separate file, prefix names with ! to match WinDbg extensions more closely (e.g. "!gdi.help"), imlement help, dumpht, handle, entry and eventlist commands.
svn path=/trunk/; revision=57459
- Fix comment headers.
- Improve error-displaying function and add another one (to be used later on).
- Clear a part of code.
svn path=/trunk/; revision=57456
Implement Kdbg CLI callbacks. These callbacks can be registered from external modules and allow to process kdbg commands.
[WIN32K]
Implement kdbg callbacks for gdi: "gdi!dumpht <type>" dumps the handle table, "gdi!handle <x>" dumps information about a handle.
CORE-6650 #resolve
svn path=/trunk/; revision=57454
Get rid of the ugly container object code. Let LsapCreateDbObject and LsapOpenDbObject handle container objects instead.
svn path=/trunk/; revision=57449
- Validate Account SIDs in LsarCreateAccount and LsarOpenAccount.
- LsarOpenAccount: Do not check the granted access of the policy handle.
- LsarOpenAccount: Return the proper status code.
svn path=/trunk/; revision=57448
- Correct command processing following the first command in interactive mode.
- Correct invocation of command-specific help functions.
svn path=/trunk/; revision=57447
- Make srb volatile, since it's assigned inside SEH and referenced in finally
[NTOSKRNL]
- FsRtlTeardownPerStreamContexts: make IsMutexLocked volatile (SEH)
- IoCreateFile: Make SystemEaBuffer volatile (SEH), save status and information in the caller's IoStatusBlock, cleanup and fail when IoCheckEaBufferValidity failed with PreviousMode == KernelMode, too.
- NtLockFile: Move ExAllocatePoolWithTag out of the SEH block. ExAllocatePoolWithTag does not raise an exception by default (unlike ExAllocatePoolWithQuotaTag). Get rid of this SEH block completely and check the return value instead.
- NtQueryDirectoryFile: make AuxBuffer volatile (SEH), again move ExAllocatePoolWithTag out of the SEH block and check return value instead.
IopCaptureUnicodeString: Make Name volatile (SEH)
svn path=/trunk/; revision=57437
Add a "comment" that will notify whoever wants to compile this poc, to move the IoCompleteRequest out of the SEH block.
svn path=/trunk/; revision=57435
- Allocate a capture buffer outside of SEH in NtAddAtom and NtRaiseHardError
- Call ExpGetCurrentUserUILanguage outside of SEH in NtQueryDefaultUILanguage and return the actual result instead of returning PsInstallUILanguageId in case of success.
- Don't allocate a unicode string inside SEH in NtQuerySystemEnvironmentValue, instead use RtlAnsiStringToUnicodeString directly on the callers buffer.
CORE-6624
svn path=/trunk/; revision=57429
- Reset read and write events directly before waiting. Fixes an issue where a read could return 0 bytes if the previous read had read all available data without waiting (thus leaving the event set).
svn path=/trunk/; revision=57424