Commit graph

70377 commits

Author SHA1 Message Date
Amine Khaldi 0622ce1775 [COMDLG32_WINETEST] Add a PCH. 2017-12-17 12:28:41 +01:00
Amine Khaldi 71ddf5374a [ADVAPI32_WINETEST] Add a PCH. 2017-12-17 12:24:27 +01:00
Amine Khaldi 3bf31bf2ab [WIN32KNT_APITEST] Improve the existing PCH and make use of it. 2017-12-17 12:17:37 +01:00
Colin Finck 361b6e39e3
[HALX86] Deduplicate initialization of legacy PICs and remove EOI in I/O APIC initialization, which causes an unexpected interrupt 2017-12-17 09:51:37 +01:00
Jason Wendt 0fdb5d9b63 [SWENUM] Add version information. CORE-14112
Improves setup of DirectX 9.0b 4.09.00.0902 (which the game Halo wants
to install) after manually lowering DirectX version in registry.
2017-12-17 02:22:28 +01:00
Katayama Hirofumi MZ 10910ca9e1 [GDI32] Fix TextOutA multibyte text length overgoing. CORE-14070 2017-12-17 02:04:31 +01:00
Pierre Schweitzer 132c7d926b
[VFD] Remove no longer required ReactOS specific change
CORE-14090
2017-12-16 22:53:32 +01:00
Hermès Bélusca-Maïto acabbb7b85
[VFDLIB] Fix preprocessor directive compilation error when being used inside a macro expansion on MSVC. 2017-12-16 22:48:50 +01:00
Hermès Bélusca-Maïto e7b2aa65d2
[VFD] Fix build on MSVC2010. 2017-12-16 22:34:20 +01:00
Pierre Schweitzer 2a146533a5
[VFD] Fix build 2017-12-16 22:00:41 +01:00
Pierre Schweitzer 753d87468c
[VFD] Build with debug information on debug builds
CORE-14090
2017-12-16 21:57:11 +01:00
Pierre Schweitzer 25c7e1a8d0
[VFD] Import the VFD project (Virtual Floppy Drive) which allows creating virtual
floppy drives in ReactOS and mount images on them.
Only the cmd got imported. The GUI interface may come later on.
Note that, as for vcdrom, the driver is left disabled and you need to explicitely
start it through vfd command line interface.

CORE-14090
2017-12-16 21:48:34 +01:00
Pierre Schweitzer d82796778f
[PSDK] Add some missing defines
CORE-14090
2017-12-16 21:48:34 +01:00
Hermès Bélusca-Maïto 0710eae780
[DOSKEY] Resource files: remove trailing whitespace. 2017-12-16 21:09:59 +01:00
Hermès Bélusca-Maïto ae9702fcec
[DOSKEY] Improvements when importing aliases definition files.
- The aliases ("macros") definition files have the same format as what
  is output by DosKey when one displays the list of defined aliases with
  the /macros: command-line switch. It should then, in particular,
  understand the format where executable names are also specified:

[exename1]
    alias1=command1
    ...

[exename2]
    aliasN=commandN
    ...

  We now behave similarly as Windows' version of this utility in that
  regard.

- Use ARRAYSIZE() when needed.
- Take the opportunity to add a license header to the source file.
2017-12-16 21:07:39 +01:00
Hermès Bélusca-Maïto eea43394bf
[KERNEL32] Improve the definition of EXENAME_LENGTH. 2017-12-16 21:07:23 +01:00
Pierre Schweitzer 72094e637d
[KERNEL32_APITEST] Add a test for FormatMessage backed with MC file. 2017-12-16 19:43:29 +01:00
Serge Gautherie e8b1752162
[SDK] pnp.idl: Add a reminder comment about removed Vista/+ functions. CORE-12580 2017-12-15 16:01:53 +01:00
Serge Gautherie 614ace03fa
[NTOS:MM] Fix NtFreeVirtualMemory() FreeType parameter checks. CORE-13126 2017-12-15 11:56:35 +01:00
Serge Gautherie 4f7159e3a5
[BOOTDATA] Start menu, shortcuts: port r61988 to LiveCD from BootCD. CORE-13994
- Move Accessibility, Entertainment and System Tools folders into Accessories.
- Move mstsc.exe shortcut into new Accessories/Communications folder.
- Rename Remote desktop to Remote Desktop Connection.
- Rename Regedit to Registry Editor.
- Plus: Sort touched lines in the list.
2017-12-14 16:49:03 +01:00
Serge Gautherie 48cfd02497
[TRANSLATION] Start menu, shortcuts, r61988: update untranslated strings too. CORE-13994
ToDo: Translators should check already translated strings too.
2017-12-14 16:46:37 +01:00
Thomas Faber 7e8de26164
[NTOS:KD] Pass PreviousMode down to KdpPrintString, since ExGetPreviousMode is not accurate. CORE-14103 2017-12-14 11:46:18 +01:00
Thomas Faber 7b95fcf93d
[NTOS:KD] Avoid _alloca inside SEH, as it's apparently incompatible with PSEH. CORE-14103 2017-12-14 11:46:16 +01:00
Thomas Faber a07b569b25
[NTOS:KD] Don't assume null termination in KdpSerialDebugPrint and KdpScreenPrint. CORE-14057 CORE-14103 2017-12-14 11:46:14 +01:00
Stanislav Motylkov a0fe72e218 [SYSDM] Extend build string to fit commit hash 2017-12-13 13:55:01 +01:00
Amine Khaldi 631a14ff64 [ASM][NDK][NTOS] Rename Self to SelfPcr in the KIPCR structure. 2017-12-13 13:49:00 +01:00
Amine Khaldi e00cc9728c [KERNEL32_APITEST] Add a PCH. 2017-12-13 13:48:26 +01:00
Amine Khaldi 3543c43252 [COM_APITEST] Improve the existing PCH and make use of it. 2017-12-12 13:01:03 +01:00
Amine Khaldi 24f8946956 [ADVAPI32_APITEST] Add a PCH. 2017-12-12 12:44:32 +01:00
Amine Khaldi 24f35397c6 [NTOS] Add some header guards. 2017-12-12 12:42:13 +01:00
Li Keqing f461c451a1 [TRANSLATION] Fix Simplified Chinese Translations (#187)
* Fix the Simplified Translation of Rapps
* Fix the Simplified Translation of msconfig_new
* Fix the Simplified Translation of charmap_new
* Fix the Simplified Translation of winmine
* Fix the Simplified Translation of kbswitch
* Fix Simplified Chinese Translation of logoff
* Fix Simplified Chinese Translation of eventvwr
* Fix Simplified Chinese Translation of sysdm
* Update Simplified Chinese Translation for dxdiag
2017-12-11 11:35:59 +02:00
Pierre Schweitzer 1f2db8fab9
[VCDCLI] Fix typo 2017-12-10 23:44:19 +01:00
Hermès Bélusca-Maïto 197ec4c5b8
[KERNEL32] Update some console API prototypes. 2017-12-10 17:04:29 +01:00
Thomas Faber 68ebcf16b8 [NTOS:KD] Protect against invalid user arguments for BREAKPOINT_LOAD_SYMBOLS. CORE-14057 2017-12-10 15:26:18 +01:00
Thomas Faber 34ccecbce8 [NTOS:KD] Protect against invalid user arguments in KdpPrintString. CORE-14057 2017-12-10 15:26:18 +01:00
Thomas Faber 1a38c76266 [NTOS:KD] Protect against invalid user arguments in KdpPrompt. CORE-14057 2017-12-10 15:26:18 +01:00
Joachim Henze 8624801eb8 [SERVMAN] fix status-bar text truncation, update german localization CORE-14092 2017-12-10 14:08:29 +01:00
Thomas Faber 03be7587eb
Merge branch 'ntfs_rebase' 2017-12-10 12:46:33 +01:00
Colin Finck 3a69fd4e96 [PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a proper stub for GetPrinterDriverDirectoryA.
* Pass the correct handle to _RpcGetPrinter in GetPrinterW.
* Pass an empty string instead of a NULL pointer as wszComputerName to the GetPrinterLevel* functions, because this variable is later used as source for StringCbCopyExW.
* Don't check for GetLastError() == ERROR_SUCCESS in tests. Windows apparently only sets the last error in case of failure.
  The Printing code should probably be changed similarly in a future commit.

Should fix CORE-14072
2017-12-10 12:28:08 +01:00
Pierre Schweitzer b5555650a8
[NTFS] Fix the FileNamesInformation/FileNameInformation class confusion that was spotted on FastFAT.
What should also be fixed is the partial return of data on first entry enumeration.
2017-12-10 11:25:48 +01:00
Trevor Thompson 1ac7128da0 [NTFS] - Respect NTFS' file ordering when enumerating a directory. Split off part of BrowseIndexEntries() into a separate function to simplify the code.
AddNewMftEntry() - Zero the (larger) buffer for the bitmap prior to reading the bitmap.
BrowseIndexEntries() - Check sub-nodes before checking an index entry. Read and use the index bitmap when checking sub-nodes.
+BrowseSubNodeIndexEntries() - Called for sub-nodes of an index when browsing index entries.
+NtfsDumpData() - Diagnostic function which allows for visualizing a series of bytes.

svn path=/branches/GSoC_2016/NTFS/; revision=75817
2017-12-10 11:15:26 +01:00
Trevor Thompson a40ba448d4 [NTFS] - Fix some errors that break building in C89 mode, and remove an extraneous "ninja livecd" that got inserted in a comment. Thanks to Doug Lyons for spotting these errors.
SplitBTree() - comment-out redundant code for finding the median key and improve comments.

svn path=/branches/GSoC_2016/NTFS/; revision=75727
2017-12-10 11:15:25 +01:00
Trevor Thompson 52c30fdf37 [NTFS] - Add some helper functions for new features. Add some fixes. Add support for creating an index allocation, splitting a b-tree node, or "demoting" the index root. This allows for file creation without functional limitations.
+AddBitmap() - adds a $BITMAP attribute to a file record.
+AddIndexAllocation() - adds an $INDEX_ALLOCATION attribute to a file record.
+CountBTreeKeys() - Counts the number of linked B-Tree keys.
CreateIndexBufferFromBTreeNode() - Set INDEX_NODE_LARGE if the node has sub-nodes.
CreateIndexRootFromBTree() - Simplify the usage and math of MaxIndexSize; make it only account for the cumulative size of the index entries.
+DemoteBTreeRoot() - Replaces the contents of an index root with a dummy key, and puts those contents in a new node, which is made a child of the dummy key. This is done when an index root grows too large.
+GetIndexEntryVCN() - Retrieves the VCN from an index entry.
NtfsAddFilenameToDirectory() - Fix math for MaxIndexRootSize.
NtfsInsertKey() - Add support for splitting a B-Tree node. Don't check size of index root (that will be handled later).
+SplitBTreeNode() - Called when a B-Tree node grows too large.
UpdateIndexAllocation() - Create an $I30 index allocation attribute and bitmap attribute if needed.
UpdateIndexNode() - Update children before updating the current node. Store VCN of child nodes in the index entries of their respective keys.

svn path=/branches/GSoC_2016/NTFS/; revision=75707
2017-12-10 11:15:23 +01:00
Trevor Thompson 5e7c11842a [NTFS] - Fix increasing the mft size, to keep chkdsk happy.
IncreaseMftSize() - Add some fixes. Write blank records to newly-allocated mft entries, and update $MFTMirr when finished; these changes are needed for chkdsk.  Increase size by 64 records instead of 8.
+UpdateMftMirror() - Backs up the first ~4 master file table entries to the $MFTMirr file.

svn path=/branches/GSoC_2016/NTFS/; revision=75694
2017-12-10 11:15:21 +01:00
Trevor Thompson 9a91a51f17 [NTFS] - Fix for C89 compliance.
svn path=/branches/GSoC_2016/NTFS/; revision=75693
2017-12-10 11:15:19 +01:00
Trevor Thompson b033f00f58 [NTFS] - Add support for directory creation. Add some helper functions, some comments, and some fixes.
+AddIndexRoot() - Creates an $INDEX_ROOT attribute and adds it to a file record.
AddNewMftEntry() - Make sure the buffer used by RtlInitializeBitmap() is ULONG-aligned, and a ULONG-multiple in size, per MSDN.
AllocateIndexNode() - Calculate BytesNeeded correctly. Read $BITMAP attribute before increasing its length, in anticipation of a future commit that will check for a free bit before assigning a new index record to the end of the allocation. Use appropriate Set*AttributeDataLength() function, as $BITMAP can be resident or non-resident.
B_TREE_FILENAME_NODE - Give two members more accurate names: change "ExistsOnDisk" member to "HasValidVCN" and rename "NodeNumber" member "VCN."
+CreateEmptyBTree() - Creates a B-Tree to represent an empty directory (for AddIndexRoot).
+NtfsCreateEmptyFileRecord() - Creates an empty file record in memory, with no attributes.
CreateIndexRootFromBTree() - Fix TotalSizeOfEntries calculation.
+NtfsCreateDirectory() - Creates a file record for an empty directory and adds it to the mft.

svn path=/branches/GSoC_2016/NTFS/; revision=75692
2017-12-10 11:15:17 +01:00
Trevor Thompson c63e7e54b5 [NTFS] - When creating files:
-Don't add a preceding backslash when creating files on root.
-Use NTFS_FILE_NAME_POSIX name type if CaseSensitive option is specified.
-Don't try to create a file when a folder is requested (folder creation is still TODO).

svn path=/branches/GSoC_2016/NTFS/; revision=75671
2017-12-10 11:15:16 +01:00
Trevor Thompson 88a7c3d14b [NTFS] - Allow for creating a file when the index root gets too large and needs to be moved into an index record. Add some helper functions.
+AllocateIndexNode() - Allocates a new index record in an index allocation.
+CreateDummyKey() - Creates the final B_TREE_KEY for a B_TREE_FILENAME_NODE. Also creates the associated index entry.
GetSizeOfIndexEntries() - Sums the size of each index entry in every key in a B-Tree node.
+SetIndexEntryVCN() - Sets the VCN of a given IndexEntry.
NtfsInsertKey() - Handle instance when the index root grows too large. If it does, add its contents to a new sub-node, and replace contents with a dummy-key whose child is the new node.
UpdateIndexAllocation() - Update index entry if a key has just been assigned a child allocation.
UpdateIndexNode() - Make sure the node exists on disk, and allocate an index record for it if it doesn't.

svn path=/branches/GSoC_2016/NTFS/; revision=75557
2017-12-10 11:15:14 +01:00
Trevor Thompson d484d91eba [NTFS] - Allow for resizing an attribute in the middle of a file record. Add a helper function and minor improvements:
AddRun() - Allow for resizing the size of the data runs when the attribute isn't the last in the file record. Fix some comments.
CreateIndexBufferFromBTreeNode(), CreateIndexRootFromBTree - Fix math of IndexSize when checking if the index buffer is too large.
InternalSetResidentAttributeLength() - Allow changing the length of an attribute in the middle of a file record. Adjust the position of every attribute after the one being resized.
+MoveAttributes() - Moves a block of attributes to a new location in the file Record.
PrintAllVCNs() - Add consideration for an index allocation with a size of 0.
WriteAttribute() - Add optional parameter for a pointer to the file record being written to. If passed a file record, WriteAttribute() will skip reading the file record from disk, and will update the file record in memory before returning. This helps callers that use the file record after writing an attribute to stay in-sync with what's on disk.

svn path=/branches/GSoC_2016/NTFS/; revision=75554
2017-12-10 11:15:13 +01:00
Trevor Thompson 4dfcd1d582 [NTFS] - Refactor to allow the copy of the attribute stored in NTFS_ATTR_CONTEXT to have a dynamic length; change Record member from an NTFS_ATTR_RECORD to a PNTFS_ATTR_RECORD. Rename it pRecord to reinforce the change. Fix some bugs related to the record size changing.
-PrepareAttributeContext() - update to allocate memory for pRecord. Don't assume allocations are succeeding.
-ReleaseAttributeContext() - update to free memory for pRecord.
-InternalSetResidentAttributeLength() - Increase size of AttrContext->pRecord as needed. Update to return an NTSTATUS.
-SetResidentAttributeDataLength() - Fix bug that could occur when migrating resident attributes to non-resident if AttrContext->pRecord is too small for the new attribute.
-AddRun() - Fix a bug by reallocating AttrContext->pRecord if the record needs to be enlarged.

svn path=/branches/GSoC_2016/NTFS/; revision=75493
2017-12-10 11:15:11 +01:00