Compare commits

...

2277 Commits

Author SHA1 Message Date
Thomas Faber
8294696f3b [CRT] Fix MSVC version of call_handler 2022-01-16 23:31:07 -05:00
Thomas Faber
3ccbd2a842 [NTOS:MM] Randomly allocate from special pool 2022-01-16 23:31:07 -05:00
Thomas Faber
cf373fbc57 [WIN32K:NTUSER] Regularly validate thread window list. CORE-18002 2022-01-16 23:31:07 -05:00
Thomas Faber
f120239ba1 [PORTCLS] DEBUG: Fill memory on free 2022-01-16 23:30:55 -05:00
Thomas Faber
77cdca0d49 [PORTCLS] HACK: Force zeroing in operator new, even though this is not
standard-compliant
2022-01-16 23:30:50 -05:00
Thomas Faber
e7c4b00017 [PORTCLS] Centralize AddRef/Release implementation and make it
thread-safe.
2022-01-16 23:30:19 -05:00
Hermès Bélusca-Maïto
f1ad6845a8 [SVCHOST][SECLOGON][MSWSOCK] Minimal headers cleanup.
- SVCHOST, SECLOGON: Add missing NTOS_MODE_USER.
- MSWSOCK: Remove some useless windef.h includes.
2022-01-17 01:08:09 +01:00
Luo Yufan
41e7701e08 [INF] Fix Mizu theme display problems with CJK font (#4284)
Add font substitute from "Source Sans Pro" to "Droid Sans Fallback" if the user is CJK.
CORE-17997
2022-01-17 08:43:15 +09:00
Jesús Sanz del Rey
9c6f1958d9 [SHELL32] Implement Recycler Bin icons (#4221)
CORE-3938

Icon extraction from the recycle bin was not possible due to the partial absence of IExtractIcon interface support.
Adding it inside the RecycleBinFile's QueryInterface private implementation, and then calling it from CRecycleBin, now allows retrieving and displaying the files' icons.
2022-01-17 00:20:07 +01:00
Stanislav Motylkov
63cd5d54b8 [BOOTDATA] Make Secondary Logon service name and description translatable
Addendum to 43fa9548.
2022-01-16 22:46:36 +03:00
Eric Kohl
24a727a23b [reactos] Add missing prototypes for svchost callbacks
Addendum to 43fa9548d3
2022-01-16 19:56:28 +01:00
Eric Kohl
69bd857e39 [dhcpsvc][srvsvc][wkssvc] Servcies run by svchost must be shared process services 2022-01-16 17:59:41 +01:00
Jose Carlos Jesus
5165179ad8 [NEWDEV] Disable NewFolder btn and Show browser title when selecting a directory (#4288)
* [NEWDEV] Add browser title to rc files

* [NEWDEV] Show browser title when selecting a directory

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/bg-BG.rc

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

* Update dll/win32/newdev/wizard.c

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Update dll/win32/newdev/lang/pl-PL.rc

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update dll/win32/newdev/lang/pt-PT.rc

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>

* Remove obvious comment

* Add de-DE and ru-RU translations

* Add French translation

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2022-01-16 17:34:59 +01:00
Eric Kohl
43fa9548d3 [services] Add the secondary logon service 2022-01-16 17:02:01 +01:00
Eric Kohl
c28db81193 [IDL] Add idl file for the secondary logon service 2022-01-16 14:27:13 +01:00
Adam Stachowicz
54140ba23d [SYSDM] Update pl translation (#4289)
Addendum to ecfd01eefc and other
2022-01-16 13:58:41 +01:00
Joachim Henze
cf984cc9fe [SYSDM] pt-PT.rc Fix compiler warning RC4206 CORE-17827
Thanks to Twitter user @denzilferreira for that shortened string.
2022-01-16 12:06:26 +01:00
Joachim Henze
bacc0479ce [SYSDM] sq-AL.rc Fix compiler warning RC4206 CORE-17827
Thanks to Twitter users @illyrian598 and @jan_shkreli for that shortened string.
2022-01-16 10:13:40 +01:00
Joachim Henze
98999eebe4 [SYSDM] sk-SK.rc Fix compiler warning RC4206 CORE-17827
Vic Marcal reached out for help on Twitter for that shortened string.
2022-01-16 08:09:14 +01:00
Joachim Henze
b1264c13f7 [SYSDM] el-GR.rc Fix compiler warning RC4206
Vic Marcal reached out for help on Twitter
for that shortened string.
2022-01-16 08:03:28 +01:00
Katayama Hirofumi MZ
ce6da820a4 [NTUSER] Implement NtUserBuildHimcList (#4286)
- Add UserBuildHimcList helper function.
- Implement NtUserBuildHimcList function.
CORE-11700
2022-01-16 09:56:18 +09:00
Katayama Hirofumi MZ
2250ce80f3 [USER32] Adjust the threshold in CascadeWindows (#4283)
Improve the threshold of CascadeWindows function not to make the windows too small.
2022-01-16 09:54:44 +09:00
Eric Kohl
463d312169 [PSDK] Add prototypes CreateProcessWithLogonW and CreateProcessWithTokenW 2022-01-15 18:23:59 +01:00
Hermès Bélusca-Maïto
1ffe431827 [CONSRV] Trivially implement TuiSetCodePage(). CORE-17601 2022-01-15 17:41:36 +01:00
Hermès Bélusca-Maïto
9f201d462d [BLUE][CONSRV][USETUP] Completely remove support for CAB font extraction from driver, and move it to CONSRV, much like what was done for USETUP.
Addendum to aaa416d3 and 2391e31c.
2022-01-15 17:41:36 +01:00
Hermès Bélusca-Maïto
ac2494994b [CONSRV] Stub out support for terminal-level changing of output code page.
CORE-17601
2022-01-15 17:41:34 +01:00
Nikki Next
b0e9212a05 [W32TIME] Add Russian (ru-RU) translation (#4287)
Addendum to 3d8d88ea.
2022-01-15 14:32:25 +03:00
Stanislav Motylkov
3a4e5a61a4 [SYSDM] Add missing changes from e58b4a49 to zh-HK resource file 2022-01-15 03:18:10 +03:00
Stanislav Motylkov
21955218b4 [SYSDM] Add mnemonic/access keys for environment variable editor
Addendum to e58b4a49. CORE-11733
2022-01-15 02:48:56 +03:00
Stanislav Motylkov
ecfd01eefc [SYSDM] Make file browse filter string translatable
Addendum to e58b4a49. CORE-11733
2022-01-15 02:22:11 +03:00
Hermès Bélusca-Maïto
4dd734e92c [NTDLL:LDR] Don't hardcode process-execute flag values. (#4111) 2022-01-14 23:59:32 +01:00
Hermès Bélusca-Maïto
0889182d66 [SDK:NDK] Add the NX_SUPPORT_* flags for the SharedUserData.NXSupportPolicy member. (#4111)
And move those in the XDK to a better place, adding versioning as well.
2022-01-14 23:59:14 +01:00
Jose Carlos Jesus
75d33bf148 [TRANSLATION] Update Portuguese (pt-PT) translation (#4273)
- [DEVMGR] Improve pt-PT translation
- [NEWDEV] Small improvements to pt-PT translation
- [SHELL32] Update pt-PT translation
2022-01-15 00:40:41 +03:00
Chan Chilung
171a920680 [TRANSLATION] Update Chinese Traditional (zh-TW) translation (#4154)
- Added translation for:
  - [W32TIME]
  - [MODE]
  - [TIMEOUT]
  - [MODEMUI]
  - [ARPING]
  - [FRAGINATOR]
  - and more
- Updated existing translation
- [WINNLS] Update cht (zh-TW) and zhh (zh-HK)
- [DOC] Update rules in Chinese translation notes.txt
- Wine translation sync

Some of the punctuation use in WIne has been converted to half-width,
so the punctuation will no longer synced.
2022-01-14 20:22:46 +03:00
Katayama Hirofumi MZ
04a7134b97 [MSGINA] Adjust Status Window if Asian
The Asian logo and bar positions are different from English or Latin positions, due to Asian font.
Add positional adjustment to IDD_STATUS if Asian.
Follow-up of #4280 ef4f0d0.
2022-01-14 12:44:29 +09:00
Katayama Hirofumi MZ
ef4f0d07b1 [SYSSETUP] Adjust Status Window if Asian (#4280)
The Asian logo and bar positions are different from English or Latin positions, due to Asian font.
Add positional adjustment to IDD_STATUSWINDOW_DLG if Asian.
2022-01-14 11:39:24 +09:00
Luo Yufan
4411668e6b [TRANSLATION] Update Simplified Chinese (zh-CN) translation (#4240)
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: He Yang <1160386205@qq.com>
2022-01-14 00:00:37 +03:00
Marat Nagayev
073607c237 [NET] Improve displaying status message (#4096)
- Simplify conditions
- Add application error translation function

[NET][MC] Add missing Russian (ru-RU) translation
2022-01-13 18:10:55 +03:00
Stanislav Motylkov
cde6339155 [SAMSRV] Return correct status for existing groups and users
[NETAPI32] NetpNtStatusToApiStatus: Update accordingly

This fixes net command output in PR #4096.
2022-01-13 16:38:04 +03:00
Katayama Hirofumi MZ
2ea30b2ed3 [USERSRV][TRANSLATION] Improve Japanese (ja-JP.rc) 2022-01-13 14:09:03 +09:00
Katayama Hirofumi MZ
1a5005679c [POWERCFG][TRANSLATION] Improve Japanese (ja-JP.rc) 2022-01-13 11:44:02 +09:00
Katayama Hirofumi MZ
dafac2131b [WINLOGON][TRANSLATION] Improve Japanese translation (ja-JP.rc) 2022-01-13 11:40:05 +09:00
Katayama Hirofumi MZ
48827cf6c5 [NTUSER] Follow-up of #4277 (ea1353e)
According to ThFabba, NtUserSetThreadLayoutHandles returns zero.
CORE-11700
2022-01-13 10:41:03 +09:00
Katayama Hirofumi MZ
ea1353e4be [NTUSER] Implement NtUserSetThreadLayoutHandles (#4277)
- Modify NtUserSetThreadLayoutHandles prototype.
- Implement NtUserSetThreadLayoutHandles function.
CORE-11700
2022-01-12 14:48:20 +09:00
Katayama Hirofumi MZ
28959a2dfd [NTUSER] Follow-up of #4271 (36740ca)
- Delete the excessive comments.
- Delete the debugging leftover.
CORE-11700
2022-01-12 14:08:10 +09:00
Katayama Hirofumi MZ
1f44693657 [NTUSER] Implement NtUserSetImeInfoEx (#4276)
- Modify NtUserSetImeInfoEx prototype.
- Add UserSetImeInfoEx helper function.
- Implement NtUserSetImeInfoEx function.
CORE-11700
2022-01-12 12:07:31 +09:00
Katayama Hirofumi MZ
36740ca981 [NTUSER][IMM32] Implement NtUserGetImeInfoEx (#4271)
- Add UserGetImeInfoEx helper function.
- Implement NtUserGetImeInfoEx function by using UserGetImeInfoEx.
- Fix imm32.ImmGetImeInfoEx.
- Modify enum IMEINFOEXCLASS.
CORE-11700
2022-01-12 12:06:24 +09:00
Doug Lyons
a47590c9cf [USER32] Improve icon extraction to handle RIFF formats and Fix crash (#4262)
- Add handling for 'RIFF' formats (for animated cursors). This makes explorer able to display animated cursors.
- Fix crash in extracting icons/cursors.
CORE-16287
2022-01-12 08:03:44 +09:00
Hervé Poussineau
236ddd4f50 [DESK] Update available settings when selecting another display 2022-01-11 23:47:55 +01:00
Hervé Poussineau
6caf7124b5 [DESK] Factorize changing device description to OnDisplayDeviceChanged() 2022-01-11 23:47:55 +01:00
Hermès Bélusca-Maïto
1df87d7fe9 [SHELL32:WINE][PSDK] Addendum to 0bf768a1: Add missing FARPROC16 definition for CallCPLEntry16() prototype. 2022-01-11 23:31:26 +01:00
Hermès Bélusca-Maïto
0bf768a145 [SHELL32:WINE][PSDK] Fix the prototype of CallCPLEntry16(). 2022-01-11 23:03:25 +01:00
Hermès Bélusca-Maïto
afb04208f7 [KERNEL32] Add missing NTOS_MODE_USER when including the NDK. 2022-01-11 22:45:15 +01:00
Hermès Bélusca-Maïto
c1a8dce23c [CPORTLIB] Remove any usage of debug.h since this lib implements the support for said debugging output. 2022-01-11 22:45:14 +01:00
Serge Gautherie
9a523c8135 [CRT/arm64] Fix handling of intrinsics
Fix msvc14.1-arm64-Release build.

Follow-up to db41787 (0.4.15-dev-2914).
CORE-17518
2022-01-11 20:52:48 +03:00
Serge Gautherie
724774505e [CRT/arm64] Build wine/except_arm64.c
Follow-up to 9efafd6 (0.4.14-dev-934).
CORE-17518
2022-01-11 20:52:34 +03:00
Serge Gautherie
c3e0df0611 [BCRYPT] Add ECDSA P384 to known algorithms
Add missing structs and handler in BCryptOpenAlgorithmProvider().

Cherry-pick a part of Michael Müller's
76b6c360fa

Follow-up to e0a47b7 (0.4.15-dev-3603).
CORE-14198
2022-01-11 20:52:02 +03:00
George Bișoc
be56aff102 [NTOS:PS] Use quota types on process quota querying
Quota limits on a block are enumerated on a per quota type basis thus we should use the values from PS_QUOTA_TYPE enumeration, not from POOL_TYPE.
2022-01-11 11:21:15 +01:00
George Bișoc
4e25c35375 [KMTESTS:PS] Write some tests for process quota management 2022-01-11 10:11:10 +01:00
George Bișoc
0c07eac5b4 [NTOS:OB] Charge/Return pool quotas of objects
As it currently stands the Object Manager doesn't charge any quotas when objects are created, nor it returns quotas when objects are de-allocated and freed from the objects namespace database. This alone can bring inconsistencies in the kernel as we simply don't know what is the amount charged in an object and thus we aren't keeping track of quotas flow.

Now with both PsReturnSharedPoolQuota and PsChargeSharedPoolQuota implemented, the Object Manager can now track the said flow of quotas every time an object is created or de-allocated, thus enforcing consistency with the use of quota resources.
2022-01-11 10:11:10 +01:00
George Bișoc
ee697cfeef [NTOS:PS] Dereference the quota block during process cleanup
Ensure that when we're cleaning up the EPROCESS object, that we are dereferencing the quota block the process in question was using. The routine will automatically request a quota block cleanup if the process that dereferenced the quota block was the last.
2022-01-11 10:11:10 +01:00
George Bișoc
b22eefac88 [NTOS:PS] Process Quota Overhaul
-- Rewrite PspChargeProcessQuotaSpecifiedPool and PspReturnProcessQuotaSpecifiedPool private kernel routines, with the goal to implement the algorithms necessary to manage the fields of quota blocks (Usage, Return, Limit and Peak).
-- Invoke the Mm if quota limit raising or returning has to be done
-- When destroying a quota block, make sure that we're giving back all the rest of non-returned quotas to Memory Mm
-- Crash the system with QUOTA_UNDERFLOW if someone is returning way too much quota than it was previously charged
-- When a process exits, ensure that it doesn't hold up any charged quotas in QuotaUsage field of the process object, that way we're enforcing proper kernel consistency
-- Implement PsChargeSharedPoolQuota and PsChargeProcessPageFileQuota functions, used exclusively by the Object Manager. These routines are used to charge or return amount of quotas of a newly created object.
-- On PspInheritQuota, when assigning to process the default quota block if no parent process is given, we must increment the reference counts as we're using it
-- Handle the ProcessCount reference field, as it wasn't used
-- Annotate the functions with SAL
-- Document the code

=== REMARKS ===
Windows LogOn (Winlogon) is responsible for setting up a different quota block for all the processes within an interactive session, which is what we don't do. What we're currently doing instead is we're using the default block, PspDefaultQuotaBlock, for all the processes
across the system. The default block contains the default limits of -1 (which would imply no limits). By definition, the kernel won't ever return STATUS_QUOTA_EXCEEDED as we literally don't set up a definite limit for regular processes. This situation has to be tackled
in the future.

=== TODO FOR FUTURE ===
Most of the code in PspChargeProcessQuotaSpecifiedPool and PspReturnProcessQuotaSpecifiedPool private routines must be refactored in order to reduce the usage of the quota spin lock, possibly wrapping such code in a loop and whatnot.

CORE-17784
2022-01-11 10:11:09 +01:00
George Bișoc
1649a89cfa [NTOS:MM] Implement Raise/Return pool quota functions
This implements both MmRaisePoolQuota and MmReturnPoolQuota functions, which serve exclusively for quota pool management. The process manager communicates with the memory manager in a call of need to charge or return pool quota limits.
2022-01-11 10:11:09 +01:00
George Bișoc
32e9710fd1 [NTOS:OB] Add a system process quota block macro
OBP_SYSTEM_PROCESS_QUOTA is a macro that'll be used as a way to assign a dummy quota block to system processes, as we mustn't do anything to those in case the Object Manager is charging or returning pool quotas.
2022-01-11 10:11:09 +01:00
George Bișoc
c9755651cd [NTOS:PS] Declare some prototypes and annotate the quota functions with SAL
Declare PsReturnSharedPoolQuota and PsChargeSharedPoolQuota prototypes and annotate the functions. Furthermore, add two definitions related to quota pool limits threshold -- PSP_NON_PAGED_POOL_QUOTA_THRESHOLD and PSP_PAGED_POOL_QUOTA_THRESHOLD. For further details, see the commit description of "[NTOS:MM] Add the pool quota prototypes and some definitions".
2022-01-11 10:11:09 +01:00
George Bișoc
13cbc7fbf9 [NTOS:MM] Add the pool quota prototypes and some definitions
Declare the MmRaisePoolQuota and MmReturnPoolQuota prototypes in the header and add some definitions related to pool quotas, namely MmTotalNonPagedPoolQuota and MmTotalPagedPoolQuota. These variables are used internally by the kernel as sort of "containers" (for the lack of a better term)
which uphold the amount of quotas that the Process Manager is requesting the Memory Manager to raise or return the pool quota limit. In addition to that, add some definitions needed for both of these functions.

The definitions, MI_CHARGE_PAGED_POOL_QUOTA and MI_CHARGE_NON_PAGED_POOL_QUOTA respectively, bear some interesting aspect. Seemingly the 0x80000 and 0x10000 values (that would denote to 524288 and 65536 specifically) are used as quota "limits" or in other words, thresholds that the kernel
uses. So for example if one would want to raise the quota limit charge, MmRaisePoolQuota will raise it so based on this formula -- NewMaxQuota = CurrentQuota + LIMIT_VALUE. LIMIT_VALUE can be either MI_CHARGE_PAGED_POOL_QUOTA or MI_CHARGE_NON_PAGED_POOL_QUOTA, depending a per quota pool basis.

What's more interesting is that these values are pervasive in Process Manager even. This is when quotas are to be returned back and trim the limit of the quota block if needed, the kernel would either take the amount provided by the caller of quotas to return or the threshold (paged or not paged)
if the amount to return exceeds the said threshold in question.
2022-01-11 10:11:08 +01:00
George Bișoc
abe89d7cde [NTOS:FSRTL] Assign the buffer length to ThisBufferLength field
This fixes an issue where ReactOS would assert on QuotaUsage == 0 as the process was still taking up quotas during a quota block de-reference with root cause of ThisBufferLength member field being 0 which made process quota charging/returning flow unbalanced.
In addition to that, on FsRtlCancelNotify routine API all we must ensure that if PsChargePoolQuota or ExAllocatePoolWithTag function fails we have to handle the raised exceptions accordingly and return the charged quota back (if we actually charged quotas that is). With said, wrap that part of code with SEH.

=== DOCUMENTATION REMARKS ===
The cause of the assert is due to the fact ThisBufferLength was being handled wrongly ever since, until this commit. When FsRtl of the Executive has to filter reported changes (with logic algorithm implemented in FsRtlNotifyFilterReportChange function), the said function will charge the quota of a given process
with an amount that is represented as the buffer length whose size is expressed in bytes. This length buffer is preserved in a local variable called NumberOfBytes, which is initialized from BufferLength member field of notification structure or from the length from stack parameters pointed from an IRP.

As it currently stands, the code is implemented in such a way that FsRtlNotifyFilterReportChange will charge quotas to a process but it doesn't assign the buffer length to ThisBufferLength. On the first glimpse ThisBufferLength and BufferLength are very similar members that serve exact same purpose but in reality there's a subtle distinction between the two.

BufferLength is a member whose length size is given by FSDs (filesystem drivers) during a notification dispatching. Whenever FsRtl receives the notification structure packed with data from the filesystem, the length pointed by BufferLength gets passed to ThisBufferLength and from now on the kernel has to use this member for the whole time of its task to accomplish
whatever request it's been given by the filesystem. In other words, BufferLength is strictly used only to pass length size data to the kernel by initializing ThisBufferLength based on that length and unequivocally the kernel uses this member field. What we're doing is that ThisBufferLength never receives the length from BufferLength therefore whenever FsRtl component
has to return quotas back it'll return an amount of 0 (which means no amount to return) and that's a bug in the kernel.
2022-01-11 10:11:08 +01:00
George Bișoc
71a4921f8a [NTOS:EX] Manage quotas when allocating or freeing pool tables
This fixes an assertion where QuotaUsage == 0 is actually not 0 when a process is about to be destroyed.
2022-01-11 10:11:08 +01:00
George Bișoc
47cb3c20a3 [NTOSKRNL] Implement InterlockedExchangeSizeT macro 2022-01-11 10:10:56 +01:00
Jesús Sanz del Rey
47f6745bcd [SHELL32] Fix folders on recycle bin and adjust the column size (#4234)
CORE-11000

- Now, folders can be sent to recycle bin (fixed a bug inside the implementation).
- Adjust column size of the RecycleBin virtual folder in details mode.
2022-01-11 00:40:25 +01:00
Jesús Sanz del Rey
dae6035b3b [SHELL32] Fix recycle bin handle reference leaking (#4222)
CORE-13730

There was a handle reference leak in the recycler bin and the bin wasn't removing the copied file after restoring it.
Close the handle were the memory leak was and move the file when restoring it.
2022-01-11 00:20:23 +01:00
Katayama Hirofumi MZ
3456538e3a [MSPAINT] Some minor improvements (#4264)
- Fix Japanese IDS_MINIATURETITLE resource string.
- Fix Japanese IDM_VIEWSHOWMINIATURE menu item text.
- Fix DWORD as COLORREF.
- Improve some OnPaint's.
CORE-17969
2022-01-10 21:44:13 +09:00
Katayama Hirofumi MZ
edf92c004d [MSPAINT] Don't hide selection on zooming (#4266)
- Don't hide the selection window on zooming.
- Move the selection window by calling placeSelWin() when zoomed.
CORE-17969
2022-01-10 21:41:00 +09:00
Vadim Galyant
fec440d8b8 [SDK:DDK][NTOS:PNP] Implement PnP arbiters initialization 2022-01-10 06:35:45 +03:00
Katayama Hirofumi MZ
b2f8d62cd1 [MSPAINT] Prepare for debugging (#4257)
- Add #include <debug.h> and add link to ntdll.dll for debugging.
- Add CopyDIBImage helper function.
CORE-17969
2022-01-10 08:50:37 +09:00
Hermès Bélusca-Maïto
48d1a7bf4d [SHELL32] Use the already existing g_pszShell32 instead of re-defining a new variable holding the very same string. 2022-01-09 22:44:21 +01:00
Hermès Bélusca-Maïto
83be315abf [SHELL32] Use wide char string literals.
Import parts of Wine commit b215536852dc5a132108db92c90a41c70b738e50
shell32: Use wide char string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-09 22:39:29 +01:00
Hermès Bélusca-Maïto
59b3545603 [SHELL32] recyclebin.h: Correctly balance the INTERFACE defines/undefs. 2022-01-09 19:02:41 +01:00
Arnav Bhatt
8df70629b6 [SYSDM] Fix the "fancy" edit Environment dialog box (#4258)
Fix the issue of the changes of the environment values not being set sometimes through fancy dialog box:
Make sure the environment value buffer is always reallocated before taking the values.
2022-01-09 17:55:25 +01:00
Katayama Hirofumi MZ
17f34887f3 [MSPAINT] Add ICC_BAR_CLASSES (#4261)
The Fonts toolbar uses toolbar and tooltips. Thus this flag is needed. CORE-17949
2022-01-09 23:24:30 +09:00
Eric Kohl
3f053db3e7 [SYSSETUP] Improve the Process Page
- The page will support multiple tasks (WIP)
- The background thread uses messages to update the page
2022-01-09 14:29:17 +01:00
Serge Gautherie
fdcefaa7cb [HDAUDBUS] HDA_PdoPnp(): Remove a redundant ASSERT()
Addendum to cf7fc81 (r68311).
2022-01-08 18:00:38 +03:00
Serge Gautherie
cba4fd57d0 [KS] KsServiceBusEnumPnpRequest(): Remove a redundant ASSERT()
Addendum to c6b26fa (r50531).
2022-01-08 18:00:38 +03:00
Hervé Poussineau
2538583dbe [VIDEOPRT] Query children only when device has been opened
HwGetVideoChildDescriptor callback must be called only after HwInitialize.

CORE-17979
2022-01-06 22:02:07 +01:00
Hervé Poussineau
983d9a1c2a [VBEMP] Disable reporting multiple monitors
It has never worked, and only leads to some infinite loops with some hardware or BIOS configurations.
2022-01-06 20:16:12 +01:00
Hervé Poussineau
f03750de6a [VBEMP] Rename to vgapnp.sys
- rename driver vbemp.sys to vgapnp.sys
- rename service VBE to vga
- store settings in non hardware-profile registry key
2022-01-06 20:16:12 +01:00
Hervé Poussineau
073a1ea34c [VGAMP] Rename to vga.sys
- rename driver vgamp.sys to vga.sys
- rename service Vga to VgaSave
- store settings in non hardware-profile registry key
2022-01-06 20:16:12 +01:00
Hervé Poussineau
0d9386d0e0 [VGA_NEW] Disable it for now 2022-01-06 17:47:45 +01:00
Hervé Poussineau
5afea63e66 [BOOTDATA] hivesys.inf: remove UseNewKey setting
Neither LiveCD nor BootCD 2nd stage are able to use new registry key for videoprt,
as they depend of some PnP entries which are unavailable.

This line was added in a7ebc6bd5c (r43711)

Note that it doesn't change much for ReactOS yet, as neither
videoprt.sys nor win32k.sys take care of this parameter.
2022-01-06 17:45:03 +01:00
Hervé Poussineau
cdae92ed8c [SETUPLIB] Upgrade display settings even if no hardware profile exists 2022-01-06 17:45:03 +01:00
Hermès Bélusca-Maïto
a6bf77e7b9 [SDK:REACTOS] Move our ROS-specific header-only UI libraries into a "ui" sub-folder. (#4205) 2022-01-06 02:17:25 +01:00
Doug Lyons
9db24e33c7 [WINLOGON] Start screen saver as current user (#4135)
This fixes displaying user-defined text for 3D Text ScreenSaver.
Also set the process to IDLE_PRIORITY_CLASS.

CORE-17875
2022-01-06 04:10:56 +03:00
Serge Gautherie
40b9ee0ae0 [VIDEOPRT] Match Zw*Key() DesiredAccess values (#4145)
Even if the kernel mode does not care, this makes it clear.
2022-01-06 04:04:09 +03:00
Thomas Csovcsity
cfaeaaa993 [WINDOWSCODECS] Add converter for WICPixelFormat32bppRGBA (#4239)
This fixes CORE-15708 "PdfSam 3.3.5 setup can not decode bmp"
https://jira.reactos.org/browse/CORE-15708

Wine does not have this issue, but it did not have it back when last sync to
WineStaging-4.18 was done. This commit is as near as possible to actual
wine-7.0-rc3 version. This wine code uses reverse_bgr8 instead of own
convert_rgba_to_bgra, but it leads to wrong colors.
2022-01-06 03:56:45 +03:00
Serge Gautherie
1723c223e3 [RPCRT4] Fix implicit in attribute handling in write_param_fs()
Cherry-pick wine-5.0-rc1-50-g1aaf870 by Jacek Caban.
https://source.winehq.org/git/wine.git/?a=commit;h=1aaf870039dfb8419ae060d8c67240df1366b953

(OLEAUT32_WINETEST part shall be imported later.)

CORE-17884
2022-01-06 03:48:29 +03:00
Tibor Lajos Füzi
1a4d5dbeaa [TRANSLATION] Update Hungarian (hu-HU) translation (#4220)
[LABEL] Improve existing and add missing translations
[NOTEPAD] Fix a typo
[FORMAT] Improve existing translation
[REGSVR32] Improve existing translation
[RUNDLL32] Improve existing translation
[CPL:DESK] Fix typos
2022-01-05 20:38:38 +03:00
Stanislav Motylkov
77fd33c99c [NTOS:CM] Refactor full CPU identifier values
Dedicated to Victor Perevertkin.
2022-01-05 18:28:40 +03:00
Stanislav Motylkov
84cc81ee29 [NTOS:KE/x64] Detect CPU vendor properly and store value in PRCB
Also generate processor identifier properly based on this value
on the Configuration Manager machine-dependent initialization.

Update processor driver INF file accordingly.

CORE-17970 CORE-14922
2022-01-05 18:28:40 +03:00
Katayama Hirofumi MZ
a4bd2449ad [MSPAINT] Follow-up of #4237
CORE-17949
2022-01-05 16:41:12 +09:00
Katayama Hirofumi MZ
361a2ce4f7 [MSPAINT] Implement the text tool (#4237)
- Add CFontsDialog and IDD_FONTS.
- Rewrite CTextEditWindow.
- Implement TOOL_TEXT tool.
- Add the font-related settings.
CORE-17949
2022-01-05 16:26:05 +09:00
Victor Perevertkin
951e52104a [HDAUDBUS] Fix uninitialized variable usage 2022-01-05 03:22:15 +03:00
Michael Stamper
378294a7df [PORTCLS] Fix races, fix WavePci Port Drivers
- Split buffers on page to prevent non-contiguous memory being passed to driver.
- Protect CIrpQueue::GetMappingWithTag, ReleaseMappingWithTag with spinlock to prevent race conditions
  (GetMapping, ReleaseMapping do not need spinlock, they are only called from a service routine).
- Remove ASSERT in CIrpQueue::ReleaseMappingWithTag, when mappings are released out of order. Just ignore
  the tag argument and release the next one in the list. This is what windows does, confirmed by calling
  PortWavePciStream::ReleaseMapping() with tag argument set to 0, absolutly no difference observed.
  Allowing out of order release is essential given that a driver is not permitted to hold a spinlock when calling
  ReleaseMapping().
- Remove IIrpQueue::HasLastMappingFailed(), it never worked and there is no way it could work.
  CPortPinWavePci::HandleKsStream() call MappingAvailable() non-conditionally, this is what Windows does,
  verified by debug prints in ac97 driver.
- Implement CIrpQueue::NumData().
- Remove incorrect interlocked operations/volatile variables and several (now unused) class fields.
2022-01-05 03:20:44 +03:00
Victor Perevertkin
7ed1883c8e [DRIVERS] Use IoForwardIrpSynchronously in drivers
Instead of having an own routine in each driver
IoForwardIrpSynchronously can be used.
2022-01-05 02:17:56 +03:00
Katayama Hirofumi MZ
8e8f61989a [NTUSER] Plan A: UserDereferenceObject in UserCreateInputContext (#4247)
- Call UserDereferenceObject function in UserCreateInputContext.
- Don't call UserDereferenceObject against input context at the other places.
CORE-11700
2022-01-05 08:15:32 +09:00
Javier Fernandez
1f6cd38050 [RAPPS] Update Spanish (es-ES) translation (#4198)
Addendum to acc25ce9.
2022-01-04 17:04:18 +03:00
Jose Carlos Jesus
cde7327e0b [NETSHELL] Improve Portuguese (pt-PT) translation (#4232) 2022-01-04 16:54:02 +03:00
Stanislav Motylkov
6ebe2ed3a1 [UNIATA] Fix packing for port configuration information structures
Now it's consistent with our structure in sdk/include/ddk/srb.h.
Thanks to Hervé Poussineau for help with problem analysis.

Also MSDN doesn't say anything about the structure packing:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/srb/ns-srb-_port_configuration_information

CORE-17966
2022-01-04 14:30:27 +03:00
Stanislav Motylkov
27955da7ee [WIN32K:NTUSER] Fix one more reference leak
Addendum to d5deacd9 and 2a2f8dbe. CORE-11700
2022-01-04 03:12:12 +03:00
Thomas Faber
a4b2c80853 [NTOS:KE] Fix buffer overflow when displaying x64 bug checks 2022-01-03 13:25:09 -05:00
Thomas Faber
2a2f8dbebd [WIN32K:NTUSER] Fix reference leak 2022-01-03 13:25:09 -05:00
Javier Fernandez
b23e21a03e [MPLAY32] Update Spanish (es-ES) translation (#4200) 2022-01-03 19:30:56 +03:00
Thomas Faber
7c3902e57b [IMM32_APITEST] Fix failure messages. 2022-01-02 12:54:59 -05:00
Thomas Faber
49bb853b24 [GDI32_VISTA] Move D3DKMT functions out of gdi32. CORE-17433 2022-01-01 12:42:04 -05:00
Katayama Hirofumi MZ
757bed81b1 [NTUSER] Fix KVM and VBox tests (#4235)
KVM and VBox tests was failing since d5deacd
- Check NULL at UserFreeInputContext and UserDestroyInputContext functions.
- Move UserMarkObjectDestroy into the UserDestroyInputContext function.
CORE-11700
2022-01-02 01:40:11 +09:00
Katayama Hirofumi MZ
ee132a05ba [MSPAINT] Polymorphism on tools (#4210)
- Introduce polymorphism on tools and mouse actions.
- Implement double-clicking on TOOL_SHAPE.
- Fix some bugs about mouse handling.
CORE-17931
2022-01-01 22:02:36 +09:00
Thomas Csovcsity
e0a47b7b5f [BCRYPT] Add ECDSA P256 to known algorithms
Add missing structs and handler in BCryptOpenAlgorithmProvider().
Fixes CORE-16741 and similar problems.
2022-01-01 15:18:06 +03:00
Katayama Hirofumi MZ
d5deacd903 [NTUSER] Implement NtUserCreateInputContext (#4230)
- Modify NtUserCreateInputContext prototype.
- Add UserCreateInputContext helper function.
- Implement NtUserCreateInputContext function by using UserCreateInputContext.
- Call UserCreateInputContext(0) in InitThreadCallback function to create the default input context.
CORE-11700
2022-01-01 20:59:00 +09:00
Katayama Hirofumi MZ
ba3affe5f7 [NTUSER] Implement NtUserUpdateInputContext (#4228)
- Modify NtUserUpdateInputContext prototype.
- Implement NtUserUpdateInputContext function.
- Add enum UPDATE_INPUT_CONTEXT (UIC_*) to undocuser.h.
CORE-11700
2022-01-01 20:57:51 +09:00
Katayama Hirofumi MZ
cdf3b5e85a [NTUSER] Implement NtUserQueryInputContext (#4227)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
- Modify NtUserQueryInputContext prototype.
- Implement NtUserQueryInputContext function.
- Add enum QUERY_INPUT_CONTEXT (QIC_*) to undocuser.h.
CORE-11700
2022-01-01 20:56:50 +09:00
Hermès Bélusca-Maïto
0d00a5d6eb [FREELDR] Slightly revamp the Exception BSOD screen.
- Don't store trailing newlines in the exception description text strings.
- Remove unused i386PrintChar().
- Display CR4 in x86.

- Use the "indentation" printf generation trick in order to get aligned
  strings for (CF4 and) DR6 and DR7, without having to hardcode the tons
  of alignment whitespaces (--> make the strings stored in freeldr shorter).

- Show the IP/ErrorCode/EFlags/GDTR/IDTR/LDTR values vertically aligned.

- Display the stack frames in both x86 and x64 modes.

- Adjust the instruction pointer when a BREAKPOINT or OVERFLOW exception
  arises, so that the offending instruction can show up in the instruction
  stream.
2022-01-01 05:04:23 +01:00
Hermès Bélusca-Maïto
2c9dbacebb [FREELDR] Fix displayed information in the Exception BSOD.
CORE-16748

- Display the correct TR register value.

- Ensure that the x86 segment register values displayed are really
  2-byte long.

Segment registers are intrinsically 16 bits. Even if the x86
KTRAP_FRAME structure stores them as ULONG, only their lower 16 bits
are initialized. We thus cast them to USHORT before display.

These segment registers are saved in a stack-based KTRAP_FRAME by the
CPU trap mechanism (for SS), and by 'push CS' etc. instructions for
the others, and from Intel documentation, we know that:
"
If the source operand is a segment register (16 bits) and the operand
size is 64-bits, a zero-extended value is pushed on the stack; if the
operand size is 32-bits, either a zero-extended value is pushed on the
stack or the segment selector is written on the stack using a 16-bit
move. For the last case, all recent Core and Atom processors perform
a 16-bit move, leaving the upper portion of the stack location unmodified.
"
So it may happen, when using the push, that either they get zero-extended,
or garbage gets stored in the higher bits, and these need to be trimmed.
2022-01-01 05:04:22 +01:00
Hermès Bélusca-Maïto
10a976e78f 🎊 🍾 🥳 Happy New Year 2022 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄████▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░▀▀░▄██░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░░▄██▀░░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░██████░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2022-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto
e05010193e [MSGINA][SHELL32] Update some resources information. 2021-12-31 23:55:32 +01:00
Hermès Bélusca-Maïto
50eaa449f8 [FREELDR] Use actual ReactOS copyright year. 2021-12-31 23:55:31 +01:00
Mark Jansen
3b1c06c035 [PSDK] Add some missing argument names 2021-12-31 21:27:48 +01:00
Mark Jansen
acc25ce914 [RAPPS] Show the user that there are no search results
CORE-17944
2021-12-31 21:27:48 +01:00
Mark Jansen
d59f5ae2a5 [SHELL32][SHELL32_APITEST] Implement SHCreateFileDataObject 2021-12-31 21:27:30 +01:00
Mark Jansen
e6568af2d3 [SYSSETUP] Register type libraries before signaling we are done
This prevents a race condition, where hSysSetupInf could be closed before all type libraries are registered
2021-12-31 21:26:18 +01:00
Mark Jansen
51b2197c12 [ROSAPPS] Remove unmaintained / half-implemented imagesoft 2021-12-31 21:25:38 +01:00
Eric Kohl
6623b8d155 [ARP] Move the message file
Move the message file because we do not need to generate a global message header file for the arp utility.
2021-12-31 16:35:25 +01:00
Hermès Bélusca-Maïto
d7722f39fb [PSDK][SHELL32][SHELLEXT] Add SHCreateFileExtractIconW() to the PSDK and SAL-annotate it. (#4223)
Note that even if the MS PSDK and MSDN documents an hypothetical
ANSI version SHCreateFileExtractIconA(), this one never existed
exported in any Windows version!
2021-12-31 02:30:58 +01:00
Hermès Bélusca-Maïto
14dbd66d88 [SDK:ATL] Implement GetDlgItemText(BSTR&), GetTopLevelParent(), GetWindowText(CSimpleString&). (#4207)
And add SAL annotations to the Get***Text family of functions.
2021-12-31 02:28:10 +01:00
Hermès Bélusca-Maïto
e60a4f00b5 [ATL] atlwin.h: Formatting, and add a comment in IsParentDialog(). 2021-12-31 02:26:53 +01:00
Katayama Hirofumi MZ
fcc222c28a [NTUSER] Implement NtUserDisableThreadIme (#4216)
CORE-11700
2021-12-31 10:20:53 +09:00
Hermès Bélusca-Maïto
10a5200e1f [BOOTDATA] Add new Setup Debug/Screen boot entries in BootCD/HybridCD/PC98 boot menus. (#3353)
CORE-17350

Makes testing easier on real hardware (especially for these configs
where debugging can only be done via screen mode).

Add also an experimental Setup ACPI APIC entry in bootcd.ini for testing
purposes, along the lines of commit 5ee09256d .
In the similar LiveCD entry, use instead the /HAL= option.
2021-12-30 16:06:49 +01:00
Hermès Bélusca-Maïto
3fcd73634e [BOOTDATA] Remove deprecated BOCHS debugport example in txtsetup.sif. 2021-12-30 03:42:01 +01:00
Hermès Bélusca-Maïto
a01398b034 [FREELDR] Adjust a boot-options editor example. 2021-12-30 03:42:00 +01:00
Stanislav Motylkov
f18fb7da09 [NTOS:MM] Unrefernece some dereferences 2021-12-30 01:54:09 +03:00
Stanislav Motylkov
84a4efa491 [BOOTDATA] Reorder localized sections properly and fix hex numbers case 2021-12-30 01:36:57 +03:00
Luo Yufan
c1f50f3138 [TRANSLATION] Update Simplified Chinese (zh-CN) translation (#4173)
Reviewed-by: Chan Chilung <eason066@gmail.com>
2021-12-30 01:16:41 +03:00
Chan Chilung
81db5e1da8 [TRANSLATION] Add Hong Kong Chinese (zh-HK) translation - Part 1 (#3941)
Converted from Cantonese to HK-Style Written Chinese.

Also assign zh-HK translations to the ReactOS Chinese
translation team in the CODEOWNERS file.

Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2021-12-30 00:40:57 +03:00
Doug Lyons
00ace73316 [MSI] Improve previous msi/dialog.c patch to match code committed to Wine. (#4008)
CORE-17702

Only show the main dialog pane in the taskbar when executing a Cancel dialog.
- Improve previous msi/dialog.c patch to match current Wine code.
- Remove #ifdef's for already committed Wine Code.

In effect, importing Wine's commit 4b88e290521ef9fde9290c9bcbae7420966a6f46:
msi: Set dialog as parent in subsequent dialog.
Author: Fabian Maurer <dark.shadow4@web.de>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51576
2021-12-29 17:06:28 +01:00
Jesús Sanz del Rey
b94b435a11 [SHELL32] Handle double click on focus manager (#4213)
CORE-9943
2021-12-29 17:00:59 +01:00
Javier Fernandez
c77d53bf6c [DRWTSN32] Add Spanish translation (#4201) 2021-12-29 16:55:38 +01:00
Jesús Sanz del Rey
5831427ef9 [DEVMGR] Ensure clicking on item when opening property sheet (#4196)
Fix a bug related to the device manager, where double-clicking anywhere when an item is already selected opens the property sheet.

CORE-17207
2021-12-29 16:52:41 +01:00
Oleg Dubinskiy
dc483bd700 [WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146)
CORE-17561

Set the API_BITMAP flag for bitmaps created by EngCreateBitmap().

This avoids failure when created bitmap is passed to NtGdiSelectBitmap(), since it checks for this flag and fails if it isn't set.
Otherwise, if failure occurs, the bitmap is hot handled properly.
Setting this flag outside of that function is not an option at all, because it is a public (exported) function, and in many cases it's called directly by the caller (in case with MS DDraw stack, it can be called also by dxg.sys from dxgthk!EngCreateBitmap, which directly calls win32k!EngCreateBitmap).

In particular, it allows Windows XP/2003 DirectDraw stack (ddraw.dll & dxg.sys) to properly work in ReactOS (in software emulation mode), even on real hardware. So now, a lot of DirectX 1-7 apps and games (whose can work withoug hardware acceleation), are working properly with ddraw.dll + dxg.sys replacement! Also Justin Miller (DarkFire01) confirmed that even Direct3D software emulation now also works correctly on real hardware!
2021-12-29 16:51:23 +01:00
Hermès Bélusca-Maïto
0db5fce47d [ATTRIB] Fix bFound assignment, as it was originally intended by the PR reviewer.
See https://github.com/reactos/reactos/pull/2142#discussion_r360645296

This fixes the two warnings:
warning C4552: '!=': result of expression not used
2021-12-29 04:02:35 +01:00
Hermès Bélusca-Maïto
da699be4c4 [ATTRIB] Formatting only. 2021-12-29 04:02:28 +01:00
Hermès Bélusca-Maïto
a84d295974 [RAPPS] Fix the download dialog not having an icon when RAPPS is started for the first time and the database is downloaded beforehand. 2021-12-29 01:28:56 +01:00
Hermès Bélusca-Maïto
b5a6357d93 [RAPPS] Remove some dead code.
CAvailableApps::GetFolderPath() and friends are unnecessary, since
the data they return are public members of the m_Strings global structure,
that are already being used directly by other code.
2021-12-29 01:28:55 +01:00
Hermès Bélusca-Maïto
35efa2b9c7 [RAPPS] Minor formatting. 2021-12-29 01:28:53 +01:00
Katayama Hirofumi MZ
d30e5eb51c [MSPAINT] Add NUM_COLORS and enum PAL_TYPE (#4203)
Reduce magic numbers and improve debuggability. CORE-17931
2021-12-28 19:01:31 +09:00
Hermès Bélusca-Maïto
59ceeb1da0 [RAPPS] Capitalize the IDS_APP_DISPLAY_* strings ("Details"/"List"/"Tile") 2021-12-28 03:20:22 +01:00
Hermès Bélusca-Maïto
45bbf5bc8a [DEVCPUX] Remove double WS_POPUP. 2021-12-28 03:20:21 +01:00
Hermès Bélusca-Maïto
0d19ab0b82 [SYSDM] Some fixes when resizing the environment variables dialogs.
- Correctly handle the return values for WM_SIZING and WM_SIZE messages.

- Use NULL for hWndInsertAfter parameter of DeferWindowPos() when
  we don't care about the Z-order.

- Specify SWP_NOMOVE for controls that don't move during resizing.

- Fix the IDOK and IDCANCEL buttons when resizing the environment
  variables list dialog.

- Fix the dialog "moving" effect that happened whenever an attempt
  was made to resize the dialog from either of the
  top/left borders, or the top-right/top-left/bottom-left corners,
  to a size smaller than the minimal one.

- Use DWLP_USER instead of GWLP_USERDATA when storing user-specific
  data into the dialog, since the latter can be used internally by
  the Win32 dialog manager implementation.
2021-12-28 03:20:11 +01:00
Hermès Bélusca-Maïto
f6711dc528 [SYSDM] Don't systematically center the environment dialog. Restore the lost DS_CONTEXTHELP style. 2021-12-28 02:51:43 +01:00
Katayama Hirofumi MZ
2ca3ff5bc6 [MSPAINT] Refactoring (_countof and resource.h) (#4202)
- Use Microsoft standard _countof macro instead of SIZEOF.
- Rename definitions.h as resource.h.
- Move some macro definitions to its proper place.
CORE-17931
2021-12-28 10:44:56 +09:00
Victor Perevertkin
ad49da70a1 [HIVESYS] Add missing device classes to avoid error messages in log 2021-12-28 04:23:51 +03:00
Victor Perevertkin
fd9436d768 [NTOS:PNP] Remove excessive error messages 2021-12-28 04:23:51 +03:00
Victor Perevertkin
1a6bd2704a [SCSIPORT] Reduce and improve debug printing 2021-12-28 04:23:51 +03:00
Katayama Hirofumi MZ
ba117350eb [MSPAINT] Add const to some ImageModel methods
CORE-17931
2021-12-28 09:49:36 +09:00
Katayama Hirofumi MZ
4331b47c50 [MSPAINT] Add const to some PaletteModel methods
CORE-17931
2021-12-28 09:47:13 +09:00
Victor Perevertkin
188f5dc50a [KMTESTS:IO] Avoid crashing in IoCreateFile test when pool allocations are failed 2021-12-28 02:51:52 +03:00
Serge Gautherie
5ba5051f79 [FLTMGR] CreateClientPort(): Fix ObInsertObject() error handling
Avoid extra ObDereferenceObject().

CORE-17904
2021-12-28 02:27:50 +03:00
Lucas Puntillo
a23249e137 [GITPOD] change extract directory to automatically extract to RosBE, and set tar to verbose mode
change extract directory to automatically extract to RosBE, and set tar to verbose mode shorting the waiting time for the user and have verbose mode activated to show if there were any issues with the file itself. therefore helping the user and developer.
2021-12-28 02:14:47 +03:00
Serge Gautherie
665dac03b8 [CMAKE] msvc.cmake: Remove add_definitions(/D__arm__) (#3710) 2021-12-28 02:12:25 +03:00
Oleg Dubinskiy
cbf8b367f5 [SYSSETUP] Enable sound events for Workstation (#3733)
Write sound events values in registry in case user selected Workstation setup during 2nd setup stage.

CORE-13951
2021-12-28 02:08:13 +03:00
Doug Lyons
f68efe516e Update based on reviewer comments. 2021-12-28 02:03:54 +03:00
Doug Lyons
e1d0128ffc Fewer GetLastError() function calls. 2021-12-28 02:03:54 +03:00
Doug Lyons
9c8a86b4cc Indentation fixes. 2021-12-28 02:03:54 +03:00
Doug Lyons
f83f650dd6 attrib command improvements 2021-12-28 02:03:54 +03:00
Mark Jansen
b34b47056a [ROSAPPS] Remove 'man' utility 2021-12-28 01:59:17 +03:00
Mark Jansen
f1519ec1b6 [ROSAPPS] Remove 'chklib' utility 2021-12-28 01:58:52 +03:00
Mark Jansen
271a54282e [ROSAPPS] Remove 'binpatch' utility 2021-12-28 01:58:07 +03:00
Serge Gautherie
44d2513ac6 [CMAKE] toolchain-clang.cmake: Use overrides-gcc.cmake
Addendum to 8cd5c4e.
CORE-14513
2021-12-28 01:56:33 +03:00
Serge Gautherie
1449523c6d [CRT] mem/: Fix msvc14.0-amd64 build
Addendum to aea4cfb.
2021-12-28 01:55:38 +03:00
Serge Gautherie
bf4d47d969 [FREETYPE] CMakeLists.txt: Fix if conditions 2021-12-28 01:45:28 +03:00
George Bișoc
3bc2d590a1 [NTOSKRNL] Regroup the pool allocation tags in one dedicated place
We have a special file, tag.h, which serves as a place to store whatever kernel pool allocation tag yet we still have some tags sparse over the kernel code... So just re-group them in one unique place.
2021-12-27 18:57:03 +01:00
Katayama Hirofumi MZ
e9330371ea [MSPAINT] Define enum TOOLTYPE and use it (#4197)
Improve code quality and debuggability. CORE-17931
2021-12-27 23:23:32 +09:00
Katayama Hirofumi MZ
90c3f89bb2 [MSPAINT] Mouse Wheel support (#4195)
Improve usability by mouse wheel handling. Plain wheel, Ctrl+Wheel, and Shift+Wheel. CORE-17937
2021-12-27 22:20:22 +09:00
Javier Fernandez
29718e009a [SYSDM] Update Spanish (es-ES) translation (#4186)
Reviewed-by: Julio Carchi Ruiz <julcar@informaticos.com>
Reviewed-by: Julen Urizar Compains <julenuri@hotmail.com>
Signed-off-by: Javier Fernandez <elhoir@gmail.com>
2021-12-27 16:08:42 +03:00
Julen Urizar Compains
c49d1de135 [TRANSLATION] Update Basque Spanish (eu-ES) translation - Part 1 (#4057)
Reviewed-by: Ismael Ferreras Morezuelas <swyterzone+ros@gmail.com>
2021-12-27 16:00:04 +03:00
Katayama Hirofumi MZ
102898191d [MSPAINT] Add const to ToolsModel methods (#4190)
Add const keywords to some methods of ToolsModel class. CORE-17931
2021-12-27 20:08:07 +09:00
Katayama Hirofumi MZ
b5536e448a [MSPAINT] Add const to SelectionModel methods (#4191)
Add const keywords to some methods of SelectionModel class. CORE-17931
2021-12-27 20:07:23 +09:00
Katayama Hirofumi MZ
ce54a8a5f2 [MSPAINT] Add nearlyEqualPoints and use it (#4194)
CORE-17931
2021-12-27 20:06:21 +09:00
Katayama Hirofumi MZ
30e47fdb77 [MSPAINT] Fix the size of settings if too large (#4189)
- Fix the initial values of BMPHeight and BMPWidth.
- Fix the values of BMPHeight and BMPWidth if too large.
2021-12-27 10:52:53 +09:00
Katayama Hirofumi MZ
98775c4c83 [COMCTL32] Handle TCIS_BUTTONPRESSED at TAB_SetCurFocus (#4179)
Based on @JoachimHenze (reactosfanboy)'s patch. Switch TCIS_BUTTONPRESSED flag at TAB_SetCurFocus function.
CORE-4245
2021-12-27 10:04:29 +09:00
Katayama Hirofumi MZ
691139c090 [SHELL32_APITEST] Disable SHChangeNotify testcase by DISABLE_THIS_TESTCASE macro
SHChangeNotify testcase takes 6min. Too heavy.
CORE-13950
2021-12-27 09:58:35 +09:00
Katayama Hirofumi MZ
7e9cf35967 [SHELL32_APITEST] Strengthen SHChangeNotify testcase more and more (#4174)
CORE-13950
2021-12-27 09:45:44 +09:00
Katayama Hirofumi MZ
1c163bf163 [MSPAINT] Revert PostMessage to SendMessage
614354ccb5
CORE-17931
2021-12-27 08:26:33 +09:00
Katayama Hirofumi MZ
614354ccb5 [MSPAINT] Define GRIP_SIZE macro and use it (#4192)
Reduce magic numbers. CORE-17931
2021-12-26 23:05:47 +09:00
Katayama Hirofumi MZ
9e1386db43 [MSPAINT] Add Zoomed and UnZoomed and use them (#4188)
- Define Zoomed and UnZoomed helper functions.
- Use them.
CORE-17931
2021-12-26 19:49:56 +09:00
Katayama Hirofumi MZ
50cb4b3cb7 [MSPAINT] Delete filename extension .png from IDS_DEFAULTFILENAME 2021-12-25 22:52:56 +09:00
Katayama Hirofumi MZ
4e6e22e638 [MSPAINT] Make PNG default instead of BMP (#4182) 2021-12-25 22:23:25 +09:00
Eric Kohl
fa607733cb [SCHEDSVC] Use a timer to start jobs
This enables the service to start multiple jobs at the same time.
2021-12-25 14:18:53 +01:00
Andreas Maier
99dcd6f71c [MSV1_0] Implement LsaApLogonUserEx2_Network (5/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Andreas Maier
dbca423cf8 [MSV1_0] Stub LsaApLogonUserEx2_Network (4/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Andreas Maier
472b32d902 [MSV1_0] Extract the code for SamValidateUser function (3/5)
This is a part of the Partial Network Login Implementation PR.

- Extract code for SamValidateUser (sam.c) from LsaApLogonUserEx2.
- Make SamValidateNormalUser a local function for sam.c
- Move dependent function GetNtAuthorityDomainSid to sam.c
2021-12-25 15:55:43 +03:00
Andreas Maier
045cd5d42f [MSV1_0] Extract SamValidateNormalUser to a separate file (2/5)
This is a part of the Partial Network Login Implementation PR.

- Extract code for SamValidateNormalUser (sam.c) from LsaApLogonUserEx2.
- Move dependent functions to sam.c:
  * GetAccountDomainSid
  * MsvpCheckPassword
  * MsvpCheckLogonHours
  * MsvpCheckWorkstations
2021-12-25 15:55:43 +03:00
Andreas Maier
5a67ed775f [MSV1_0] Improve GetComputerNameW call (1/5)
This is a part of the Partial Network Login Implementation PR.
2021-12-25 15:55:43 +03:00
Katayama Hirofumi MZ
2be9ea9c3b [BOOTDATA] Support EMF/WMF metafile file types (#4183)
Improve "Open with" registry info. CORE-17814
2021-12-25 21:40:59 +09:00
Katayama Hirofumi MZ
5c8ae0d766 [GDIPLUS] GdipCreateBitmapFromStream should accept metafiles (#4181)
- Add hbitmap_from_emf helper function.
- GdipCreateBitmapFromStream accepts the metafiles.
CORE-17814
2021-12-25 21:40:08 +09:00
Scott Maday
99a6d03786 [I8042PRT] Add Latitude D820 to the hack list (#4185)
Fixes the Dell Latitude D820 TouchPad not working.
2021-12-25 03:07:33 +01:00
Andreas Maier
0901077f8c [MSV1_0] Create stubs for SECPKG_USER_FUNCTION_TABLE
This commit fixes a bug as well: old code of SpUserModeInitialze returns
a pointer to a local variable (SECPKG_USER_FUNCTION_TABLE).
2021-12-25 02:10:33 +03:00
Katayama Hirofumi MZ
1c82bf0324 [TASKMGR] Avoid freezing in getting icons (#4180)
- Modify the timeout value of SendMessageTimeout.
- Use SMTO_ABORTIFHUNG flag.
- Check if the window alive.
CORE-17894
2021-12-24 16:08:07 +09:00
Katayama Hirofumi MZ
4ed752e2c5 [EXPLORER] Adjust Taskbar AUTOHIDE size Part 2
The previous commit 2cc893f was too thick. CORE-17927
2021-12-24 07:52:02 +09:00
Katayama Hirofumi MZ
2cc893f514 [EXPLORER] Adjust AUTOHIDE size
GetSystemMetrics(SM_CXBORDER) is too thin. CORE-17927
2021-12-24 07:26:11 +09:00
Katayama Hirofumi MZ
f153b52dbb [SHELL32] Use IDI_SHELL_DOCUMENT for broken non-exe icons
CORE-16287
2021-12-24 02:47:31 +09:00
Katayama Hirofumi MZ
051561ed17 [NTUSER] Use call procedure handle if available (#4178)
Based on I_Kill_Bugs' patch.
- Use IsCallProcHandle to check if the procedure is a call procedure handle.
- If so, use the call procedure.
CORE-10499
2021-12-23 11:53:18 +09:00
Arnav Bhatt
52befa1d73 [SYSDM] Make the environment dialog box resizable (#4038)
Make it resizable, similarly to what is done in Windows 10.
2021-12-23 01:25:32 +01:00
Arnav Bhatt
e58b4a4928 [SYSDM] Edit Environment Variable Dialog Improvement (#3575)
Improve the "Edit Environment Variable" dialog box to be functionally as similar to the one of Windows 10.
CORE-11733

- Improved the existing dialog box. In particular, allow it to be resizable.
- Implemented new "fancy" dialog box for variables containing multiple directories as values,
  showing them in a list.
2021-12-23 00:37:21 +01:00
Chris Spiegel
00ffe2dfff [NETSHELL] Improve workgroup vs. domain wording (#4172) 2021-12-21 13:40:54 +01:00
Oleg Dubinskiy
8a6312abda [WIN32SS][NTDDRAW] Improve DxEngGetDCState type 2 implementation (#4176)
- Use the REGION_Complexity() function to get the actual region complexity instead of just number of rectangles.
- Don't use prgnRao at all, because it is always uninitialized when passed to the function. So in condition between prgnRao and prgnVis, the 2nd one always succeeds.
- Update the comment accordingly.
- Additionally, add a DPRINT to the end of the function, which displays the returned value.

This allows to properly enable and use DirectDraw and Direct3D hardware acceleration with the following MS DirectX components: ddraw.dll, d3d8.dll, d3d9.dll and dxg.sys. As in VM, same on real hardware.
But note that now the bugcheck 0x50 (PAGE_FAULT_IN_NONPAGED_AREA) occurs when executing fullscreen DDraw apps, after switching display mode. It's unhidden by this fix.
Addendum to 855bf46.
CORE-17561
2021-12-20 21:27:13 +01:00
Ronny Borchert
9d33a2056e [NTFS][UDFS] Fix build with NDEBUG undefined (#4171)
- Fix DumpBTreeNode() parameters in ntfs/btree.c
- Comment out unused variable in env_spec.cpp
- Fix missed brackets in else clause in wcache_lib.cpp
2021-12-20 21:19:53 +01:00
Serge Gautherie
0fd3e51580 [HALX86] HalpDmaAllocateChildAdapter(): Fix memory leak, on error (#4156)
Simplify code, instead of adding 2 missing ObDereferenceObject().
(Note that ObInsertObject() always dereferences the object in case of failure.)

CORE-17904
2021-12-20 21:14:36 +01:00
Andrej Bartulin
2196a06fc1 [KEYBOARD] Switch to QWERTZ for Croatian keyboard layout (#4177) 2021-12-20 15:23:16 +01:00
Stanislav Motylkov
2bf37e73e5 [STORPROP] Fix MSVC build. Addendum to 9a7bd386 2021-12-20 02:46:47 +03:00
Eric Kohl
9a7bd386b9 [STORPROP] Add missing stubs and move some functions around 2021-12-20 00:08:06 +01:00
Serge Gautherie
d375b7f6c5 [WIN32K:NTUSER] Make sure to hold User Global Lock before mapping desktop heap (#4144)
Addendum to 8c098ee8d.
CORE-17890
2021-12-19 23:34:35 +01:00
Doug Lyons
7d1b50394b [WIN32SS] Do not remove message from the Msg Queue if it is not for us. (#4129)
CORE-8217
Patch from 'I_Kill_Bugs' contributor.
2021-12-19 16:03:22 +01:00
Jérôme Gardou
63bb43adbb [MSI] Remove read-only bit when copying the package file
CopyFileW also copies the file attributes, and the copy will be opened with
write access later on.

This is import of Wine commit:
e830975806

Fixes MS Office 2000/2003 installers and probably others. CORE-17693
2021-12-18 15:44:04 +03:00
Katayama Hirofumi MZ
e8a7e0da2b [TASKMGR] Make 'Hide When Minimized' non-default (#4169)
HideWhenMinimized = FALSE; at LoadSettings function.
AlwaysOnTop = TRUE; at LoadSettings function.
2021-12-18 18:21:32 +09:00
Stanislav Motylkov
1a1fd20f3e [README] Update release article link 2021-12-17 22:35:26 +03:00
Stanislav Motylkov
011bd77a94 [README] Update release version 2021-12-17 22:34:18 +03:00
Hervé Poussineau
ac5536aa48 [SCSIPORT] Ignore LUNs not supported by the adapter
CORE-17641
2021-12-17 11:09:23 +01:00
Jose Carlos Jesus
a36cc8054d [COMDLG32] Fix ico3 not shown in Print dialog (#2831) (#2831) 2021-12-17 13:06:55 +09:00
Mark Jansen
db39a50c73 Simplify CDefaultContextMenu by using CAtlList (#3405) 2021-12-17 13:01:03 +09:00
Jose Carlos Jesus
c3a4309d0c [EXPLORER] Fixed issue in TaskBar AUTOHIDE CORE-17093 (#2863)
CORE-17093
2021-12-17 12:42:19 +09:00
Katayama Hirofumi MZ
f643fb301b [NTUSER] Fix SwitchToThisWindow
Taskbar task buttons were not working correctly due to this bug.
CORE-17911
2021-12-17 11:38:23 +09:00
Hervé Poussineau
0358fcf9e4 [NTOS:PNP] Let pnproot only report already detected devices
Ignore devices which have DeviceReported=1 in instance key
and not DeviceReported=1 in Control key.

CORE-17874
2021-12-16 16:14:21 +01:00
Hervé Poussineau
d380e9777c [NTOS:PNP] Set DeviceReported=1 in Instance key and Control key of legacy devices at report time
CORE-17874
2021-12-16 16:14:21 +01:00
Katayama Hirofumi MZ
e3622ebe4e [NTGDI] Strictly check pen style (#4164)
- Check the pen style and elegantly fail if the style was wrong.
CORE-13819
2021-12-16 10:47:57 +09:00
Katayama Hirofumi MZ
545e1190f2 [TASKMGR] Avoid hangs as much as possible (#4166)
- Use ShowWindowAsync instead of ShowWindow.
- Use SwitchToThisWindow directly.
CORE-17894
2021-12-16 09:57:40 +09:00
Katayama Hirofumi MZ
0b6f3eb8e4 [NTUSER][USER32] Use async way in TileWindows and CascadeWindows (#4167)
Processing asynchronously. CORE-17894
2021-12-16 09:52:02 +09:00
Katayama Hirofumi MZ
f636b96eee [EXPLORER] Quick taskbar menu even if any halted window (#4165)
Optimized for speed. CORE-17894
2021-12-16 09:49:43 +09:00
Valerij Zaporogeci
403222dd4f [TASKMGR] Preserve graphs history on resizes (#4141)
- Also the graph stays preserved on the kernel time toggle
- An attempt to clean up the collected cruft was made as well
2021-12-16 03:06:09 +03:00
Hermès Bélusca-Maïto
b2c8fe2c55 [TASKMGR] Formatting changes only 2021-12-16 03:06:04 +03:00
Denis Malikov
8ef8e41cc9 [SHELL32] Show error message if move or copy operation failed (#4155)
This allows user to know when there is not enough space on the target media,
when there is no permissions for the operation, or some other error.

CORE-9239
2021-12-15 17:42:47 +03:00
Katayama Hirofumi MZ
e055b0623c [EXPLORER] Use ShowWindowAsync in CTrayWindow::RestoreAll()
Here, ShowWindowAsync is better than ShowWindow.
CORE-17894
2021-12-14 23:12:01 +09:00
Chan Chilung
10c7145cc6 [XCOPY] Add missing Syntax parameter in STRING_HELP string (#4161) 2021-12-14 03:34:06 +03:00
Rubén Mendoza Luna
b7fa746172 [HELP] Fix (tr-TR) rc sporadic compilation error on VS (#4162)
Fix (tr-TR) resource file compilation error RC2102 on VS2015 and 2017.
Based on the work done at CORE-7405, moves the string split location so
the first part of the message isn't too long anymore.

CORE-17910
2021-12-14 03:22:44 +03:00
Dmitry Borisov
3f97671319 [E1000] Minor improvements (#3904)
- Add support for 64-bit counters (Intel gigabit NICs)
- Properly handle OIDs
- Check that the packet filter is not 0
- Performance increase
2021-12-14 01:57:33 +03:00
Katayama Hirofumi MZ
55a1c29341 [NTUSER][USER32] Simplify SwitchToThisWindow (#4153)
CORE-17894
2021-12-13 08:14:33 +09:00
Eric Kohl
cf8380100e [KERNEL32] SetComputerNameExW: Truncate the computer name
This fixes the SetComputerNameExW api test.
2021-12-12 17:40:52 +01:00
Jose Carlos Jesus
067c08c23f [USETUP] Improve Portuguese (pt-PT) translation (#4131) 2021-12-10 17:16:16 +03:00
Katayama Hirofumi MZ
8c9b6fdb5c [USER32] Partially fix freezing of Task Switcher (#4148)
- Use SendMessageTimeout instead of SendMessage.
- Use SwitchToThisWindow instead of BringWindowToTop.
- Use ShowWindowAsync instead of ShowWindow.
- Use SWP_ASYNCWINDOWPOS for SetWindowPos.
CORE-17894
2021-12-10 13:37:43 +09:00
Katayama Hirofumi MZ
581757d861 [KERNEL32_APITEST] Improve MultiByteToWideChar testcase
- Fix WinXP and ReactOS cases.

CORE-13349

NOTE: We use Win10's MultiByteToWideChar behaviour due to security reason.
2021-12-10 12:24:41 +09:00
Chan Chilung
21d71c28e2 [DOC] Improve file name for Chinese translation notes (#4039) 2021-12-10 01:16:33 +03:00
Chan Chilung
c1c59624ba [TRANSLATION] Chinese Traditional (zh-TW) translation update (#4039) 2021-12-10 01:16:32 +03:00
Andrej Bartulin
90d12a5fce [USETUP] Add Croatian (hr-HR) translation (#4080) 2021-12-10 00:16:49 +03:00
Jose Carlos Jesus
a29f5fed39 [INF] Add Portuguese (pt-PT) translation (#4087) 2021-12-09 20:08:35 +03:00
Justin Miller
b1fca7ea55 [SDK][XDK] Add more definitions for ARM64 and start fixing PE binaries (#4142)
- Add context structure and definitions, NEON128 structure,
  runtime function entry, dispatcher context, scope table

All definitions are based on the latest SDK for arm64.

[SDK] Use _TARGET_PE64 in the pefixup

[GENINC] Add AA64 identifier for ARM64 PE binaries

CORE-17518
2021-12-09 17:54:16 +03:00
Justin Miller
6dfc13e411 [CRT] Add vadefs macros for arm64 (#4123)
CORE-17621 CORE-17518
2021-12-09 17:16:20 +03:00
Serge Gautherie
cd991e3d63 [UNIATA] Fix copy-pasta on 5 Promise device ids
Addendum to 5783342 (r62493).
CORE-17898
2021-12-09 17:10:09 +03:00
Stanislav Motylkov
2a616b0a14 [W32TIME] Restore remaining translations
They were unintentionally dropped in commit 3d8d88ea.
Also add corresponding translation authors.

References: e4898e6e, c81af08f, 05c39d8d
2021-12-09 16:10:42 +03:00
Javier Fernandez
b794e76151 [W32TIME] Add Spanish (es-ES) translation (#4149)
Restore initial translation by Julen committed in ea6e7740
which was then dropped in 3d8d88ea.

Add translation for IDS_DESCRIPTION.
2021-12-09 15:52:02 +03:00
Hervé Poussineau
5dc56dd1d6 Revert "[VIDEOPRT] Fix updating of new registry path values"
This reverts commit ecf3416f49.

This commit was meant to fix CORE-17688. While its effectively fixed
the problem, it introduced another regression CORE-17719.

In the mean time, commit c05a45e17e fixed
things properly.

CORE-17719
2021-12-08 18:36:34 +01:00
Katayama Hirofumi MZ
ee3659d5d5 [NTUSER][USER32] Simplify user32.IsHungAppWindow (#4150)
Check FNID_GHOST and MsqIsHung. CORE-17894
2021-12-09 00:39:57 +09:00
Stanislav Motylkov
07c534c863 [BOOTDATA][USBSTOR] Add device definitions for SFF-8070i (ARMD-style devices)
Confirmed working with our usbstor driver by Vort.

CORE-17895
2021-12-08 17:52:07 +03:00
Katayama Hirofumi MZ
79c926c893 [NTUSER] Implement HSHELL_RUDEAPPACTIVATE notification (#4147)
- Add IntIsWindowFullscreen function to judge whether the window is fullscreen.
- Add IntCheckFullscreen function to notify HSHELL_RUDEAPPACTIVATE if fullscreen.
- Add IntCheckFullscreen call in UpdateShellHook function.
- Add IntCheckFullscreen call in co_WinPosSetWindowPos function.
CORE-16130
2021-12-08 18:26:22 +09:00
Katayama Hirofumi MZ
821223b3d5 [USETUP][TRANSLATION] Improve Japanese 2021-12-08 15:21:17 +09:00
Stanislav Motylkov
f6edd653b0 [RAPPS] Fix Ctrl+F hotkey not working regression
Addendum to 4c7bd34a. CORE-17881
2021-12-07 20:36:49 +03:00
Katayama Hirofumi MZ
4a17d4b0c1 [NTGDI] Follow-up of #4137
Revert AddPenLinesBounds. Delete FIXME comments.
CORE-2527, CORE-8366
2021-12-07 08:08:46 +09:00
Eric Kohl
3d8d88eaf9 [W32TIME] Improve w32time setup
- Remove w32time from hivesys.inf
- Implement DllRegisterServer
- Add DllUnregisterServer stub
- Register w32time at the end of setup phase 2
2021-12-06 23:24:51 +01:00
Katayama Hirofumi MZ
6358c4ac9f [NTGDI] Support the wide pen (#4137)
- Extend PATH_WidenPath function as PATH_WidenPathEx with the path argument.
- Use PATH_WidenPathEx and PATH_FillPathEx functions to implement wide pen drawing in PATH_StrokePath function.
- Add the code to IntGdiLineTo, IntRectangle, IntGdiPolygon, and IntGdiPolyline in order to stroke the path when the effective wide pen.
FIXME: Boundary rectangle.
CORE-2527, CORE-8366
2021-12-06 20:44:06 +09:00
Robert Naumann
ff89651ed0 [COMCTL32] Redraw children when the combo box is dropped down.
Wine commit c82d6ee by Gabriel Ivancescu
Fixes CORE-17883
2021-12-04 21:57:59 +01:00
Katayama Hirofumi MZ
89dd9ecacb [TRANSLATION][WORDPAD] Fix line breaks of Croatian
Fix newline codes of #4098.
52c75521a6
2021-12-04 20:25:08 +09:00
Katayama Hirofumi MZ
f606fecb0d [NTUSER] Fix where linking newly created window is done (#4127)
Co-authored-by: I_Kill_Bugs <>
CORE-12052
2021-12-04 11:52:38 +09:00
Hermès Bélusca-Maïto
957e566a23 [APITESTS][NTVDM][SPOOLSV] Add the missing ENABLE_EXPORTS property as these EXE targets have function exports.
This became a requirement, following a previous CMake update.
Otherwise the built EXEs would not export their intended functions.

Addendum to commit d8e92b5a (see PR #1335)
CORE-15406

[LOADCONFIG] The GCC rant had nothing to do with GCC, but everything with CMake...

[SPOOLSV] Add the missing exported stubs.
2021-12-04 01:17:32 +01:00
Hermès Bélusca-Maïto
addf1e87fe [NTVDM] Log explicitly calls to Long FileName support functions in DOS INT 21h. Use MAXDWORD instead of hardcoded values. 2021-12-03 23:26:24 +01:00
Hermès Bélusca-Maïto
81d5e650de [NTVDM] Improve DOS file search implementation. Addendum to commit 86ba2faa (r67619).
We get file matches when their attributes match and we can obtain
a valid 8.3 file name. This last condition is of upmost importance.
We cannot reliably use GetShortPathName() on the filename returned by
FindFirstFile()/FindNextFile() because the result is uncertain (one
either needs to build a full path before calling the function just to
get the final short path form, or change the current working directory
to the one where the search is being made, etc.)

The Find*file() functions return anyway the short file. name (in the
cAlternateFileName member) if the file does have such 8.3 filename and
its real name (in cFileName) is longer. Otherwise, cFileName could
already be *THE* short filename because it has the correct format for
it. Check this latter case with RtlIsNameLegalDOS8Dot3() and use it if
so. Otherwise this means the file has a long filename that cannot be
converted to short filename format (because e.g. it is in a volume where
short filenames are unavailable), and we skip such files: they wouldn't
be accessible from DOS anyways.

- Doxygen-document demFileFindFirst(), demFileFindNext() and associated
  flags and structures. Update their annotations.

This fixes TurboC 2.x installation.
2021-12-03 23:26:23 +01:00
Hermès Bélusca-Maïto
fcbdab0037 [NTVDM] Trivial english typos fixes. 2021-12-03 23:26:22 +01:00
Serge Gautherie
30010a5aa7 [FREELDR] debug.h: Add an explicit VOID parameter type (#4133)
Addendum to 98c17d3.
2021-12-03 03:14:44 +01:00
Andrej Bartulin
52c75521a6 [TRANSLATION][WORDPAD] Translate Wordpad to Croatian (#4098) 2021-12-02 20:08:45 +01:00
Jose Carlos Jesus
6a3af90d70 [USETUP] Improve pt-Pt Translation (#4130)
* Remove duplicate word
* Improve pt-PT translation
* Fix typos
2021-12-02 19:57:31 +01:00
Doug Lyons
5c9fdcb1de [3DTEXT] Fix 3dtext.scr using near 100% CPU (#4125)
CORE-17866, CORE-8217
2021-12-02 19:55:39 +01:00
Oleg Dubinskiy
c05a45e17e [WIN32K:ENG] Pass correct display name to EngpFindGraphicsDevice (#4128)
It actually should look like '\\.\DISPLAY<n>' (since it comes from user mode),
which the function expects, and not '\\Device\\Video<n>', like done in the
kernel mode. Otherwise, passing wrong name causes a mismatch.

Fix the problem with video device access (failure with status 0xc0000022 when
trying to open it). Hence, it also fixes the following debug log spam:
'err: Could not open device \Device\Video0, 0xc0000022'.

Addendum to 77e891b8. CORE-17719 CORE-17786
2021-12-01 18:28:45 +03:00
Doug Lyons
67ad4e7f60 [EXPLORER] Fix for Start Button Wrong size when Using Themes (#4121) CORE-16742
The problem once was unhidden by
0.4.7-dev-705-g 85ae842105
2021-11-30 22:48:46 +01:00
Katayama Hirofumi MZ
915569a8de [RICHED20] Fail elegantly if pRow or pPara is NULL on ME_EnsureVisible (#4126)
CORE-16578
2021-11-28 22:23:04 +09:00
Hermès Bélusca-Maïto
2693a26e3e [NTVDM] Create the CMOS ram file in NTVDM's own directory, instead of in whatever current directory we are running.
This fixes the age-long annoyance that wherever you ran a DOS program
with NTVDM, its cmos.ram file would be created in the same current
directory the DOS program was being started.

This created at least two problems:
- useless pollution of directories with cmos.ram files;
- for installers, e.g. of Turbo C 1.x that enumerate the install files
  from their directories to be copied/extracted somewhere, the cmos.ram
  file could then be enumerated along and cause the installation to
  interrupt and/or fail.

Now the cmos.ram file is created in the same directory NTVDM resides
(usually in System32...).
Also, debug-print out only loading errors instead of successes as well.
2021-11-28 00:26:46 +01:00
Hermès Bélusca-Maïto
e0a272c95b [NTVDM] DosCreateProcess(): Add failure checks when building the OTVDM command-line.
Addendum to commit 0609db55
2021-11-28 00:26:46 +01:00
Hermès Bélusca-Maïto
1bd0e3f9f9 [NTVDM] Retrieve the full directory of the current running NTVDM instance, to be used as a base path for opening other NTVDM system files. 2021-11-28 00:26:45 +01:00
Hermès Bélusca-Maïto
86eebc2a31 [NTVDM] disk.c: Simplify some code; unmount only present disks during cleanup (avoids useless debug-print errors). 2021-11-28 00:26:45 +01:00
Hermès Bélusca-Maïto
6823878a02 [NTVDM] Sort out some global/emulator header info, and NDK headers inclusions. 2021-11-28 00:26:44 +01:00
Hermès Bélusca-Maïto
695900f51f [NTVDM] Silence noisy DPRINTs when starting processes; they can be re-enabled by recompiling in "advanced debugging" mode. 2021-11-28 00:26:43 +01:00
Hermès Bélusca-Maïto
b849a696ef [NTVDM] In non-STANDALONE builds, check whether we are started as a VDM and bail out if not. 2021-11-28 00:26:43 +01:00
Hermès Bélusca-Maïto
d6d30f9e05 [KERNEL32] Don't hardcode some types in sizeofs, and some flag values. 2021-11-28 00:26:42 +01:00
James Tabor
993eb07654 [User32|API_TEST] Add Get Window Ptr Test
Adding test to verify results from a foreign window process.
See CORE-17856.
2021-11-27 14:47:11 -06:00
James Tabor
9cff384c22 [User32] Add Back Break with Error Message
Add back missing break. See CORE-17856.
2021-11-27 11:35:42 -06:00
Stanislav Motylkov
1897f9f0c0 [FREELDR] Fix release builds for PC-98 and Xbox platforms
Fix error C4013: 'DebugDisableScreenPort' undefined; assuming extern returning int

Addendum to 98c17d31. CORE-16216
2021-11-27 20:22:09 +03:00
Doug Lyons
0609db55d7 [NTVDM] Use strsafe functions for concantenation of strings in otvdm code. (#4124) 2021-11-25 21:06:05 +01:00
Eric Kohl
990ba54537 [NTOS:LPC] NtReplyWaitReceivePortEx returns the correct TotalLength for connect messages
This fixes the NtAcceptConnectPort apitest.
2021-11-24 18:59:16 +01:00
James Tabor
a89844f740 [User32] Fix Copy Paste
Pointed out by otya. See CORE-17856.
2021-11-24 09:36:50 -06:00
Eric Kohl
07e19a5e09 [NTOS:IO] Fail, if io completion port and an apc routine are used at the same time
Add checks to NtNotifyChangeDirectoryFile, NtLockFile, NtReadFile and NtWriteFile.
This fixes two ntdll tests.
2021-11-24 13:34:26 +01:00
Jose Carlos Jesus
b3c6407d6e [SYSSETUP][USETUP] [NLS] Update pt-PT translation (#4120)
- NLS: Change weekdays name to capital letter.
- USETUP: Fix typos to pt-PT translation.

- SYSSETUP: Update pt-PT translation.
  + Sync IDS_USER_ADMINISTRATOR_NAME and IDS_ADMINISTRATOR_NAME (in samsrv).
2021-11-24 01:57:11 +01:00
Doug Lyons
0f05abec82 [NTVDM] Add otya128's WineVDM integration code into ReactOS (#4113)
This is an interim solution until a more integrated solution with NTVDM is developed.
CORE-17852
2021-11-23 23:50:05 +01:00
Denis Malikov
db810d8e44 [WIN32SS:NTUSER] Fix window state after restoring snapped window (#4119)
InternalPos.NormalRect is a key data for detecting whether a window was snapped.
Keeping it after restore affecting next snap actions.

CORE-16477
2021-11-23 23:34:03 +01:00
Hermès Bélusca-Maïto
6a4ca215ab [NTVDM] Log the command line used when starting NTVDM. 2021-11-22 03:10:14 +01:00
Doug Lyons
b538b9abb8 [WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal (#4122)
CORE-17861
2021-11-22 02:57:36 +01:00
Hermès Bélusca-Maïto
f766ca5e42 [SMSS] Use NULL for NULL pointers. 2021-11-22 00:16:32 +01:00
Hermès Bélusca-Maïto
c17aeec031 [CSRSRV] Update the status.h file with updated information. 2021-11-22 00:13:35 +01:00
Hermès Bélusca-Maïto
7353af1e3d [NTDLL:CSR][CSRSRV] Start to deprecate CSR functions removed on Windows 2003.
The server-side CsrSrvIdentifyAlertableThread and CsrSrvSetPriorityClass
functions are completely removed in Win2k3+, and are since stubbed by
CsrSrvUnusedFunction instead. They however were present up to Windows XP,
albeit with an extremely minimal implementation.

The corresponding client-side CsrIdentifyAlertableThread and CsrSetPriorityClass
now become just stubs that either trivially succeed or fail, respectively.

See https://www.geoffchappell.com/studies/windows/win32/csrsrv/api/srvinit/apidispatch.htm
for more information.

- Fix typo "al*T*ertable" --> "alertable".
- Remove ROS-specific CSRSS_IDENTIFY_ALERTABLE_THREAD that was
  deprecated since ages (at least before 2005)!
2021-11-22 00:13:34 +01:00
Hermès Bélusca-Maïto
d575e828d7 [NTDLL_APITEST] Test that NtQueryInformationProcess(ProcessWx86Information) can work without a ReturnLength pointer. 2021-11-22 00:13:33 +01:00
Thomas Faber
88e3ef5fa0 [NTOS:SE] Don't assert on levels that don't allow impersonation. 2021-11-21 17:19:03 -05:00
Eric Kohl
3e5dcf7937 [NTOS:EX] Fix version specific return value for NtSetSystemInformation:SystemFlagsInformation 2021-11-21 21:42:04 +01:00
Serge Gautherie
de33036766 [RICHED20] select_style(): Check font_cache too
Already upstreamed as wine-6.21-347-g177f808.

CORE-17843
2021-11-21 13:07:59 -05:00
Thomas Faber
d84022d7fd [NTOS:SE] Fix always-true assert in SeTokenCanImpersonate.
Courtesy of VS analysis warning C6289:
Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
2021-11-21 12:57:50 -05:00
Thomas Faber
0af3689c2e [REACTOS] Fix traces with missing arguments.
Courtesy of VS Code Analysis warning C6064:
Missing integer argument to 'DbgPrint' that corresponds to conversion specifier 'N'.
2021-11-21 12:57:35 -05:00
Thomas Faber
a7b2703479 [NTOS] Fix broken SAL annotations on MmDereferenceSegmentWithLock. 2021-11-21 12:47:46 -05:00
Thomas Faber
2e76fb9fe1 [NTOS:IO] Use a guarded region in IopQueueIrpToThread.
We're protecting against IopCompleteRequest, which is a special
kernel APC. So this is a little bit faster than raising the IRQL.
2021-11-20 14:58:51 -05:00
Serge Gautherie
8d10682307 [CONFIGURE] Add support for 'Visual Studio 2022, v17.x'
CORE-17733
2021-11-20 12:14:32 +03:00
Julio Carchi
9c4397afdf [USER32] GetQueueStatus() should not return 0 when passing QS_ALLINPUT flag that includes QS_RAWINPUT (#4115)
GTK applications call GetQueueStatus(QS_ALLINPUT), where QS_ALLINPUT
specifies the QS_RAWINPUT flag as well, when these are compiled for
Windows XP+, and they expect the call to succeed on this platform.

On one side, ReactOS does not currently support this flag at all, but
since it claims to be XP/2003-compatible, applications may implicitly
expect the flag to be supported by GetQueueStatus() and the function
*NOT* failing when this flag is set.
(Later GTK apps don't care and just call GetQueueStatus(QS_ALLINPUT)
that includes QS_RAWINPUT, and therefore would fail as well on e.g.
Windows 2000...)

Otherwise, an observable effect is that some versions of libgdk-win32-2.0.0.dll
enter into an infinite loop when calling GetQueueStatus(QS_ALLINPUT),
since this call always failed on ReactOS.

On the other side, however, we should honour our winetests that handle
the presence of the QS_RAWINPUT flag and behave differently accordingly.
But since we do not support QS_RAWINPUT yet, we should keep their old
behaviour where QS_RAWINPUT is unused.

Thus, in order to accomodate both sides, we don't fail the GetQueueStatus()
call, but just set the ERROR_INVALID_FLAGS last error and continue it.


This fixes CORE-15686, CORE-17551 and probably CORE-11850.
Fixes also all user32:TrackMouseEvent tests.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-11-20 00:45:35 +01:00
Hermès Bélusca-Maïto
7c8c9e1aba [WINSPOOL] QS_SENDMESSAGE|QS_ALLEVENTS == QS_ALLINPUT, so use the latter instead. 2021-11-19 21:13:26 +01:00
Hermès Bélusca-Maïto
d78a5b6dbf [PSDK] Sort out the QS_*** definitions. Add the Win7+ QS_TOUCH and QS_POINTER.
In particular, define the compound QS_MOUSE, QS_INPUT, QS_ALLEVENTS
and QS_ALLINPUT flags based on the other elementary QS_*** flags,
instead of having magic values for these.
2021-11-19 18:23:57 +01:00
Serge Gautherie
48d1ecc4df [PSDK] Unduplicate QS_RAWINPUT (#4116)
Addendum to a7bf412a (r38925).
2021-11-19 17:56:44 +01:00
George Bișoc
009f2c3917 [CODEOWNERS] Add myself as maintainer for Security Manager
From now on I'll take care of this subsystem of the kernel.
2021-11-19 12:01:19 +01:00
Hermès Bélusca-Maïto
2b31977838 [FREELDR] Add RegCloseKey() and use it where registry keys need to be closed.
Actually, RegCloseKey() is here a dummy macro that just "returns"
success. Indeed, the internal implementation of RegOpenKey() doesn't
really allocate internal structures: it just returns a "pointer" to
already existing allocated data. Therefore nothing needs to be closed/freed
later on.
2021-11-19 03:55:21 +01:00
Hermès Bélusca-Maïto
60d4a34892 [FREELDR] Switch to RtlZeroMemory() from memset(). 2021-11-19 02:22:20 +01:00
Hermès Bélusca-Maïto
497fee1622 [FREELDR] Don't hardcode buffer size. 2021-11-19 02:22:18 +01:00
Hermès Bélusca-Maïto
5cad040726 [FDEBUG] Switch to ZeroMemory() from memset(). 2021-11-19 02:22:15 +01:00
Serge Gautherie
c5e5e3117c [FREELDR] Diverse improvements and fixes for CORE-12802. (#3466)
- Move a few lines around.
- Switch to RtlZeroMemory() from memset().
- Make while() more explicit.

For CORE-12802:
- Add/Fix FrLdrHeapAlloc() failure handling and related.
  Especially, add/fix FrLdrHeapFree() calls.

- Add/Improve ERR() to some FrLdrHeapAlloc() failure cases.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-11-19 01:49:55 +01:00
Serge Gautherie
0a6750da12 [CRT] stdio/file.c: Import 3 Wine one-liner fixes (#4101)
* [FORMATTING][CRT] stdio/file.c: Reduce diff with Wine.

* [CRT] _wfreopen(): Fix TRACE() format modifier
Import wine-1.4-rc3 f8b29a0 by Eric Pouech.

* [CRT] msvcrt_init_io(): Ignore inherited FDs with invalid handles
Import wine-6.2-32-g611742d by Paul Gofman,
except test part, which shall be WineSync separately.

* [CRT] _dup2(): Fix clearing NOINHERIT flag
Import wine-6.20-44-g1420d28 by Piotr Caban.
2021-11-18 23:23:12 +01:00
Scott Maday
83335d3a81 [SHELL32] Control panel context menu semantic bugfix (#4078) 2021-11-18 22:41:53 +01:00
Hermès Bélusca-Maïto
712f469671 [NTOS:EX] Clarify the situation with the SystemPathInformation class. (#4065)
Since NT 3.51, this information class is trivially implemented.
The path to the NT directory is now stored in KUSER_SHARED_DATA
as the NtSystemRoot member.
Windows Checked builds show the following message and break to
the debugger before failing the function as not implemented:

EX: SystemPathInformation now available via SharedUserData

See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/query.htm
and https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntexapi_x/kuser_shared_data/index.htm
for more information.
2021-11-18 22:37:54 +01:00
Hermès Bélusca-Maïto
1200561fcc [NTOS:EX] NtQuerySystemInformation: Use same parameter names as documentation. FStatus --> Status. (#4064) 2021-11-18 22:36:07 +01:00
Hermès Bélusca-Maïto
d484a68ccb [NDK][NTOS:EX] Add/fix SAL annotations for Nt/ZwSetSystemInformation + last parameter type. (#4064) 2021-11-18 22:36:07 +01:00
Hermès Bélusca-Maïto
7692a620e7 [NDK][NTOS:EX] Minor formatting. 2021-11-18 22:36:06 +01:00
Chan Chilung
d2382e78ef [BOOTDATA] Update some time zones for East Europe (#4029)
- Remove Minsk from GMT+02:00 (is now GMT+03:00)
- Change description for all GMT+02:00 time zones
- Add Turkey time GMT+03:00

CORE-12025
2021-11-18 13:26:06 +03:00
Katayama Hirofumi MZ
0f5fb4785b [SHELL32] Drop a shortcut of the drive (#4072)
- If the Right-dropped item was a drive, then get the display name of the drive and use it.
- Use FAILED_UNEXPECTEDLY instead of FAILED macro.
- Accept ::{GUID}.
CORE-17813
2021-11-18 17:11:24 +09:00
Stanislav Motylkov
f8010947fe [GITHUB] Applications, CPL, and rosapps modules are building for ARM now
Also add debug and release builds. Addendum to c1538a82 and 1f44552d.

CORE-17517 CORE-17604
2021-11-17 19:18:18 +03:00
Sergey Valentei
84ed4a79dc [HHPCOMP] Check return value when calling chdir (#4073)
Signed-off-by: Sergey Valentei <ihsinme@gmail.com>
2021-11-17 14:28:12 +03:00
Justin Miller
51ce0c5150 [CRT] Add setjmp for the arm64 architecture (#4088)
CORE-17622 CORE-17518
2021-11-17 14:24:07 +03:00
Konrad Dybcio
b5e57a8523 [SDK][CMAKE] config.cmake: Add ARM64 compiler options (#4050)
Add generic compiler options for ARM64.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-11-17 14:18:06 +03:00
Stanislav Motylkov
3eb4f4d450 [THEMES][LUNAR] Fix line endings problem 2021-11-17 14:12:02 +03:00
Nikki Next
577fb37a8a [THEMES][LUNAR] Add Russian translation (#4100) 2021-11-17 13:58:56 +03:00
Dmitry Borisov
84fabd819d [ISAPNP] Add support for NEC PC-98 series 2021-11-17 13:56:29 +03:00
George Bișoc
f909e8762d [NTOS:SE] Validate the SID lengths when capturing them
SIDs are variadic by nature which means their lengths can vary in a given amount of time and certain factors that allow for this happen. This also especially can lead to issues when capturing SIDs and attributes because SeCaptureSidAndAttributesArray might end up overwriting the buffer during the time it's been called.

Therefore when we're copying the SIDs, validate their lengths. In addition to that, update the documentation header accordingly and add some debug prints in code.
2021-11-16 10:55:44 +01:00
Thomas Faber
4601d94801 [DBGHELP] Fix default search path handling. CORE-17073
* Allow NULL search path in SymSetSearchPath
* Use . instead of concrete current directory
* Use _NT_ALT_SYMBOL_PATH variable
* Add some tests
2021-11-15 20:14:34 -05:00
Mark Jansen
ab7b004d51 [FONTEXT] Fix font installation 2021-11-15 20:02:14 +01:00
Mark Jansen
54c09f856c [FONTEXT] Simplify HIDA usage 2021-11-15 20:02:14 +01:00
Mark Jansen
fa0f5cc4be [SHELL32] Simplify HIDA usage 2021-11-15 20:02:14 +01:00
Mark Jansen
eb0c005c1b [SENDMAIL] Simplify HIDA usage 2021-11-15 20:02:13 +01:00
Mark Jansen
eba16dc9e9 [MYDOCS] Simplify HIDA usage 2021-11-15 20:02:13 +01:00
Mark Jansen
e5ea6041c9 [SHELL32][SHELL32_APITEST] Add SHGetAttributesFromDataObject 2021-11-15 20:02:13 +01:00
Mark Jansen
1f44552d36 [DRWTSN32] Implement arm context reading
CORE-17605 CORE-17604
2021-11-15 19:57:35 +01:00
Joachim Henze
f028ca5b08 [WIN32K] Fix a weird control character in dibobj.c CreateDIBPalette() CORE-17848 2021-11-15 03:05:20 +01:00
Thomas Faber
68c9ac2a82 [RICHED20_WINETEST] Re-enable crashing test. CORE-16799 2021-11-14 20:22:34 -05:00
Thomas Faber
be38a2ca4e [SETUP] Register riched20.dll's type library during setup. CORE-16799
This is a bit of a hack -- I'm not sure how Windows deals with this.
2021-11-14 20:22:05 -05:00
Thomas Faber
c8b6abab80 [RICHED20] Decorate thiscall functions as such. ROSTESTS-375 CORE-17021 2021-11-14 12:54:01 -05:00
Thomas Faber
e8b79e89eb [NTOS:PS] Fix copypasta in NtQueryInformationJobObject. CID 1441354 2021-11-13 21:23:40 -05:00
Thomas Faber
34f2b7830d [NTOS:IO] Correctly deal with exceptions when handling FileFsDriverPathInformation. CID 1476847 2021-11-13 21:23:39 -05:00
Thomas Faber
a74ff5be17 [NTOS:IO] Don't call IopCompleteRequest with uninitialized context values. CID 716761
NormalContext and NormalRoutine are just for good measure, but
SystemArgument2 is actually used by the function.
And yes, this appears to be a bug in Win 2003.
2021-11-13 21:23:39 -05:00
Thomas Faber
8254585be5 [NTOS:EX] Assert some AcquireResource return values. CID 1321882 2021-11-13 21:23:39 -05:00
Thomas Faber
aa9a098196 [NTOS:EX] Correctly handle OOM in NtFindAtom. CID 1237072 2021-11-13 21:23:36 -05:00
Thomas Faber
7be3e798d5 [BOOTDATA] Include VMXNET3 driver in optional. 2021-11-13 13:34:50 -05:00
Doug Lyons
252a7530d0 [CRT] Do Not lock ioinfo when spawning functions (#4099) CORE-15176
This fixes CORE-15176 'Gimp 2.6.11 hangs when opening a file'.
It regressed by 0.4.9-dev-446-g bffd8201d0

I do intend to port this fix back.
2021-11-11 18:30:43 +01:00
Mark Jansen
0ae3805375 [COMCTL32] Fix crash on SB_GETPARTS
wParam (num_parts) is allowed to be bigger than the actual amount of parts
CORE-17842
2021-11-10 17:29:35 +01:00
George Bișoc
39003dd408 [ADVAPI32] Properly implement CreateRestrictedToken
Instead of duplicating the token and masquerade it as if the token was filtered (which is a big hack), properly implement CreateRestrictedToken function by calling NtFilterToken which it'll create a restricted token for us.
2021-11-07 14:22:20 +01:00
George Bișoc
aaa2094208 [KMTESTS:SE] Implement SeFilterToken testcase 2021-11-07 14:14:19 +01:00
George Bișoc
6fe1b387c6 [NTDLL_APITEST] Implement NtFilterToken testcase 2021-11-07 14:14:18 +01:00
George Bișoc
53db5377e2 [NTOS:SE] Implement token filtering
This implements the support of token filtering within the kernel, where the kernel can create restricted tokens of regular ones on demand by the caller. The implementation can be accessed thorough a NT syscall, NtFilterToken, and a kernel mode routine, SeFilterToken.
2021-11-07 14:14:18 +01:00
George Bișoc
a15e2472b8 [SDK][NDK][XDK] Add the privilege flags needed for token filtering
These are needed for CreateRestrictedToken, NtFilterToken and SeFilterToken respectively. See the link down below for more information.
https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-createrestrictedtoken
2021-11-07 14:14:18 +01:00
George Bișoc
d0b6b10868 [SDK][NDK] Declare the NtFilterToken syscall prototype 2021-11-07 14:14:14 +01:00
Hervé Poussineau
b39ae9f32b [HALX86] Implement HalBuildScatterGatherList
Make HalGetScatterGatherList a wrapper around it.
2021-11-07 14:07:57 +01:00
Hervé Poussineau
eb283043d5 [HALX86] Partly implement HalCalculateScatterGatherListSize 2021-11-07 14:07:55 +01:00
George Bișoc
05d52aba2b [NTOS:SE] Partially revert 0129de2
The continue statements do not server any useful purpose in these loops so they're basically pointless. These have been introduced by mistake so my bad.
2021-11-05 10:13:45 +01:00
Serge Gautherie
8110a66b08 [NTOS:MM] MI_IS_*(): Improve documentation
Intel 64 and IA-32 Architectures Software Developer’s Manual
version 075 (June 2021)
2021-11-04 23:20:21 +03:00
Serge Gautherie
94b8095ba2 [NTOS:KE] KiTrap0EHandler(): Use MI_IS_WRITE_ACCESS() 2021-11-04 23:20:21 +03:00
George Bișoc
0129de218b [NTOS:SE] Mark the token as no longer belonging to admin group upon effective duplication
A scenario where it happens that an access token belongs to an administrators group but it's disabled (that is, SeAliasAdminsSid has no attributes or it doesn't have SE_GROUP_ENABLED turn ON), the function removes this group from the token but still has TOKEN_HAS_ADMIN_GROUP flag which can lead to erratic behavior across the kernel and security modules -- implying that the token still belongs to administrators group.

This is an oversight from my part.
2021-11-04 09:30:00 +01:00
Doug Lyons
17ec81eab8 [SHELL32] Enable OpenWith to handle "NoOpenWith" and "NoStartPage" registry keys (#4043)
- Add registry handling of two keys to COpenWithMenu.cpp
- Add code to stop OpenWith from using registry entries that should be excluded
- Stop logspam when right-click menu testing for OpenWith is done

CORE-17816
2021-11-03 03:16:47 +03:00
Hervé Poussineau
22d1e7a4e4 [NTOS:IO] Create non volatile registry keys for root devices (as for other devices) 2021-11-01 18:16:25 +01:00
Hervé Poussineau
9967d9aa4c [NTOS:IO] Do not crash when calling IopLegacyResourceAllocation with NULL ResourceRequirements 2021-11-01 18:16:25 +01:00
Hervé Poussineau
88839d9726 [HALX86] Stub-implement scatter/gather DMA operations
These are required when we ask for a DMA_ADAPTER version 2.
2021-11-01 18:16:25 +01:00
Katayama Hirofumi MZ
3d78601f39 [WIN32SS][NTUSER] Implement NtUserDestroyInputContext (#4063)
CORE-11700
2021-11-01 15:20:42 +09:00
Mark Jansen
e3402aca65 [ATL][ATL_APITEST] Add test for CPath +small fixes 2021-10-30 22:47:57 +02:00
Hervé Poussineau
06fc9c43ed [PARTMGR] Mark partitions as removable if device is removable
CORE-17392
2021-10-30 08:47:38 +02:00
Thomas Faber
3a323c3de0 [WIN32K] Fix uninitialized bResult in IntExtTextOutW.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
4bc95812fd [WIN32K] Mark default as unreachable.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
3235e35dee [WIN32K] Remove unnecessary if in NtUserGetGUIThreadInfo.
This condition is already checked above.
Powered by clang-cl.
2021-10-29 22:06:49 -04:00
Thomas Faber
42657493ef [WIN32K] Fix uninitialized hNewMenu use in MENU_DoNextMenu.
See also: Wine's implementation.
Powered by clang-cl.
2021-10-29 22:06:46 -04:00
Efe Itietie
0e75fc9240 [NETSTAT] Fix coverity #1477187 "Double free" (#4069)
Within the current ShowTcpTable function logic, tcpTable would be freed twice.
The bug was introduced in b695971c.

Remove the second tcpTable free and fix coverity #1477187. CORE-17831
2021-10-28 17:26:09 +03:00
Thomas Faber
f4ccc518e3 [CODEOWNERS] Don't automatically add me to apitests and CMake PRs.
Still feel free to request my review explicitly if desired.
2021-10-27 19:27:33 -04:00
Thomas Faber
fb3e2c7c8b [USBUHCI] Fix always-false HcFlavor checks.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
555eec0306 [USBEHCI] Avoid uninitialized return status in EHCI_ReopenEndpoint.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
e7574ee5e8 [USBPORT] Don't use NTAPI for variadic function.
Powered by clang-cl.
2021-10-27 19:27:33 -04:00
Thomas Faber
4be3bc682d [SACDRV] Fix uninitialized variable usage.
Powered by clang-cl.
2021-10-27 19:27:32 -04:00
Thomas Faber
4eb45209ea [NDIS] Allow timer initialization at DISPATCH_LEVEL.
Spotted by Mortal Wombat.
2021-10-27 19:27:27 -04:00
Katayama Hirofumi MZ
8ebe441d1a [MSHTML] Disable DDEEXEC settings of image files (#4074)
CORE-10227
2021-10-27 08:42:31 +09:00
Katayama Hirofumi MZ
5b74737532 [IMM32] Forward ImmSetHotKey to USER32.CliImmSetHotKey (#4075)
- Modify imm32.spec.
CORE-11700
2021-10-27 08:40:15 +09:00
Victor Perevertkin
8ca4b0f257 [CMAKE] Remove __inline substitutions
All supported compilers can do C99 now, this is not needed anymore.
2021-10-26 22:51:03 +03:00
Efe Itietie
c73c86419e [USBUHCI] Fix wrong sizeof access (#4070)
Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Thomas Faber <thomas.faber@reactos.org>
2021-10-26 17:10:51 +03:00
Efe Itietie
feae6fbc64 [USBEHCI] Fix coverity #1476930 "Wrong sizeOf access" (#4070)
Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Thomas Faber <thomas.faber@reactos.org>
2021-10-26 17:10:51 +03:00
Doug Lyons
a91f5e8e4d [UDFS] Fix crash on boot in release builds with UDFS removable media inserted (#4061) CORE-17598
Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
2021-10-25 22:21:43 +02:00
Hervé Poussineau
cd48bc7af8 [LIVECD] Add more registry entries for vbemp/vgamp
CORE-17579
2021-10-25 21:44:45 +02:00
Eric Kohl
da4e15f93a [IPHLPAPI] Check the family parameter in the statistics functions 2021-10-25 00:36:03 +02:00
Stanislav Motylkov
cdcd954734 [BOOTDATA] hivesys.inf: Add Russian translation for keyboard layouts
[INPUT.CPL] Fix some mistakes in Russian translation
2021-10-25 00:46:08 +03:00
Stanislav Motylkov
c6e002bfb3 [BOOTDATA] hivesys.inf: Fix keyboard layout identifier for Bengali Inscript
- Also fix typo in Latvian (QWERTY) keyboard layout
- Also add missing localization for Bengali Inscript and Esperanto layouts
2021-10-25 00:44:18 +03:00
Stanislav Motylkov
4b88a8709c [BOOTDATA] Fix another hivesys.inf typo introduced in 8e521934 (ICELANDIC)
Addendum to 6ce259e6.
2021-10-24 23:46:42 +03:00
Stanislav Motylkov
9635f45bd4 [SYSSETUP][INTL.CPL] Use GetGeoInfoW with current thread locale
Fixes inconsistency when thread locale differs from system or user locale.
2021-10-24 23:42:14 +03:00
Stanislav Motylkov
4278f46620 [KERNEL32][WINNLS] GetGeoInfoW: Allow to get localized text
Previous implementation ignored the last LangId parameter,
and always used GetUserDefaultLCID() instead.
2021-10-24 23:42:06 +03:00
Eric Kohl
1b35626d54 [IPHLPAPI] GetInterfaceInfo(): Add "\DEVICE\TCPIP_"-Prefix to interface names 2021-10-24 16:52:18 +02:00
Stanislav Motylkov
6ce259e694 [BOOTDATA] Fix problem in PORTUGESE_BRAZILIAN strings in hivesys.inf
Regressed in 2017 with r74654 (commit hash 8e521934).
2021-10-24 16:52:53 +03:00
Katayama Hirofumi MZ
067ca884bc [SHELL32_APITEST] Strengthen ShellHook testcase for fullscreen (#4051)
- Add tests for HSHELL_RUDEAPPACTIVATED.
CORE-16130
2021-10-24 09:19:23 +09:00
Stanislav Motylkov
6d09885ce4 [SYSSETUP] Fill in missing locale, location, and default keyboard layout
- Implement functions to get regional data from system
- Disable setup window and buttons when control panel applet is started
- Update regional information when control panel applet is closed
- Add a horizontal separator between user locale and keyboard layout
2021-10-24 00:12:18 +03:00
Stanislav Motylkov
17cb1e1a04 [SYSSETUP] Add placeholders for IDC_LOCALETEXT and IDC_LAYOUTTEXT
The window initialization handler code should update these properly,
but for now just put empty strings there until it's implemented.

This makes reviewing dialog layout easier in visual resource editors
like Resource Hacker and others, so the translation maintenance takes
much less time.

We already use this technique in some other modules like sysdm and zipfldr.

Spotted by Can Taşan. Fix suggested by Thomas Faber.

Additionally:
- Fix position of some elements to avoid overlapping
- Fix some headers according to the latest coding style
2021-10-24 00:12:18 +03:00
Katayama Hirofumi MZ
6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 (#4048)
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422

Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround. I do intend to port it back nevertheless.
2021-10-23 22:29:39 +02:00
George Bișoc
fdb4205061 [NTOS:SE] Minor cleanup on SepDuplicateToken
The current code that searches for the primary group of token upon duplication is OK as is, remove whatever rest that's no longer needed.
2021-10-23 17:55:12 +02:00
Oleg Dubinskiy
334ab0f2a5 [KERNEL32] Implement SetFileCompletionNotificationModes
Call native Nt* function to do the actual work, similarly to as it done in Wine: 530c183960:/dlls/kernel32/file.c#l258.
Also add/fix some declarations in internal kernel32/public ndk neaders, to fix compilation.
CORE-17821
2021-10-23 16:19:22 +02:00
George Bișoc
fe0415a4ba [NTDLL_APITEST] Free the allocated memory block when we're done
This fixes a memory leak where we allocate a buffer for token statistics with RtlAllocateHeap routine but we never free it afterwards.
2021-10-23 09:58:50 +02:00
Baruch Rutman
a1faa1cc6d [OSK] On Screen Keyboard overhaul
Primary changes:
Convert from dialog to an ordinary window, placing buttons according to data in keyboard.c
Character button text is now according to selected keyboard layout instead of system language.
Buttons will update* automatically when there is a layout switch (and when shift/capslock are pressed).
(Updating is most reliable when the keyboard is focused)
Removed keyboard dialog templates from resource files, they live on in keyboard.c

Secondary changes:
Support for font change, currently saved in registry is facename and height.
Additional registry load/save functions for strings to facilitate above change.
2021-10-23 09:45:46 +02:00
Katayama Hirofumi MZ
9455defbd3 [IMM32] Remove old code of Imm32StrToUInt and Imm32UIntToStr
CORE-11700
2021-10-23 12:13:19 +09:00
Hermès Bélusca-Maïto
5891ab2bfd [WIN32SS:NTUSER] Make sure to hold User Global Lock before manipulating desktops. (#4053) 2021-10-22 21:44:56 +02:00
Hermès Bélusca-Maïto
6b7b0f0c7e [WIN32SS:NTUSER] Few formatting fixes. 2021-10-22 21:44:52 +02:00
Justin Miller
be223b9de7 [SDK] Allow ARM64 MSVC to complete configuration (#4045)
- Add some of the missing CMake adjustments to continue the configure and compile process with ARM64 MSVC
- Created quick stubs for the functions in SDK needed to finish the configuration process
- Put in an ARM64 option for spec2def

CORE-17518 CORE-17615
2021-10-22 18:52:32 +03:00
Serge Gautherie
4b0249e98a [GITHUB] build.yml: Update LLVM version to 13 (#4054) 2021-10-22 18:17:06 +03:00
Eric Kohl
1ade494a70 [ADVAPI32] Fix several corner cases in RegOpenKey* functions
This fixes the remaining RegOpenKey* tests.
2021-10-21 14:45:56 +02:00
Katayama Hirofumi MZ
a37d9a4e14 [IMM32] Rewrite ImmInstallIMEW (#4044)
- Add Imm32StrToUInt and Imm32UIntToStr helper functions.
- Add Imm32LoadImeVerInfo, Imm32GetRegImes, Imm32WriteRegIme, Imm32GetNextHKL, Imm32CopyFile helper functions.
- Add REG_IME structure for registered IMEs.
- Rewrite ImmInstallIMEW function.
- Improve ImmLoadLayout and Imm32LoadImeInfo functions.
CORE-11700
2021-10-21 10:28:04 +09:00
Konrad Dybcio
d26409cc34 [SDK][MKISOFS] xconfig.h: Don't define VA_LIST_IS_ARRAY on Linux/ARM(64) (#4012)
For some bizarre reason ARM toolchains have some peculiar issues with various va_arg macros,
as this is not the first time one of these is problematic (though I don't remember the previous one,
it was a long, long time ago ™️).. They always seem to expect va_list as an argument though, so
let's make them happy and by extension make ros-tools compile on Linux/ARM(64) compile again!
2021-10-20 22:12:23 +03:00
Katayama Hirofumi MZ
396b49436c [IMM32_APITEST] Fix himc testcase crash (#4036)
- Add NULL checks for pIC.
CORE-11700
2021-10-20 20:23:38 +09:00
James Tabor
be8e5fc7b3 [User32-winetest] Remove ReactOS to do.
N0 longer needed.
2021-10-19 18:49:52 -05:00
James Tabor
83f86b8fdb [User32] Fix incorrect check.
Use Lo Word instead of Intersource check.
Fix wine user32 tests.
2021-10-19 15:29:51 -05:00
Katayama Hirofumi MZ
037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously (#4047)
- Delete useless SendMessageTimeout:WM_NULL call.
- Add useful SendMessageCallbackW:WM_POPUPSYSTEMMENU call.
- In the callback function of SendMessageCallbackW, do PostMessageW:WM_NULL to properly handle the popup menu.
CORE-16353
2021-10-19 07:17:01 +09:00
Hervé Poussineau
46fbc6f432 [NTOS:PNP] Fix crash when removing a device without resources
This fixes commit 89fd2b86e4
2021-10-18 22:23:49 +02:00
Katayama Hirofumi MZ
aa8fc872a0 [IMM32][IMM32_WINETEST] Re-implement ImmSetCompositionStringA/W (#4040)
- Modify ImmSetCompositionStringA and ImmSetCompositionStringW prototypes (removing const of two arguments).
- Add Imm32OpenICAndCS helper function.
- Implement Imm32SetCompositionStringAW function.
- Modify imm32_winetest (due to removal of const).
CORE-11700
2021-10-17 19:32:48 +09:00
James Tabor
e98684ed8b [GDI32] Fix rectangle flag issues.
Fix CORE-17815. Remove dumb dumb code breakers.
2021-10-16 11:16:43 -05:00
Stanislav Motylkov
b3b1bd66a0 [CONFIGURE][CMAKE] Add support for MSVC ARM64 target
Addendum to e4feaa1a and 51e2ab52. CORE-17518
2021-10-16 16:30:36 +03:00
Konrad Dybcio
b7c1b95b45 [SDK] gcc.cmake: Only add -mstackrealign on i386 (#4016)
This option is only useful for the i386 architecture and breaks ARM builds.

Reviewed-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 11:58:08 +03:00
Katayama Hirofumi MZ
ea4c1a067b [SETUP][REACTOS] Improve Japanese translation (#4033)
Improve the Japanese GUI of ReactOS Setup.
2021-10-16 07:51:40 +09:00
Konrad Dybcio
30c7c161fc [SDK] host-tools.cmake: Allow cross-compilation from aarch64 (#4013)
Some compilers call it 'arm64', while others prefer 'aarch64'. It's a big mess,
thanks Arm Ltd...

Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Reviewed-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 01:38:33 +03:00
Konrad Dybcio
dff479c82f [HHPCOMP] lz_nonslide.h: Define u_char on Linux (#4011)
Not defining the type breaks the compilation on (at least arm) Linux. Add a check for Linux-as-build-host to make it pass.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-10-16 01:30:22 +03:00
Katayama Hirofumi MZ
04cb13bc57 [IMM32] Refactor about reconversion (#4031)
- Delete Imm32ReconvertSize and Imm32ConvertReconvert helper functions.
- Add Imm32ReconvertAnsiFromWide and Imm32ReconvertWideFromAnsi helper functions.
CORE-11700
2021-10-15 22:46:58 +09:00
Katayama Hirofumi MZ
fec35dc893 [IMM32] Improve IchWideFromAnsi and IchAnsiFromWide (#4028)
- Use LONG instead of DWORD for indexing and counting the characters.
- Use the sign for the loop condition.
- Add NUL check.
CORE-11700
2021-10-15 10:31:08 +09:00
Hervé Poussineau
89fd2b86e4 [NTOS:PNP] HACK: release resources when device is removed
CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
49358f3416 [NTOS:PNP] Fix resource conflict detection
Only resources of HAL were checked against conflicts, not those of PnP Manager

Let IoReportResourceForDetection() make a silent conflict check.
Otherwise IopCheckResourceDescriptor() will always return 'no conflict'.

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
ea8cbbd4ca [VIDEOPRT] Correctly return failure in IRP_MJ_CREATE when HwInitialize fails
CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
807af6a4d1 [VIDEOPRT] Correctly return failure when adapter can't be found
This was wrong in both call chains (PNP case or legacy case)
HwFindAdapter returns a VP_STATUS, while we were expecting a NTSTATUS.

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
87b74f2901 [VIDEOPRT] Correctly report legacy resources in IRP_MN_FILTER_RESOURCE_REQUIREMENTS
It was broken since first commit 25eae4b916 (r54237)

CORE-17789
2021-10-14 23:39:31 +02:00
Hervé Poussineau
951dc66c66 [VGAMP] Correctly check and report legacy resources (VGA I/O ports and memory)
As we are a non PNP driver, the call chain will be
DriverEntry -> VidePortInitialize -> VideoPortFindAdapter -> HwFindAdapter.

If legacy resources are available, we will fail VGAFindAdapter,
so DriverEntry will fail, so vgamp.sys driver won't be used.

CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
6dd94572e5 [VBEMP] Correctly report legacy resources (VGA I/O ports and memory)
CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
3379de3924 [VBEMP] Fail HwInitialize (ie IRP_MJ_CREATE) when /NOVESA switch is present
In that case, we want a simple VGA driver to drive the graphic adapter.

CORE-17789
2021-10-14 23:39:30 +02:00
Hervé Poussineau
ac13f37d0a [ISAPNP] Generate a name for PDO, as required 2021-10-14 23:39:30 +02:00
Hervé Poussineau
a86c3794a6 [NTOS:IO] Remove final NULL char of PDO name before writing to registry
Otherwise, if a PDO has no name (bad!), you'll see two "(Default)" entries
in HKLM\HARDWARE\RESOURCEMAP\PnP Manager\PnpManager
2021-10-14 23:39:30 +02:00
Hervé Poussineau
500f00de6a [DEVMGR] Display current assigned resources, instead of boot resources 2021-10-14 23:39:30 +02:00
Doug Lyons
cee171f5d2 [SHELL32] Bypass OpenWith for Delete and F2 (Rename) Keys (#4032) CORE-17810
Logspam started during 0.4.9-dev'ing when zipfldr got committed, logspam became much worse by
0.4.10-dev-599-g 932df378bf
But the actual bug of 'calling those functions when not needed' is much older than that.

I do intend to port this improvement back into older rls-branches.
2021-10-14 23:03:53 +02:00
Victor Perevertkin
55f1f3000a [CMAKE] Remove /fallback compile flag from clang-cl builds
This option is not needed anymore and was removed from LLVM 13
2021-10-14 20:30:27 +03:00
James Tabor
63e7d6c29e [Win32K] Fix typo
Fix a GERRRR typo.
2021-10-14 09:59:53 -05:00
Katayama Hirofumi MZ
6e356a9b6c [NOTEPAD] Improve Japanese translation 2021-10-14 13:08:38 +09:00
Katayama Hirofumi MZ
bfb7bd05a4 [IMM32] Re-implement ImmGetCompositionStringA/W (#4026)
- Re-implement ImmGetCompositionStringA and ImmGetCompositionStringW functions.
- Add Imm32CompStrAnsiToWide, Imm32CompStrWideToAnsi, Imm32CompAttrWideToAnsi, Imm32CompAttrAnsiToWide, Imm32CompClauseAnsiToWide, and Imm32CompClauseWideToAnsi helper functions.
CORE-11700
2021-10-14 08:07:06 +09:00
Mark Jansen
143b2a5035 [RAPPS] Speed up installed application loading
Only load in details when we are going to display them
2021-10-13 19:27:40 +02:00
Wu Haotian
0ed04e3640 [TASKMGR] Make performance graph grid scroll (#3581)
The grids are now rolling along with performance graphs.
2021-10-13 19:14:29 +03:00
Wu Haotian
a4ab9a1e19 [TASKMGR] Formatting only (#3581) 2021-10-13 19:14:20 +03:00
Victor Perevertkin
43f1d91687 [NTOS:PNP] Fix resource conflict detection
Previous code did not detect equal resource ranges as conflicting.
Thanks Hervé Poussineau for pointing this out!

Meanwhile, simplify the code to make it more readable.
2021-10-13 00:00:25 +03:00
Chan Chilung
025f58a051 [NOTEPAD] Fix access key for "New Window" menu item (#4024) 2021-10-12 15:34:34 +03:00
Katayama Hirofumi MZ
d14d3dedcb [IMM32] Move Imm(Get|Set)CompositionStringA/W (#4021)
- Add new file compstr.c.
- Move ImmGetCompositionStringA, ImmGetCompositionStringW, ImmSetCompositionStringA, and ImmSetCompositionStringW functions into compstr.c.
- Half-implement ImmGetCompositionStringA/W.
CORE-11700
2021-10-12 13:10:01 +09:00
Chan Chilung
570cedf176 [SETUPLIB][INPUT.CPL] Move zh-MO to ChineseTraditionalFonts group (#4010)
- The use of Traditional Chinese character is far more than Simplified one according to Wikipedia
- The code page used on zh-MO is 950, which is Traditional Chinese's one
- zh-MO is described as Traditional Chinese here: https://support.microsoft.com/en-us/windows/microsoft-traditional-chinese-ime-ef596ca5-aff7-4272-b34b-0ac7c2631a38#ID0EBBD=Microsoft_ChangJie/Quick
2021-10-11 16:24:21 +03:00
Serge Gautherie
51e2ab52af [CMAKE] msvc.cmake: Add arm64 CMAKE_ASM_MASM_COMPILER option support
CORE-17518
2021-10-11 15:24:30 +03:00
Serge Gautherie
e4feaa1a69 [CMAKE] CMakeLists.txt: Add arm64 to ARCH allowed values
CORE-17518
2021-10-11 15:20:34 +03:00
Katayama Hirofumi MZ
9078e34f3c [SHELL32] Don't smartass-renaming on LNK files (#4020)
Renaming .LNK files had a bug that the selection won't include the extension-like filename part.
CORE-17807
2021-10-11 13:33:43 +09:00
Konrad Dybcio
3c36cde874 [SDK] config.cmake: Fix generic mtune flag (#4017) 2021-10-11 03:46:12 +03:00
Robert Naumann
38b9688d45 [IERNONCE] Add German translation 2021-10-11 00:08:19 +02:00
Robert Naumann
4e5301d09f [INETCPL] Update German translation 2021-10-11 00:07:39 +02:00
Joachim Henze
f1d4a83bf7 [NOTEPAD] Properly fix accelerator issue in es-ES.rc CORE-17809
In 0.4.14-dev-1321-g d6e0fe78e7
we introduced the following compiler warning for MSVC2010 release build:

reactos/base/applications/notepad/lang/es-ES.rc(12) : warning RC4204 : ASCII character not equivalent to virtual key code

That warning was muted without investing too much love by
0.4.15-dev-2469-g d0bb775774

Today we apply the proper fix that brings us back in sync with other languages.
I do intend to port the proper fix back to 0.4.14RC as well.
2021-10-10 21:29:05 +02:00
William Kent
6ac25e6f7f [SHELL32] Add missing SS_NOPREFIX to labels in About dialog (#3969)
Signed-off-by: William Kent <wjk011@gmail.com>
2021-10-10 21:50:18 +03:00
Stanislav Motylkov
048f2b80da [MODEMUI] Fix unrecognized escape sequence. Addendum to 05c39d8d. 2021-10-10 17:08:01 +03:00
Süleyman Poyraz
05c39d8d62 [TRANSLATION] Update Turkish (tr-TR) translations (#3958)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-10-10 16:00:12 +03:00
Chan Chilung
463784c5f1 [TRANSLATION] Chinese Traditional (zh-TW) translation update (#3954)
Also sync LOCALMON/UI translation with Wine.
2021-10-10 15:00:44 +03:00
Katayama Hirofumi MZ
e30b0a356d [RICHED20_WINETEST] Fix build about __thiscall redefinition
See 5a9535e694
2021-10-10 13:57:32 +09:00
Thomas Faber
5a9535e694 [RICHED20_WINETEST] Restore Wine sync in txtsrv.c. ROSTESTS-355
In particular, add the missed diff in ITextHostImpl_TxGetCharFormat.
2021-10-09 20:44:26 -04:00
Chan Chilung
da4d0545eb [BOOTDATA] readme.txt: Trivial correction (#4014)
Follow up of #3469 - replace "Seven" with "7" to keep Microsoft's official naming.
2021-10-09 15:44:09 +03:00
Joachim Henze
c99e5a2810 [ZIPFLDR] Update de-DE.rc 2021-10-09 14:40:48 +02:00
Katayama Hirofumi MZ
264a128f03 [IMM32] Rewrite ImmRequestMessageA/W (#4002)
- Re-implement ImmRequestMessageA and ImmRequestMessageW functions.
- Add IchWideFromAnsi, IchAnsiFromWide, Imm32RequestError, Imm32ReconvertSize, Imm32ConvertReconvert, and Imm32ProcessRequest helper functions.
CORE-11700
2021-10-09 07:40:56 +09:00
Adam Stachowicz
4e9c898363 [ZIPFLDR] Update Polish (pl-PL) translation (#4007) 2021-10-08 20:00:30 +03:00
Oleg Dubinskiy
6ef7b67615 Revert "[DSOUND] Don't force status to failure by default in primarybuffer_SetFormat (#3911)"
Revert my last dsound fix, because it does not fix the actual problem with audio formats support. It only makes the situation worse. It prevents the error when creating an audio stream, but the sound is not playing correctly, both in ReactOS and Windows (with our dsound.dll). Without this fix, it works perfectly on Windows, but does not in ROS.
In particular, the sound is not playing properly in AIMP 4.71 with other audio formats besides default (44100 Hz, 16 bit, stereo). And any other apps which request these audio formats may be also affected as well.
Force the status back to failure, because otherwise the badly required code is not executed at all.
I've made a more correct fix(es) in other audio component(s) instead and will submit them if further PRs.

This reverts commit 183566ee58.

CORE-10907
2021-10-07 23:44:30 +03:00
Rafał Mikrut
782bf0e3dc [TSCLIENT] Fix code F12 array index (#4006) 2021-10-07 23:08:03 +03:00
Rafał Mikrut
54d5ad7533 [NTOS:KE] Fix copy paste bug in exception helper routine for ARM (#4005) 2021-10-07 23:04:19 +03:00
Stanislav Motylkov
7e3a7a0e84 [ZIPFLDR] Show error when compression method is not supported
CORE-17255
2021-10-07 14:54:47 +03:00
Katayama Hirofumi MZ
5da934e34d [SHELL32] Don't smartass-renaming on folders (#3993)
Selection on renaming folders shouldn't select the extension-like part of filename.
CORE-17793
2021-10-07 08:16:35 +09:00
Joachim Henze
db7295f864 [ZIPFLDR] Update de-DE.rc in context of CORE-17796 2021-10-06 20:17:13 +02:00
Stanislav Motylkov
e27acff649 [ZIPFLDR] Improve error reporting
- Restore status text on failure
- Show errors on folder and file creation failures
- Allow to retry extraction attempt

CORE-17796
2021-10-06 14:38:25 +03:00
Stanislav Motylkov
fd441aaae7 [ZIPFLDR] Refactor extraction function
Add separate function for a single file extraction.

CORE-17796
2021-10-06 14:36:48 +03:00
Katayama Hirofumi MZ
e6fd41d078 [IMM32] Implement ImmSystemHandler (#3998)
- Implement ImmSystemHandler function.
- Add Imm32UnknownProcess1 and Imm32SendChange helper functions.
CORE-11700
2021-10-05 21:31:53 +09:00
Katayama Hirofumi MZ
4f006ec74b [IMM32] Add IMP stub functions (#3989)
- Add IMP (Input Method Profiler) stub functions (ImmIMPGetIMEA/W, ImmIMPQueryIMEA/W, ImmIMPSetIMEA/W).
- Add ImmSendIMEMessageExA/W stub functions.
- Rename nt3.c as win3.c.
The prototypes can be obtained from: https://doxygen.reactos.org/dc/d20/winnls32_8h.html .
The Japanese article of IMP is available: http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/7.html
CORE-11700
2021-10-05 14:07:58 +09:00
Katayama Hirofumi MZ
b0d66e68c1 [IMM32] s/4/sizeof(DWORD)/
CORE-11700
2021-10-05 07:57:14 +09:00
Robert Naumann
6b5ffa7a79 [RAPPS] Update German translation 2021-10-04 18:48:47 +02:00
Katayama Hirofumi MZ
afec737142 [IMM32_APITEST] Add ImmGetImeInfoEx testcase (#3988)
CORE-11700
2021-10-04 07:35:00 +09:00
Katayama Hirofumi MZ
66ef31494e [IMM32] Implement ImmActivateLayout (#3987)
- Add IME_STATE and IME_SUBSTATE structures.
- Modify INPUTCONTEXTDX structure.
- Implement ImmActivateLayout function.
- Improve ImmDestroyContext function by using newly-defined Imm32FreeImeStates.
- Add Imm32FetchImeState, Imm32FetchImeSubState, Imm32LoadImeStateSentence, Imm32SaveImeStateSentence, and Imm32SelectLayout helper functions.
- Modify NtUserSetThreadLayoutHandles prototype.
CORE-11700
2021-10-04 07:33:15 +09:00
Hervé Poussineau
7fdf078134 [UNIATA] Better split of model name between Vendor and Product
UNIATA is converting IDE identify data into SCSI identify data.
However, IDE model is described with a unique field of 20 chars,
while SCSI model is described with 2 fields of 16 + 8 chars.
When displaying SCSI model, a space is added between vendor and product
fields.

Try to split model into vendor and product on a space if possible.

CORE-17400
2021-10-03 23:09:55 +02:00
Mark Jansen
9bdeaca56e [RAPPS] Speed up app loading by caching the INI sections 2021-10-03 20:26:25 +02:00
Mark Jansen
6f9dd96dcf [RAPPS] Cleanup 2021-10-03 20:26:19 +02:00
Mark Jansen
22e58e68aa [SHELL32] Fix uninitialized variable usage.
This fixes log spam about NM_CUSTOMDRAW not being handled
2021-10-01 17:40:01 +02:00
Katayama Hirofumi MZ
f5bbd57d73 [IMM32] GetKeyboardLayout's parameter is a thread id
s/dwLayout/dwThreadId/
CORE-11700
2021-10-01 03:13:52 +09:00
Katayama Hirofumi MZ
e6a51b54c4 [IMM32] Move ImmFreeLayout from ime.c to imm.c
CORE-11700
2021-10-01 03:10:26 +09:00
Katayama Hirofumi MZ
33affbfecb [IMM32] Rewrite ImmGetImeMenuItemsA/W (#3983)
- Rewrite ImmGetImeMenuItemsA and ImmGetImeMenuItemsW functions.
- Add Imm32GetImeMenuItemsAW, Imm32IsImcAnsi, Imm32ImeMenuAnsiToWide and Imm32ImeMenuWideToAnsi helper functions.
- Make IME module's ImeGetImeMenuItems function optional.
CORE-11700
2021-10-01 03:04:00 +09:00
Katayama Hirofumi MZ
9adc538c9c [IMM32] Rewrite ImmSetActiveContext (#3982)
- Re-implement ImmSetActiveContext function.
- Modify NtUserNotifyIMEStatus prototype.
- Improve ImmSetConversionStatus and ImmSetOpenStatus functions.
CORE-11700
2021-10-01 03:02:56 +09:00
Hervé Poussineau
fc5d8e466f Revert "Disable some C++ code, which doesn't compile for me"
This reverts commit d8b1ff9056.
2021-09-29 22:58:31 +02:00
Hervé Poussineau
d8b1ff9056 Disable some C++ code, which doesn't compile for me 2021-09-29 22:56:35 +02:00
Hervé Poussineau
92d0dd3633 [VIDEOPRT] Create and setup new registry key only for non-legacy drivers
CORE-17734
2021-09-29 22:56:35 +02:00
He Yang
4d0cc20681 [IERNONCE] [RUNONCEEX] Add RunOnceEx functionality for ReactOS (#3926)
* [IERNONCE] Implement the registry management code.

* [EXPLORER] handle RunOnceEx by invoking RunOnceEx in iernonce.dll

* [IERNONCE] Display a dialog to show progress, and execute entries.

* [IERNONCE] Add `InitCallback` function
2021-09-29 11:30:32 +02:00
James Tabor
b5fae844de [NtGDI] Fix brush attribute transfer. 2021-09-28 19:08:45 -05:00
Katayama Hirofumi MZ
ef003fa47d [IMM32] Rewrite ImmAssociateContext (#3979)
CORE-11700
2021-09-28 22:03:25 +09:00
Katayama Hirofumi MZ
a3c841f8e2 [IMM32] Implement ImmFreeLayout (#3978)
- Implement ImmFreeLayout function.
- Add Imm32ReleaseIME helper function.
CORE-11700
2021-09-28 22:02:30 +09:00
James Tabor
c6d1646c9d [ApiTests|GDI] Add test for attribute changes to Bitmaps.
Only opporpate place to add this test.
2021-09-27 23:52:00 -05:00
James Tabor
72f115d6ed [NtGDI] Set owner after changing object type. 2021-09-27 23:49:35 -05:00
James Tabor
d9f8b8b033 [NtGDI] Fix leaking of bitmaps while testing INFO DC's.
Soon to be commit test for metafiles.

ret = MaskBlt(hdc, 0, 0, 3, 4, dib_hdc, 0, 0, mask_bitmap, 0, 0, SRCCOPY);
2021-09-27 23:11:33 -05:00
James Tabor
8767aada75 [GDI32] Fix IV msvc build. 2021-09-27 19:08:43 -05:00
James Tabor
be4540821a [GDI32] Fix III msvc build. 2021-09-27 18:19:49 -05:00
Hermès Bélusca-Maïto
e6306db0c3 [GDI32] Fix build errors~~ 2021-09-28 00:48:24 +02:00
James Tabor
d4b2c97b67 [GDI32] Fix msvc build errors. 2021-09-27 17:30:40 -05:00
James Tabor
fc16259faf [GDI32] Update Wine Metafile Code
Sync/Port: Metafile code from wine.

Patches by Jacek Caban, Daniel Lehman, Zhiyi Zhang. Gabriel Ivancescu, Michael Stefaniuc, Francois Gouget, Nikolay Sivov Dmitry Timoshkov, Andrew EiKum, Piotr Caban and Alexandre Julliard.

This commit is dedicated to George Bisoc!
2021-09-27 16:18:20 -05:00
George Bișoc
9c1c88de3e [NTOS:SE] Define a name macro for the threshold value
Instead of having this magic value as is, describe it within a macro for readability purposes.
2021-09-27 09:39:23 +02:00
George Bișoc
199f575342 [NTOS:SE] Check the privilege count against the maximum threshold
In SeCaptureLuidAndAttributesArray we must ensure that we don't go onto a potential integer overflow scenario by checking against the maximum limit threshold the kernel states. In addition, write an explicit name macro for the value.
2021-09-27 09:37:28 +02:00
Katayama Hirofumi MZ
a415bd46b1 [IMM32] Trivial tiny improvements
CORE-11700
2021-09-27 09:37:14 +09:00
Katayama Hirofumi MZ
b3382d8d24 [IMM32] Rewrite ImmLockIMC (#3975)
- Add Imm32InitContext and Imm32LockIMCEx helper functions.
- Re-implement ImmLockIMC function.
- Modify CLIENTIMC and INPUTCONTEXTDX structures.
CORE-11700
2021-09-27 09:32:24 +09:00
Katayama Hirofumi MZ
be9a788f8b [IMM32] Improve Imm32CleanupContext and ImmLockClientImc (#3974)
- Improve Imm32CleanupContext and ImmLockClientImc functions.
- Add ValidateHandleNoErr and Imm32CheckImcProcess helper functions.
CORE-11700
2021-09-27 09:31:16 +09:00
Hermès Bélusca-Maïto
31c4c2efe9 [USER32] GetUserObjectSecurity/SetUserObjectSecurity: Just use UserSetLastNTError() in failure path. 2021-09-26 19:04:08 +02:00
Hermès Bélusca-Maïto
acde1e0e7b [IMAGESOFT] Fix build. Addendum to commit 516c8829. 2021-09-26 03:50:13 +02:00
Hermès Bélusca-Maïto
9462350a92 [NTOS:RAWFS] LE JOKE! - Commit 7716bddd (r24564) claimed to "actually create the \\Device names so that user-mode can even talk to it", yet didn't bother to do that!
Certainly due to copy-pasta error from the original code.

A consequence of this oversight, was that the IoGetDeviceObjectPointer()
calls on these device names, in fltmgr!DriverEntry() couldn't work.
(See drivers/filters/fltmgr/Interface.c, line 1880 and below.)
2021-09-26 03:02:58 +02:00
Hermès Bélusca-Maïto
5ccd45ea58 [NTOS:RAWFS] Delete the previously-created devices in case the IoCreateDevice() calls fail. 2021-09-26 03:02:57 +02:00
Hermès Bélusca-Maïto
38ce67162f [FS_REC] Fix load-lock acquisition. 2021-09-26 03:02:56 +02:00
Hermès Bélusca-Maïto
618076dc47 [FS_REC] Register a recognizer for FAT filesystem on CD-ROMs.
This handles the \FatCdrom device, supported by MS fastfat.
2021-09-26 03:02:56 +02:00
Hermès Bélusca-Maïto
00ae7c52f9 [IMAGESOFT] Reorganize the bitmap resource IDs.
- Moving the IDB_* with their corresponding TBICON_* defines.
- Reordering the BITMAP resources in the same order the defines are defined.
- Fixing values for IDS_READY and IDS_TOOLBAR_TEXT.
2021-09-26 02:43:02 +02:00
Hermès Bélusca-Maïto
516c8829ea [IMAGESOFT] Use ARRAYSIZE / un-hardcode some sizeof(TYPE) where applicable. 2021-09-26 02:38:37 +02:00
Hermès Bélusca-Maïto
67fd29cae0 [IMAGESOFT] Commit db416e39 made toolbar imagelists creating failing because we overcounted the number of toolbar button bitmaps.
Indeed the count was based on the number of elements in TBBUTTON arrays;
however for some of the toolbars, extra entries corresponding to
separators are present, and thus the resulting number of elements is
always larger than the number of actual buttons for which an image is
associated. Passing this (larger) count to the InitImageList() function
therefore made image insertion fail after a certain point.

Now we pass an exact number of *images* instead.
2021-09-26 02:26:42 +02:00
James Tabor
970344bd16 [Win32SS|GDI] Implement seldom used API and update types for local DC's.
Two working in house application require these API. Known as FolCOL and Reach.
2021-09-25 11:57:26 -05:00
Arjav Garg
a602bc3550 [NTUSER] Fix UserSendKeyboardInput() KEYEVENTF_SCANCODE use case (CORE-17144) 2021-09-25 09:56:12 -04:00
Hermès Bélusca-Maïto
74513a75ab [NTOS:OB] Minor refactoring.
- NtQuerySymbolicLinkObject(): Use an intermediate variable for the object header.
- Simplify code in ObpLookupEntryDirectory() by calling ObpReleaseLookupContextObject() instead.
- Use TAG_OBJECT_TYPE instead of hardcoded tag values.
2021-09-25 01:09:01 +02:00
Hermès Bélusca-Maïto
4c63ed5a7a [NTOS:OB] Clarify and fix the usage of the Obp*DirectoryLock*() and ObpReleaseLookupContextObject() functions.
- Disentangle the usage of ObpAcquireDirectoryLockExclusive() when it's
  used only for accessing a directory structure, or as part of a lookup
  operation.

  The Obp*DirectoryLock*() -- both shared and exclusive -- functions
  are only for locking an OB directory, for reading or writing its
  structure members.

  When performing lookup operations (insertions/deletions of entries
  within a directory), use a ObpAcquireLookupContextLock() function that
  exclusively locks the directory and saves extra lock state, that can
  be used by ObpReleaseLookupContextObject() for cleanup.

- Add documentation for these functions.
2021-09-25 00:47:43 +02:00
George Bișoc
19cdb521d2 [NTOS:OB] Acquire the lock before setting directory's session ID 2021-09-24 19:49:40 +02:00
George Bișoc
0b4763f1b1 [NTOS:SE] Do not set SE_DACL_PRESENT flag that early
The function might assign the flag yet it could possibly fail on creating a DACL and insert an "access allowed" right to the access entry within the DACL. In this case, make sure we actually succeeded on all the tasks and THEN assign the flag that the DACL is truly present.

Also, make sure that the Current buffer size variable gets its new size so that we avoid overidding the memory of the DACL if the security descriptor wants both a DACL and SACL and so that happens that the DACL memory gets overwritten by the SACL.
2021-09-24 19:39:30 +02:00
George Bișoc
f341b9080b [NTOS:SE] Set the SACL to the World security descriptor
Implement the portion chunk of code that is responsible for setting the system access control list (SACL) to the World security descriptor, based from SeWorldSid (World security identifier).
2021-09-24 19:13:16 +02:00
Katayama Hirofumi MZ
ca3fa7197d [IMM32] Use Imm32IsImmMode and Imm32IsCiceroMode macros (#3971)
- Define Imm32IsImmMode, Imm32IsCiceroMode and Imm32Is16BitMode macros in "precomp.h".
- Improve Imm32InquireIme and Imm32CleanupContext functions.
- Add IME_SYSINFO_WINLOGON and IME_SYSINFO_WOW16 macros (from DDK) in psdk/imm.h.
- Modify CtfImeInquireExW and CtfImeSelectEx prototype.
CORE-11700
2021-09-24 22:06:29 +09:00
Victor Perevertkin
e372f2b19b [REACTOS] Remove PowerPC Open Firmware-related code
Was forgotten during the overall PowerPC support removal.
Addendum to 6ef6fabfc5
2021-09-24 04:13:08 +03:00
Serge Gautherie
6e894bc1c7 [IPHLPAPI] GetAdaptersInfo(): Update Wine registry key name (#3556) 2021-09-24 03:49:05 +03:00
Serge Gautherie
acbe74497f [PSDK] wincodec.idl: Add GUIDs which exist on WDK 7.1 (#3628) 2021-09-24 03:24:05 +03:00
George Bișoc
32db51fcff [NTDLL_APITEST] Implement NtAdjustGroupsToken API tests 2021-09-23 17:38:42 +02:00
George Bișoc
8e6fc7a5f5 [NTOS:SE] Implement token groups adjusting 2021-09-23 17:38:31 +02:00
Katayama Hirofumi MZ
7b622283ee [IMM32_APITEST] himc: Use ok rather than ok_int (#3970)
Use ok macro rather than ok_int macro. CORE-11700
2021-09-22 19:07:07 +09:00
Mark Jansen
4acf1007df [FONTEXT] Restore folder icon 2021-09-21 21:42:32 +02:00
Mark Jansen
9276b3f1bf [SHELL32] CFSFolder: Add fallback for failing shell extension
CORE-17673
2021-09-21 21:42:25 +02:00
Mark Jansen
ad83af36dd [RAPPS] Move the CConfigParser to a new file 2021-09-21 19:00:21 +02:00
George Bișoc
982ee872dd [NTOS:SE] Privileges adjusting private routine must be paged
SepAdjustPrivileges is a private helper call that must be paged, alongside with its syscall -- NtAdjustPrivilegesToken.
2021-09-21 17:40:53 +02:00
Katayama Hirofumi MZ
d6a0299eec [IMM32_APITEST] Add himc testcase (#3965)
Add himc testcase. CORE-11700
2021-09-21 12:26:43 +09:00
Katayama Hirofumi MZ
e0da6437a1 [IMM32] Define ImeDpi_IsUnicode macro and use it (#3964)
- Define ImeDpi_IsUnicode macro in precomp.h.
- Use it.
CORE-11700
2021-09-21 12:20:10 +09:00
Joachim Henze
222acf5a3e [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo() CORE-17777
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755

We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!

Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().

I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.
2021-09-20 03:05:05 +02:00
Joachim Henze
dda9c3979e [NTUSER] Scrollbar.c, improve co_IntSetScrollInfo() CORE-17769
Fixes CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
This could happen for both: themed and unthemed.

CORE-17769 was a regression introduced by 0.4.14-dev-1134-g 00adb1a3f9

We don't really like the added state in form of the static variables,
but the patch works good from a pure testing-perspective.

Many Thanks to the patches author: Doug Lyons
2021-09-19 22:35:37 +02:00
Thomas Faber
40ee59d609 [LIBXML2] Update to version 2.9.12. CORE-17766 2021-09-18 21:42:26 -04:00
Hermès Bélusca-Maïto
271556e6f8 [WIN32SS] Disable by default the dumping function. Addendum to 69f90508. 2021-09-19 00:46:56 +02:00
Hermès Bélusca-Maïto
69f905081c [WIN32SS:NTUSER] Move the keyboard layout debugging code to a separate dump function.
And fix its obvious bugs, e.g. not checking for possible NULL pointers
for the optional keyboard layout sub-tables...
2021-09-19 00:18:04 +02:00
Hermès Bélusca-Maïto
e34a799f0c [BOOTDATA] Fix "DllName" casing. 2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto
5f8a10f32b [BROWSEUI] CAutoComplete::OnAutoCompStart(): Wait on the thread only when there is a handle.
Avoids spamming
(ntoskrnl\ob\obwait.c:441) Failed to reference the handle with status 0xc0000008

CAutoComplete::FinishCompletion(): Remove two useless 'if (m_pThread || !m_hThread)'
tests: No need to check these after each code instruction...
2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto
ffc4febb0c [BROWSEUI] Fix early error handling, to be taken only when ParseNow() is run (and fixes "Use of uninitialized variable hr" RTC error).
Addendum to commit d8e47d61.
2021-09-19 00:17:04 +02:00
Hermès Bélusca-Maïto
6072ee9766 [BROWSEUI] Minor formatting. 2021-09-19 00:17:03 +02:00
Katayama Hirofumi MZ
5b522667a6 [IMM32] Define Imm32HeapFree macro and use it (#3962)
- Define Imm32HeapFree macro in precomp.h and use it.
- Omit some NULL checks (for HeapFree).
CORE-11700
2021-09-19 01:52:05 +09:00
Katayama Hirofumi MZ
df6fff78bb [IMM32] Rewrite ImmAssociateContextEx (#3961)
- Rewrite ImmAssociateContextEx function.
- Modify NtUserAssociateInputContext prototype.
CORE-11700
2021-09-16 19:29:49 +09:00
Katayama Hirofumi MZ
afb6c8a129 [IMM32] Rewrite ImmEscapeA/W (#3959)
- Rewrite ImmEscapeA and ImmEscapeW functions.
- Delete useless legacy code.
CORE-11700
2021-09-16 19:27:43 +09:00
Victor Perevertkin
f17c2c0db9 [GITHUB] Use 64bit LLVM for both 32bit and 64bit clang-cl builds 2021-09-14 17:58:23 +03:00
Victor Perevertkin
62d1a2c884 [CMAKE] Fixes for clang-cl build
- User lib.exe instead of llvm-lib due to incompatibility
- Avoid wrapping resource compiler with cmcldeps
- Fix several conditional flags
2021-09-14 17:58:23 +03:00
Victor Perevertkin
d74eb54b06 [WIN32SS:GDI] Add a sanity assert 2021-09-14 17:58:23 +03:00
Victor Perevertkin
655ddfa8e2 [KERNEL32] FindFirstFileExW: fix syscall buffer alignment
NtQueryDirectoryFile required the FileInformation buffer to be
ULONG-aligned. Declare the aligned buffer explicitly.
2021-09-14 17:58:22 +03:00
Victor Perevertkin
4e389a992d [CMAKE] Fix invalid usage of list()
list() functions expects numerical indices for modification operations
and silently converts everything else to a number (old behaviour).

CMake 3.21 now checks this and throws a warning
2021-09-14 17:58:22 +03:00
Victor Perevertkin
8e1fa03456 [CMAKE] Replace custom scripts in compilerflags with standard ones
- add_target_link_flags changed to target_link_options
- add_target_property changed to set_property(... APPEND ...)
2021-09-14 17:56:22 +03:00
Katayama Hirofumi MZ
233c74e25a [IMM32] Undefine IMS_... constants
CORE-11700
2021-09-14 09:47:51 +09:00
Katayama Hirofumi MZ
791fbde496 [SDK][INCLUDE] Remove period (.) from comment 'Non SDK DCE types.' in undocuser.h 2021-09-13 13:56:30 +09:00
Katayama Hirofumi MZ
dc9c5826be [IMM32] Rewrite ImmConfigureIMEA/W (#3956)
- Rewrite ImmConfigureIMEA and ImmConfigureIMEW functions.
- Add IMS_... macros for WM_IME_SYSTEM message, into <undocuser.h>.
- Delete useless strdupAtoW and strdupWtoA inline functions.
CORE-11700
2021-09-13 12:47:15 +09:00
Hermès Bélusca-Maïto
158a479a4e [TRANSLATION] Replace '\r\n' by '\n' from displayed strings, when possible. 2021-09-13 03:52:23 +02:00
Hermès Bélusca-Maïto
9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Hermès Bélusca-Maïto
bbabe2489e [FORMATTING][TRANSLATION] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine).
2021-09-13 03:52:21 +02:00
Hermès Bélusca-Maïto
290e5c9933 [TRANSLATION] Fix instances of strings with trailing whitespace before newlines. 2021-09-13 03:52:20 +02:00
Hermès Bélusca-Maïto
9b1edceae1 [REACTOS] Fix some instances of DPRINTs with trailing whitespace before newlines. 2021-09-13 03:52:19 +02:00
Hermès Bélusca-Maïto
d6c8fe7c37 [REGEDIT] Fix "tr-TR.rc:68: unrecognized escape sequence" error. 2021-09-13 03:52:18 +02:00
Eric Kohl
d389a5d10c [KBDHID] Fix returned Status for IOCTL_KEYBOARD_QUERY_*
Addendum to 6249d5ede31ee6ba81f8b0cde94f5c8f875fd9a.
2021-09-12 23:36:18 +02:00
Doug Lyons
3bf7e3ac13 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
This fixes regressions CORE-17754 and CORE-17755 which regressed by
0.4.15-dev-3086-g 236649c626
2021-09-12 22:54:46 +02:00
Hermès Bélusca-Maïto
6e9ff14e26 [NTOS:KD64,KE] IRQL is automatically adjusted during calls to KdEnterDebugger() and KdExitDebugger(). (#3942)
Addendum to 608032bd and 835c3023.

The IRQL is actually raised by KeFreezeExecution() and lowered by
KeThawExecution(), always to HIGH_IRQL on MP systems, or if necessary
on UP. These functions are called respectively by KdEnterDebugger()
and KdExitDebugger().
2021-09-12 18:20:32 +02:00
Hermès Bélusca-Maïto
05590079cc [NTOS:KD64] First unlock the KD port then lower the IRQL, instead of doing the reverse. (#3942)
This properly reverses the operation of first raising the IRQL before
locking the KD port.
2021-09-12 18:19:59 +02:00
Hermès Bélusca-Maïto
c9f335e996 [NTOS:KD64] KdPollBreakIn(): Use the KeRestoreInterrupts() inline. 2021-09-12 18:16:13 +02:00
Thomas Faber
103a79ce4f [MBEDTLS] Update to version 2.16.11. CORE-17326 2021-09-12 10:49:55 -04:00
Thomas Faber
cbda039f4f [MBEDTLS] Update to version 2.16.10. CORE-17326 2021-09-12 10:49:55 -04:00
Thomas Faber
a01a8faa60 [MBEDTLS] Update to version 2.7.19. CORE-17252 2021-09-12 10:49:55 -04:00
Thomas Faber
2e53fc8edb [MBEDTLS] Update to version 2.7.18. CORE-17252 2021-09-12 10:49:54 -04:00
Thomas Faber
218e2596de [MBEDTLS] Update to version 2.7.17. CORE-17252 2021-09-12 10:49:47 -04:00
Eric Kohl
b6249d5ede [KBDHID] IOCTL_KEYBOARD_QUERY_ATTRIBUTES: Return proper KEYBOARD_ATTRIBUTES buffer size 2021-09-12 16:33:35 +02:00
Joachim Henze
984c7da24d [CMD] tr-TR.rc Fix compiler warning CORE-17763
GCC8.4.0 dbg warned about:
[675/1849] Building RC object base/shell/cmd/CMakeFiles/cmd.dir/cmd.rc.obj
In file included from C:/ros/reactos/base/shell/cmd/cmd.rc:87:
C:/ros/reactos/base/shell/cmd/lang/tr-TR.rc:349:61: warning: backslash and newline separated by space

I guess somebody made the checks more strict recently,
because that bug was existing for longer already without
generating any warning for me.
2021-09-12 16:17:35 +02:00
George Bișoc
fc5bc55fbb [NTOS:SE] Use the captured security descriptor when access checking
When performing access security check, use the security descriptor that we've captured it to determine based on that descriptor if the client can be granted access or not.
2021-09-12 16:07:44 +02:00
Eric Kohl
f81fb355ae [KBDHID] Implement IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION 2021-09-12 14:40:26 +02:00
Eric Kohl
c1de553eba KBDHID: IOCTL_KEYBOARD_QUERY_* calls must return STATUS_BUFFER_TOO_SMALL if the output buffer is too small 2021-09-12 14:33:15 +02:00
Süleyman Poyraz
53221834c5 [TRANSLATION] Add and improve Turkish (tr-TR) translation (#3561)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Reviewed-by: Ercan Ersoy <ercanersoy@ercanersoy.net>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-09-12 00:34:11 +03:00
Timo Kreuzer
0535332a69 [FASTFAT_NEW] "Fix" Flags bitfield to avoid RTC error
Since VS 16.11 the compiler sometimes emits calls to _RTC_UninitUse, when parts of a bitfield are initialized (See https://developercommunity.visualstudio.com/t/Broken-runtime-checks-with-CL-19293013/1503629). Fix this by using an ULONG instead of a bitfield.
Note: The structure uses a 24 bit bitfield plus an UCHAR, which is supposed to form a 32 bit field, but that doesn't work anyway.
2021-09-11 18:31:50 +02:00
Thomas Faber
0a656b574e [ACPICA] Update to version 20210730. CORE-17760 2021-09-11 10:48:30 -04:00
Thomas Faber
3c2845607c [ACPICA] Update to version 20210604. CORE-17760 2021-09-11 10:48:30 -04:00
Thomas Faber
6eb8cc4979 [ACPICA] Update to version 20210331. CORE-17760 2021-09-11 10:48:29 -04:00
Thomas Faber
05926c7ac5 [ACPICA] Update to version 20210105. CORE-17760 2021-09-11 10:48:17 -04:00
Oleg Dubinskiy
183566ee58 [DSOUND] Don't force status to failure by default in primarybuffer_SetFormat (#3911)
Don't force HRESULT status to DSERR_BUFFERLOST by default in primarybuffer_SetFormat function.
Assign to it S_OK instead, as done in current Wine:
a8583acae9:/dlls/dsound/primary.c#l440

That variable is already set to failure in other appropriate place, when this is indeed needed:
https://git.reactos.org/?p=reactos.git;a=blob;h=b04a526929e4e817ff63aa652530e5901a3253a6;f=dll/directx/wine/dsound/primary.c#l511

The assigned failure status caused executing failure handling code even when the fail actually didn't happen.
In particular, DSOUND_ReopenDevice failed on waveOutOpen call when calling this was not needed.
After my changes, it's called only when needed, i. e., only when the actual failure happens
Otherwise, if all goes good, that code is not called, so the data is transfered successfully and the function is working correctly.
It fixes non-working playback in QMMP 0.11.1 (via DirectSound ouput plugin) and AIMP 3.10 and newer versions.
Also it improves the DirectSound test results from MS DxDiag: now all 4 available tests are passing successfully, instead of only 2.
Other dsound issues also might be fixed as well.

CORE-10907 CORE-14783
2021-09-11 01:58:03 +03:00
Katayama Hirofumi MZ
b4557a60a9 [IMM32] Restructure! (Retry) (#3952)
The imm.c file became big and bloated, so we split the source file. CORE-11700
- Split the IMM32 code and do formatting.
2021-09-10 23:39:15 +09:00
PopuriAO29
ce7ac73f89 [SYSSETUP] Fix en-US translation. Add en-GB translation (#3950)
The British language wasn't included here, so I have corrected some texts that were in American English.

Also fixed one string that uses British English language.
2021-09-10 14:10:25 +03:00
PopuriAO29
647ba1cb45 [DESK] Correction for English (United Kingdom) translation (#3949)
The word "personalize" should be "personalise" in British English.
2021-09-10 01:48:41 +03:00
George Bișoc
d7255f1584 [NTOS:SE] Explicitly check the auto inherit flags right away
As we now have the SEF_* flags declared within the SDK we can simply check for such flags directly wihout having to check for the hard-coded flag values.
2021-09-09 19:29:53 +02:00
George Bișoc
58c42afec2 [XDK][KMTESTS:SE] Move the auto inherit ACE flags in the right place
These bit flags are documented in CreatePrivateObjectSecurityEx API routine call in MSDN and their reasonable location should be XDK (NTIFS section more or less) and not Kernel tests suite (KMTESTs). Also assign these flags the right values.

https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-createprivateobjectsecurityex
2021-09-09 19:29:50 +02:00
Stanislav Motylkov
3f4c98a425 [ARM] Fix some compilation errors for ARM
CORE-17634 CORE-17604
2021-09-09 19:40:20 +03:00
Hermès Bélusca-Maïto
0233bb72b3 [IMM32] ValidateHwndNoErr(): Apply ReactOS-specific handle table array fixup. (#3937)
CORE-17741

This function (which should belong to the user32 helpers) depends on the
internal format of the USER handles table, that is ReactOS-specific. Its
pointer value is stored in the win32k/user32 shared info section, and
thus cannot be converted to user-space and stored back into that section.
Therefore it needs to be retrieved and manually converted when the function
is called.
2021-09-09 16:15:13 +02:00
Hermès Bélusca-Maïto
4cbc61fd02 [WIN32SS:NTUSER][USER32] NtUserProcessConnect() should return pointers in user client-space. (#3937)
- Do the kernel/server --> user/client-space pointers conversion within
  NtUserProcessConnect(), instead of having the callers of this function
  doing this job.
  This makes the behaviour Windows-compatible.

  NOTE: the gHandleEntries pointer is ReactOS-specific!

- Drop the g_ulSharedDelta global, just use instead gSharedInfo.ulSharedDelta.

- Add extra documentation aspects for NtUserProcessConnect() that are
  not yet implemented in ReactOS.
2021-09-09 16:15:12 +02:00
Hermès Bélusca-Maïto
a407cb8f10 [WIN32SS:NTUSER] Update the definition of SHAREDINFO and fix the definition of FNID_LAST. (#3937) 2021-09-09 16:15:11 +02:00
Hermès Bélusca-Maïto
103c43861b [WIN32KNT_APITEST] Add more tests for NtUserProcessConnect() (#3937)
Show that NtUserProcessConnect() should return pointers in user client-space.
2021-09-09 16:15:05 +02:00
Stanislav Motylkov
a2e9dcf0a7 [CRT_APITEST] Add tests for __i64tod/u64tod/i64tos/u64tos on ARM (#3866)
CORE-17713 CORE-17706 CORE-17604
2021-09-09 16:02:11 +03:00
Roman Masanin
9c4e3234ba [CRT/ARM] Integer to float conversion implementation (#3866)
CORE-17713 CORE-17706 CORE-17604
2021-09-09 16:02:03 +03:00
Stanislav Motylkov
6ec6233e9c [CRT_APITEST] Fix __fto64 test according to MS CRT behavior on x86 and x64
Addendum to 99ba9846. CORE-17703 CORE-17604
2021-09-09 00:56:03 +03:00
Stanislav Motylkov
83318b2c43 [CRT_APITEST] Add missing static CRT tests on ARM
Addendum to c23ce9df. CORE-17604
2021-09-08 20:10:11 +03:00
Robert Naumann
7f4158fc64 [MPR] Fix copy paste error when converting hex char to int.
Wine Commit 63737942a06183f6b2e7fa8f95a07c918c9bf29b
Original patch by Sergei Abramov. CORE-13863
2021-09-08 18:59:08 +02:00
Stanislav Motylkov
a3af97df13 [CRT_APITEST] Do not test functions that are missing on ARM
Addendum to 5f548654. ROSTESTS-374 CORE-17604
2021-09-08 19:44:56 +03:00
Roman Masanin
554bbb6bab [CRT/ARM] Floating point control functions implementation (#3870)
Implement controlfp, statusfp, fpreset, clearfp. CORE-17757 CORE-17604
2021-09-08 16:04:48 +03:00
Hermès Bélusca-Maïto
c188821f8b [SETUPLIB] Default to "ReactOS (Debug)" boot entry on debug builds, instead of "ReactOS". 2021-09-07 22:25:37 +02:00
Jose Carlos Jesus
4526848888 [TRANSLATION] Improvements to Portuguese (pt-PT) translation (#3842)
- [CALCS] Add Portuguese (pt-PT) translation
- [COMCTL32] Improve Portuguese (pt-PT) translation
- [COMDLG32] Improve Portuguese (pt-PT) translation
- [ACLUI] Improve Portuguese (pt-PT) translation
- [DEVMGR] Fix typos and improve pt-PT translation
- [SYSDM] Fix typos and improve pt-PT translation
- [CPL] Readjust objects position to fit all text

Signed-off-by: Jose Carlos Jesus <zecarlos1957@hotmail.com>
2021-09-07 19:20:18 +03:00
Gabriel Aguiar
b3a5eeb131 [TRANSLATION] Update Portuguese (pt-PT) translation (#3876)
Co-authored-by: Gabriel Aguiar <fgygh5804@gmail.com>
Reviewed-by: Joachim Henze <Joachim.Henze@reactos.org>
Reviewed-by: Jose Carlos Jesus <zecarlos1957@hotmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Signed-off-by: Gabriel Aguiar <fgsoftwarestudio@gmail.com>
2021-09-07 16:12:01 +03:00
James Tabor
a022dc8eaf [GDI32] Fix Meta file packing recursion issues.
TextOut was looping back adding additional EMR packet to the meta file.
2021-09-06 18:37:24 -05:00
James Tabor
03516733ef [GDI32] Do not fail on path with bitmap fonts.
Patch by Dmitry Timoshkov : ExtTextOut on a path with bitmap font
selected shouldn't fail.
This just leads to empty path generated.
2021-09-06 17:53:35 -05:00
Hermès Bélusca-Maïto
4795d953c0 [NTOS:IO] Fix an ASSERT. Addendum to commit 1fd730b7. 2021-09-06 01:05:14 +02:00
Hermès Bélusca-Maïto
fe9ac14aa3 [NTOS] Move two CODE_SEG("INIT") to a better place. 2021-09-05 21:22:45 +02:00
Hermès Bélusca-Maïto
1fd730b781 [NTOS:IO] IopInitializeDriverModule(): Set the DRVO_LEGACY_DRIVER flag if the driver is not WDM. (#3749) 2021-09-05 20:31:08 +02:00
Serge Gautherie
18d15bcc8b [REACTOS] Refactor CRegKey usage (#3779)
- [MSPAINT] ReadDWORD(): Improve 'dwValue' handling
Addendum to 3185db7 (r72158).

- [DRWTSN32] Settings_GetOutputPath(): Fix 'key' handling
Addendum to 1d10606.

- [RAPPS] Remove 2 superfluous 'CRegKey::Close()' calls
Follow-up to 42e111f.
2021-09-05 20:18:23 +03:00
George Bișoc
a0bf7a05cc [NTDLL_APITEST] Write some NtDuplicateToken tests
Implement some tests for NtDuplicateToken syscall that exercises the effective only behavior when the calling thread tries to duplicate an access token but rendering it effective with enabled parts.
2021-09-05 17:01:24 +02:00
George Bișoc
c407460f6a [NTOS:SE] Implement effective token option upon duplication
This implements the EffectiveOnly option of SepDuplicateToken routine (used by NtDuplicateToken syscall and other functions alike) which makes the access token effective by removing the disabled parts like privileges and groups.
2021-09-05 17:01:21 +02:00
Mark Jansen
1105b021b3 [BOOTDATA] Update caroots.inf
* Add "Certum Trusted Root CA", "Certum EC-384 CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1707097)
* Add "ANF Secure Server Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1703942)
* Add "GLOBALTRUST 2020" (https://bugzilla.mozilla.org/show_bug.cgi?id=1697071)
* Add "GlobalSign Root E46", "GlobalSign Root R46" (https://bugzilla.mozilla.org/show_bug.cgi?id=1693173)
* Add "AC RAIZ FNMT-RCM SERVIDORES SEGUROS" (https://bugzilla.mozilla.org/show_bug.cgi?id=1683738)
* Add "NAVER Global Root Certification Authority" (https://bugzilla.mozilla.org/show_bug.cgi?id=1678166)
* Add "Trustwave Global ECC P384 Certification Authority", "Trustwave Global ECC P256 Certification Authority" , "Trustwave Global Certification Authority"(https://bugzilla.mozilla.org/show_bug.cgi?id=1663049)
* Add "e-Szigno Root CA 2017" (https://bugzilla.mozilla.org/show_bug.cgi?id=1645174)
* Add "Microsoft RSA Root Certificate Authority 2017", "Microsoft ECC Root Certificate Authority 2017" (https://bugzilla.mozilla.org/show_bug.cgi?id=1641716)

* Remove "LuxTrust Global Root 2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1641718)
* Remove "Staat der Nederlanden Root CA - G3" (https://bugzilla.mozilla.org/show_bug.cgi?id=1687822)
* Remove "EE Certification Centre Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1651211)
* Remove "Trustis FPS Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1708307)
* Remove "Global Chambersign Root - 2008", "Chambers of Commerce Root - 2008" (https://bugzilla.mozilla.org/show_bug.cgi?id=1692094)
* Remove "Staat der Nederlanden Root CA - G2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1639987)
* Remove "VeriSign Class 3 Public Primary Certification Authority - G4", "thawte Primary Root CA - G3", "thawte Primary Root CA - G2", "GeoTrust Primary Certification Authority - G3", "VeriSign Class 3 Public Primary Certification Authority - G5", "thawte Primary Root CA", "GeoTrust Primary Certification Authority", "GeoTrust Universal CA 2", "GeoTrust Universal CA", "GeoTrust Global CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1670769)
* Remove "VeriSign Universal Root Certification Authority", "GeoTrust Primary Certification Authority - G2" (https://bugzilla.mozilla.org/show_bug.cgi?id=1686854)
* Remove "OISTE WISeKey Global Root GA CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1653092)
* Remove "Taiwan GRCA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1656077)
* Remove "Sonera Class 2 Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1710716)
* Remove "QuoVadis Root CA" (https://bugzilla.mozilla.org/show_bug.cgi?id=1710716)
* Remove "AddTrust External Root" (https://bugzilla.mozilla.org/show_bug.cgi?id=1645199)
* Remove "Verisign Class 3 Public Primary Certification Authority - G3"

CORE-17737
ROSBE-61
2021-09-05 16:40:53 +02:00
Mark Jansen
0380684ddc [GITHUB] Automatically apply ROSTESTS label 2021-09-05 16:39:57 +02:00
Mark Jansen
821b399516 [COM_APITEST] Add mmc/certmgr tests
CORE-16429
2021-09-05 16:39:57 +02:00
Stanislav Motylkov
0de0013cec [TRANSLATION] Add and improve Russian and Ukrainian translations
[NETID]
- Add and improve Russian translation. Addendum to b9426a3f and c276681e.

[MACHINE.INF]
- Fix probably a machine translation. Addendum to 2d8274bd.
- Standardize some device names.
- Also add missing Ukrainian translation.
2021-09-05 16:22:29 +03:00
George Bișoc
a71a019c46 [NTDLL_APITEST] Implement NtAdjustPrivilegesToken testcase 2021-09-05 09:53:17 +02:00
Julen Urizar Compains
ea6e774050 [TRANSLATION] Fix minor typos and untranslated dialogs in Spanish (#3890)
- usetup: New bootsector page.
- shell32: Copy and paste, and moving elements.
  Also, some strings related to the shutdown and logoff.
- Minor Spanish grammar fix - some female words and minor latin american typos.
- First revision of the .inf, that includes the translation of the Services,
  audio, processors and other drivers and minor things.
2021-09-04 17:22:41 +03:00
Oleg Dubinskiy
d7b2280c5c [DSOUND] Improvements to DirectSound(Capture)EnumerateW (#3899)
Fix and improve DirectSoundEnumerateW and DirectSoundCaptureEnumerateW implementations in our dsound.

Use the Windows-compatible way to get the device name and pass it to callback.
- Don't use Wine-specific DSDRIVERDESC structure and DRV_QUERYDSOUNDDESC message, declared in sdk/include/dxsdk/dsdriver.h, whose are obsolete even in Wine for now.
- Instead, declare a new WAVEINCAPSW and WAVEOUTCAPSW structures (for input and output appropriately), call waveInGetDevCapsW and WaveOutGetDevCapsW for enumerated device ID and store retieved device name in these structures.
- Then pass them to a lpDSEnumCallbackW as well, without Ansi to Unicode conversion (since the retrieved string is Unicode already).
- Do this both for capture and playback functions.
- Addtionally, add MMSYSERR_BADDEVICEID status code to mmErr macro, because it also might be returned by waveIn/OutGetDevCapsW as well, in case of failure.
- And mark our dosund as forked, because it definitely will not be synced at least until we'll retarget to Vista or newer. Add an appropriate comment.

This fixes incorrect detection of DirectSound audio input and output devices, so now a lot of apps are able to detect it correctly, and can play the sound properly (e.g. AIMP 2.61 and IcyTower from RAPPS).

CORE-7535 CORE-10907 CORE-15324 CORE-15533 CORE-16340
2021-09-04 15:58:42 +03:00
Serge Gautherie
d6002f9475 [CMLIB] arm64: Define PAGE_SIZE
CORE-17518
2021-09-03 23:40:21 +03:00
Serge Gautherie
6a5472a754 [HALX86:APIC] apic.c: Use new defines some more
Follow-up to b7a149f.
2021-09-03 23:20:10 +03:00
Serge Gautherie
7f0796443b [BOOTDATA] livecd.ini: Fix 'APIC ACPI' typo
Addentum to 5ee0925.
2021-09-03 23:10:42 +03:00
Serge Gautherie
6d01afbc9d [SETUPLIB] CreateFreeLoaderReactOSEntries(): Fix 'VBoxDebug' typo
Match newer 84c2695.

Addendum to 69512e2 (r65813).
2021-09-03 23:10:42 +03:00
Doug Lyons
81358d08f0 [MSI] Fix dialog.c showing two taskbar panes on Cancel (#3861)
Only show the main dialog pane on taskbar when executing a Cancel dialog.
Assign previous window handle as a parent when creating Cancel dialog box.

CORE-17702
2021-09-03 22:54:22 +03:00
Doug Lyons
236649c626 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
Based on a patch by I_Kill_Bugs.
2021-09-03 22:34:26 +03:00
Serge Gautherie
515e0cf38f [TASKMGR] Handles: Get number only, skip data 2021-09-03 22:14:07 +03:00
Katayama Hirofumi MZ
4689c8ead8 [USER32][INCLUDE] Move GetImmFileName declaration from user32.h to user32p.h
From: win32ss/user/user32/include/user32.h
To: win32ss/user/user32/include/user32p.h

CORE-11700
2021-08-31 13:42:54 +09:00
Joachim Henze
57516edb42 [WDMAUD.DRV] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.
This is my 2nd attempt to commit that.

Using USE_MMIXER_LIB relies on those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. I will resolve that as WontFix now.
2021-08-30 19:52:30 +02:00
Julio Carchi
2268b33e18 [CMAKE][BOOTDATA] Fix LiveCD does not import caroots.inf into registry CORE-17739 CORE-17735 (#3930)
It regressed by 0.4.9-dev-82-g 6158207c31

KVM https://reactos.org/testman/compare.php?ids=78729,78730 LGTM
VBox https://reactos.org/testman/compare.php?ids=78728,78731 LGTM
2021-08-30 13:07:12 +02:00
Katayama Hirofumi MZ
a8d2cd4b9d [IMM32] Rewrite ImmGetContext (#3923)
- Add ValidateHwndNoErr and Imm32GetContextEx helper functions.
- Rewrite ImmGetContext function by using the helper functions.
CORE-11700
2021-08-24 06:50:39 +09:00
Katayama Hirofumi MZ
2ab858c125 [USER32][IMM32] Improve User32InitializeImmEntryTable (#3918)
- Improve User32InitializeImmEntryTable function and related.
- Complete win32ss/user/user32/include/immtable.h table.
- Delete a hack in user32.DllMain and apply my magical tricks. This will fix some access violations in IMM32.
- Add some stubs into IMM32.
CORE-11700
2021-08-23 16:25:21 +09:00
George Bișoc
84f7bee18f [NTOS:SE] SepSinglePrivilegeCheck doesn't expect a NT status code value
Fix a wrong returned datatype of the function, as SepSinglePrivilegeCheck calls the internal private SepPrivilegeCheck function which returns a BOOLEAN value.
2021-08-22 11:31:57 +02:00
George Bișoc
8567d8145e [NTOS:SE] Annotate the remaining functions with SAL 2021-08-22 10:29:58 +02:00
George Bișoc
6413009c10 [NTOS:SE] Document the whole subsystem in Doxygen format
And update the file comment headers.
2021-08-22 10:29:47 +02:00
Katayama Hirofumi MZ
f831ec7e0a [WIN32KNT_APITEST] Add NtUserGetThreadState testcase (#3922)
CORE-17732, CORE-11700
2021-08-22 09:02:02 +09:00
Katayama Hirofumi MZ
10c9aa067f [NTUSER] Improve NtUserQueryWindow (#3915)
- Improve NtUserQueryWindow function.
- Add IMC structure.
- Modify THREADINFO structure.
CORE-11700
2021-08-21 07:31:10 +09:00
Katayama Hirofumi MZ
d78e9fbb45 [IMM32] Implement ImmWINNLSGetIMEHotkey (#3919)
- Implement ImmWINNLSGetIMEHotkey function.
- Modify imm32.spec.
CORE-11700
2021-08-21 07:24:12 +09:00
Katayama Hirofumi MZ
1d0587fc27 [IMM32] Rewrite ImmProcessKey (#3917)
- Rewrite ImmProcessKey function.
- Modify win32ss/include/imetable.h.
- Modify ImmProcessKey prototype.
CORE-1170
2021-08-21 07:22:43 +09:00
Katayama Hirofumi MZ
c59c185d1c [INCLUDE] Move WM_IME_SYSTEM from ntuser.h to undocuser.h (#3920)
CORE-11700
2021-08-19 08:18:20 +09:00
Katayama Hirofumi MZ
1f792413f0 [NTUSER][INCLUDE] s/TransMsg[1]/TransMsg[ANYSIZE_ARRAY]/
CORE-11700
2021-08-18 19:59:35 +09:00
Katayama Hirofumi MZ
d83be2e6b6 [NTUSER][INCLUDE] Trivial formatting of TRANSMSG and TRANSMSGLIST
CORE-11700
2021-08-18 19:56:47 +09:00
Katayama Hirofumi MZ
9a8049cb39 [IMM32] s/0x400/_WIN32_WINNT_NT4/
Don't use magic numbers. CORE-11700
2021-08-18 19:53:14 +09:00
Katayama Hirofumi MZ
747797fdc2 [IMM32_APITEST] s/0x287/WM_IME_SYSTEM/
Don't use magic number. CORE-11700
2021-08-18 19:48:45 +09:00
Katayama Hirofumi MZ
f4bc74edc3 [IMM32] ImmGenerateMessage and ImmTranslateMessage (#3914)
- Rewrite `ImmGenerateMessage` and `ImmTranslateMessage` functions.
- Rename `INPUTCONTEXTDX.bHasVKey` as `bNeedsTrans`.
- Move `TRANSMSG` structure into `ntuser.h`.
- Add `TRANSMSGLIST` structure into `ntuser.h`.
- Add `UNDETERMINESTRUCT` structure to `ddk/imm.h`.
- Modify `NtUserGetAppImeLevel` prototype.
CORE-11700
2021-08-18 08:42:12 +09:00
Katayama Hirofumi MZ
db8dd3b35e [IMM32] Refactor Part 2
Simplify the IMM32 code by deleting middle functions.
CORE-11700
2021-08-16 15:45:11 +09:00
Katayama Hirofumi MZ
3ff832b5d3 [IMM32_APITEST] Add ImmIsUIMessage testcase (#3908)
- Add ImmIsUIMessage testcase in IMM32_APITEST. CORE-11700
2021-08-16 15:35:25 +09:00
Katayama Hirofumi MZ
77911014f3 [IMM32] Rewrite ImmIsUIMessageA/W (#3907)
- Rewrite ImmIsUIMessageA and ImmIsUIMessageW functions.
- Modify HIMC and HIMCC handle types for strictness. Add typecasts.
- Add WM_IME_SYSTEM macro.
- Modify imm32.spec.
CORE-11700
2021-08-16 15:33:51 +09:00
Katayama Hirofumi MZ
cc097ec485 [IMM32] Rewrite ImmEnumRegisterWordA/W (#3906)
- Rewrite ImmEnumRegisterWordA and ImmEnumRegisterWordW functions.
- Modify win32ss/include/imetable.h.
CORE-11700
2021-08-16 15:31:39 +09:00
Kento Oki
3ba1d82c41 [RTL/x64] Fix a typo RtplUnwindInternal -> RtlpUnwindInternal (#3912) 2021-08-16 04:23:02 +03:00
Victor Perevertkin
6ef6fabfc5 [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code
Remove PowerPC-related code from the kernel, HAL, SDK and
Freeloader.
2021-08-15 15:35:51 +03:00
Katayama Hirofumi MZ
911fc3cf5b [IMM32] Delete Wine-specific functions (#3902)
We don't need Wine-specific functions for Japanese input.
- Delete __wine_get_ui_window, __wine_register_window and __wine_unregister_window functions.
- Modify imm32.spec.
CORE-11700
2021-08-14 10:42:02 +09:00
Katayama Hirofumi MZ
19d24143e9 [IMM32] Rewrite ImmGetRegisterWordStyleA/W (#3901)
- Rewrite ImmGetRegisterWordStyleA and ImmGetRegisterWordStyleW functions.
- Modify win32ss/include/imetable.h.
CORE-11700
2021-08-14 10:39:20 +09:00
Katayama Hirofumi MZ
1da5d7a305 [IMM32] Refactor and simplify code (#3900)
- Add Imm32WideFromAnsi, Imm32AnsiFromWide and Imm32IsCrossThreadAccess helper functions.
- Simplify the IMM32 code by using the helper functions.
CORE-11700
2021-08-14 10:38:06 +09:00
Katayama Hirofumi MZ
719823179d [IMM32] Rewrite ImmGetProperty (#3896)
Implementing Japanese input... CORE-11700
2021-08-12 12:33:12 +09:00
Katayama Hirofumi MZ
ee22951c1a [IMM32] Rewrite ImmGetConversionListA/W (#3895)
- Rewrite ImmGetConversionListA and ImmGetConversionListW functions.
- Delete useless convert_candidatelist_AtoW and convert_candidatelist_WtoA functions.
CORE-11700
2021-08-12 12:32:02 +09:00
Katayama Hirofumi MZ
9b7288df78 [IMM32] Rewrite ImmUnregisterWordW (#3894)
Implementing Japanese input... CORE-11700
2021-08-12 12:31:06 +09:00
Katayama Hirofumi MZ
1ead16de95 [IMM32] Rewrite ImmUnregisterWordA (#3893)
Implementing Japanese input... CORE-11700
2021-08-12 12:30:13 +09:00
Katayama Hirofumi MZ
94285dce4d [IMM32] Rewrite ImmRegisterWordW (#3892)
Implementing Japanese input... CORE-11700
2021-08-12 12:29:02 +09:00
Katayama Hirofumi MZ
1e62771c78 [IMM32] Rewrite ImmRegisterWordA (#3881)
- Rewrite ImmRegisterWordA function.
- Modify imetable.h.
CORE-11700
2021-08-10 08:08:23 +09:00
Katayama Hirofumi MZ
6b24e73d41 [IMM32] Rewrite ImmGetVirtualKey (#3889)
Implementing Japanese input. CORE-11700
2021-08-10 08:03:32 +09:00
Doug Lyons
ad8d8b6628 [GDI32] Revise IntTMWFixUp Raster Font List (#3808)
CORE-17662
CORE-17723
2021-08-09 13:07:04 +02:00
James Tabor
a81ad376a1 Check for PAE
Checking for PAE and set some logic later to support it.
2021-08-08 20:37:06 -05:00
Katayama Hirofumi MZ
4f2108882d [IMM32][SDK] Rename some members of INPUTCONTEXTDX
CORE-11700
2021-08-09 00:05:06 +09:00
Eric Kohl
033b6639e4 [DHCPCSVC] Make the DHCP client service stoppable
- Make all threads (pipe thread, adapter discovery thread and dispatcher thread) wait on the stop event.
- Close shared resources in the main (dispatcher) thread after the pipe thread and the adapter discovery thread have shut down.

This enables us to stop and restart the DHCP client properly.

CORE-14390
2021-08-08 14:10:25 +02:00
Katayama Hirofumi MZ
f486f87796 [IMM32] Delete useless ImmInternalSendIMENotify function
CORE-11700
2021-08-08 17:46:02 +09:00
Katayama Hirofumi MZ
7342ed1861 [IMM32] Rewrite ImmSetCompositionFontA/W (#3886)
- Rewrite ImmSetCompositionFontA and ImmSetCompositionFontW functions.
- Add INPUTCONTEXTDX structure as an extension of INPUTCONTEXT.
CORE-11700
2021-08-08 17:35:34 +09:00
Victor Perevertkin
3927ad9d47 [SFLOPPY] Move storage/floppy_new -> storage/class/sfloppy
This is a SCSI Floppy driver, which depends on classpnp.
Don't mix that with the other floppy (FDC) stack.
2021-08-08 02:42:34 +03:00
Victor Perevertkin
3088717b3f [CDROM][DISK] Remove "_new" suffix from cdrom and disk drivers 2021-08-08 02:42:34 +03:00
Victor Perevertkin
49444127fd [CDROM][CLASS2][DISK] Remove the old class drivers stack
These drivers are based on NT4 DDK sample code, were originally
started by Alexey Bragin and then constantly patched by Pierre
Schweitzer to fix compatibility with NT5+ storage stack.
Replaced with Microsoft drivers published on GitHub by an open
license.
These drivers were originally added as part of 4e7b22b216
2021-08-08 02:42:30 +03:00
Katayama Hirofumi MZ
0af58654a3 [IMM32] Rewrite ImmSetCandidateWindow (#3884)
Implementing Japanese input... CORE-11700
2021-08-08 08:34:47 +09:00
Tibor Lajos Füzi
f26614afff [TRANSLATION] Add/update Hungarian translation of deskmon, notepad, winlogon, mycomput 2021-08-07 22:57:35 +02:00
Jérôme Gardou
589016ddb9 [NTOS:MM] Implement MmFlushImageSection(MmFlushForWrite) 2021-08-07 09:34:58 +02:00
Joachim Henze
4cc2c350ef [LDR] Disable Logging when images overlap CORE-17635
We found out what we wanted to find out:
the remaining TODOs for the Python script.

So we can silence the DPRINTs again for the time being
to reduce spam from 3rd party dlls.
Paying tribute to Mark Jansen ;)
2021-08-06 19:25:14 +02:00
Jérôme Gardou
c4801ab696 [WIN32K] Do not release twice the lock on error path 2021-08-06 15:18:21 +02:00
Jérôme Gardou
6618d978cd [CMAKE] Do not disable optimisations on ntoskrnl build 2021-08-06 15:17:49 +02:00
Jérôme Gardou
0bc00267df [WIN32K] Init User part after GDI one.
But Initialize user lock first thing to avoid hitting newly introduced ASSERTS

This partly reverts commit 515d83a883.
2021-08-06 10:15:02 +02:00
Katayama Hirofumi MZ
c0c9b1445d [IMM32] Rewrite ImmSetConversionStatus (#3879)
CORE-11700
2021-08-06 07:15:19 +09:00
Hervé Poussineau
528fede034 [SETUPAPI] Add stubs for SetupDiSetDriverInstallParamsA/W 2021-08-05 23:45:23 +02:00
Hervé Poussineau
e763bec6cd [PSDK] Add DRIVER_UNTRUSTED_RANK define 2021-08-05 23:45:20 +02:00
Jérôme Gardou
0782375f8b [CRT] Add one missing entry to _syserr_list array, fix _sys_nerr definition
Partial revert of 296e07b94d
2021-08-05 15:35:19 +02:00
Katayama Hirofumi MZ
29b09d8935 [IMM32] Implement ImmGetGuideLineA/W (#3877)
Implement ImmGetGuideLineA and ImmGetGuideLineW functions. CORE-11700
2021-08-05 21:43:21 +09:00
Jérôme Gardou
acf28dbc1e [NTOS:MM] Fix the mess created by the "balancer thread"
When processing:
  Make sure that the process is not terminating.
  Make sure that the process WorkingSet is still valid
  Protect accessing & writing to PTEs by acquiring the working set lock

CORE-17595 CORE-17642
2021-08-05 10:06:19 +02:00
Jérôme Gardou
676dc4b441 Revert "[NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages"
This reverts commit 7c006df7e0.
Note to self: This is what happens when you have too many branch and push the wrong one.
2021-08-04 23:57:39 +02:00
Jérôme Gardou
7c006df7e0 [NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages
CORE-17595
2021-08-04 20:38:37 +02:00
Jérôme Gardou
789d7a7741 [NTOS:MM] When mapping pages for zeroing them, disable cache, enable write through
Idea from Thomas Faber
2021-08-04 17:48:39 +02:00
Jérôme Gardou
98e62b9bca [NTOS:MM] In page zeroing thread, zero more than one page at a time. 2021-08-04 17:48:39 +02:00
Jérôme Gardou
e98de5ef1f [NTOS:MM] Use KeZeroPages in zeroing thread 2021-08-04 17:48:39 +02:00
Jérôme Gardou
708dc6b7d6 [NTOS:MM] Do not zero-fill pages when not needed 2021-08-04 17:48:39 +02:00
Jérôme Gardou
42bec35f65 [NTOS:KE] Also rewrite KeZeroPages in assembly for amd64
Let's stick with "rep movsq" until we are able to have more precise benchmarks
2021-08-04 17:48:39 +02:00
Jérôme Gardou
51258295bd [NTOS:KE] Rewrite KeZeroPages in assembly
We spend a lot of time in this function, let's optimize it.
2021-08-04 17:48:39 +02:00
Marat Nagayev
240dc77e42 [NTFS] Check file isn't encrypted 2021-08-04 16:07:18 +03:00
Marat Nagayev
9be382ec98 [NTFS] Add new defines for file attributes 2021-08-04 16:07:18 +03:00
Jérôme Gardou
34662e2f6f [NTOS:MM] Copy the WorkingSet page when initializing "hand-built" process
CORE-17642
2021-08-04 11:49:38 +02:00
Katayama Hirofumi MZ
1d9542d239 [IMM32] Remove function names from TRACEs
CORE-11700
2021-08-04 09:49:41 +09:00
Katayama Hirofumi MZ
692a30a84a [IMM32] ImmCreateContext, ImmDestroyContext, DllMain etc. (#3867)
- Rewrite ImmCreateContext, ImmDestroyContext, and DllMain functions.
- Add g_hImm32Inst, g_bClientRegd, and g_SharedInfo global variables. Delete g_dwImm32Flags (that was g_psi->dwSRVIFlags).
- Implement ImmLoadIME and ImmRegisterClient functions.
- Modify CLIENTIMC and IMEDPI structures. Move CLIENTIMC definition into ntuser.h.
- Add file win32ss/include/imetable.h.
- Rename SRVINFO_METRICS macro as SRVINFO_CICERO_ENABLED.
CORE-11700
2021-08-04 09:41:59 +09:00
Timo Kreuzer
c23ce9dfad [CRT_APITEST] Add static_crt_apitest 2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043628d97 [PSDK] Add some missing ARM definitions 2021-08-04 02:03:07 +02:00
Timo Kreuzer
e91f201be2 [CRT] Implement crt_process_init() 2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043b76e85 [CRT] Improve CMake files 2021-08-04 02:03:07 +02:00
Timo Kreuzer
950e814377 [CRT] Fix _fmode
Remove mingw-w64 version of _fmode. _fmode should not be linked directly into the executable. Instead, the export from msvcrt should be used. On Windows 10 it's defined to *__p__fmode(), which is exported from ucrtbase.dll
Also _fmode in msvcrt.dll is initialized with 0.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
296e07b94d [CRT] Fix some data exports
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0.
* _fileinfo is initialized with -1
* _aexit_rtn is a pointer, not a function
* Fix _sys_nerr
2021-08-04 02:03:07 +02:00
Timo Kreuzer
5f548654f4 [CRT_APITEST] Add tests for data exports 2021-08-04 02:03:07 +02:00
Timo Kreuzer
379957424c [CRT] Fix some _CRTIMP
Get rid of the ugly __MINGW_IMP_SYMBOL hacks.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
b05cc36208 [CRT] Fix CRT headers a bit
* Remove unused internal version of float.h
* Define _STATIC_ASSERT in crtdefs.h
* Add some missing declarations
2021-08-04 02:03:07 +02:00
Timo Kreuzer
0f3d052af9 [CRT] Remove _fmode and _commode initialization
This "initialization" copies the value of the local variable to the one exported from msvcrt, which is the same. Also there shouldn't be a local version of the variable in the first place.
2021-08-04 02:03:07 +02:00
Katayama Hirofumi MZ
7507a8f192 [IMM32] Rewrite ImmInstallIMEA (#3873)
Implementing Japanese input... CORE-11700
2021-08-04 07:32:13 +09:00
Jérôme Gardou
bd6fb80867 [WIN32K:NTUSER] In debug builds, enable free & tail checking when creating heaps
Actually catches bugs
2021-08-03 23:13:19 +02:00
Jérôme Gardou
b783b16cef [WIN32K:USER] Fix potential use after free when painting child windows 2021-08-03 23:13:19 +02:00
Jérôme Gardou
d958dc9bc2 [WIN32K:NTUSER] Assert global user lock is held exclusively when using global & desktop heaps
They're explicitly not serialized because we count on this.
2021-08-03 23:13:19 +02:00
Jérôme Gardou
8c098ee8d2 [WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap 2021-08-03 23:13:19 +02:00
Jérôme Gardou
6ec0420dc6 [WIN32K:NTUSER] Allocate & free timers under global user lock 2021-08-03 23:13:19 +02:00
Jérôme Gardou
515d83a883 [WIN32K] On init, start by initializing NtUser stuff
Allocate gpsi (Global Server Info) after initializing & grabbing Userlock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
be6a6b806a [NTOS:MM] Remove dead code 2021-08-03 10:57:12 +02:00
Jérôme Gardou
c6d08c4828 [CMAKE] Update DLL base addresses 2021-08-03 10:36:32 +02:00
Victor Perevertkin
f777e6bd24 [GITHUB] Build Release configuration for all compilers 2021-08-02 20:23:23 +03:00
Victor Perevertkin
5176f580e5 [CMAKE] Add memcmp to libntoskrnl for both clang and clang-cl 2021-08-02 20:23:22 +03:00
Victor Perevertkin
03506b90e0 [MSVCRTEX] Add some routines required for clang optimizations
- Include exp2* in all clang builds
- Include __aulldiv for i386 ones

Those are required, at least for clang-cl Release configuration
2021-08-02 20:23:18 +03:00
Nexware
14fbe80c4a [CONFIGURE] Make configure.sh print out an error when CMake fails 2021-08-02 01:40:43 +03:00
Robert Naumann
a0235bf877 [UXTHEME] Fix incorrect part IDs in button class map.
Wine Patch by Zhiyi Zhang. (Commit ec82a0ebe65a0bd9f41c743d301c853e77dd8b8b)
2021-08-01 12:22:58 +02:00
George Bișoc
632fa1cfbe [NTOS:SE] Handle the reference logon session of the token
When creating or duplicating an access token object, make sure that the logon session is getting referenced by the token must be inserted onto the logon reference member (a.k.a LogonSession) for proper logon session referencing tracking.

Also when a token object is about to be destroyed or that we are taking away a reference session from it, we must ensure that the referenced logon session data gets removed from the token in question.
CORE-17700
2021-07-31 17:23:05 +02:00
George Bișoc
5e51f8dad2 [NTOS:SE] Implement logon reference insertion/removal to tokens 2021-07-31 16:11:03 +02:00
George Bișoc
7692c10527 [NTOS:SE] Unify all the SRM tags in one place
And rename SEP_LOGON_SESSION_TAG and SEP_LOGON_NOTIFICATION_TAG to TAG_LOGON_SESSION and TAG_LOGON_NOTIFICATION respectively.
2021-07-31 16:10:50 +02:00
Roman Masanin
be3c532bf4 [ARM/CRT] Refactor several functions (#3865)
- Make __fto64 function more readable
- Call worker function directly for __rt_sdiv/udiv
- Adapt __rt_sdiv64/udiv64 asm shims accordingly
- Add header files to CMake source list

CORE-17607 CORE-17614 CORE-17703 CORE-17604

Addendum to f2bc1f0e, e448094e and 54406bf4.
2021-07-31 11:24:03 +03:00
Katayama Hirofumi MZ
d7f13aa696 [IMM32] Improve ImmSimulateHotKey (#3858)
- Improve ImmSimulateHotKey function.
- Modify IMEDPI structure.
CORE-11700
2021-07-31 15:56:11 +09:00
Katayama Hirofumi MZ
89cb8a38b3 [IMM32] Rewrite ImmEnumInputContext (#3859)
- Rewrite ImmEnumInputContext function.
- Modify NtUserBuildHimcList.
CORE-11700
2021-07-31 15:45:07 +09:00
Stanislav Motylkov
54406bf4f0 [CRT/ARM] __fto64: Assembly wrappers are actually not needed anymore
Addendum to e448094e. CORE-17703 CORE-17604
2021-07-30 22:48:03 +03:00
Jérôme Gardou
b0dfe20981 [NTOS:MM] Fix MiIsUserPte inline 2021-07-30 18:54:54 +02:00
Victor Perevertkin
49cfac17c5 [FFS] Remove the FFS/UFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at 3a3ef631d1

The driver is written by Lee Jae-Hong, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11040
2021-07-30 17:14:57 +03:00
Victor Perevertkin
2e2190df57 [REISERFS] Remove the ReiserFS driver
The upstream driver is not maintained and the file system itself
is in a semi-abandoned state.
Originally imported at e308102f4a

The driver is written by Mark W Piper, updated by Bo Brantén.
ReactOS porting made by Peter Hater and Pierre Schweitzer.
Follow updates at http://www.acc.umu.se/~bosse/

FS Recognizer code is left to keep the FS support as an
installable driver.

CORE-11005
2021-07-30 17:14:53 +03:00
Roman Masanin
99ba98468f [CRT_APITEST] Add tests for __dtoi64/dtou64/stoi64/stou64 on ARM (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
e448094e74 [CRT/ARM] Implement __dtoi64/dtou64/stoi64/stou64 functions (#3848)
CORE-17703 CORE-17604
2021-07-30 14:20:23 +03:00
Roman Masanin
fd8baca9f2 [CRT/ARM] Fix modulus on division (#3856)
This fixes all tests added in 759bdedc. Addendum to f2bc1f0e.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:44:16 +03:00
Stanislav Motylkov
759bdedc1e [CRT_APITEST] Add tests for __rt_sdiv/udiv/sdiv64/udiv64 on ARM
Addendum to f2bc1f0e and f1e2c6cb.

CORE-17607 CORE-17614 CORE-17604
2021-07-29 13:37:07 +03:00
Katayama Hirofumi MZ
e996662afb [IMM32] s/idThread/dwThreadId/
- Rename idThread variable as dwThreadId.
- Rename idImeThread variable as dwImeThreadId.
CORE-11700
2021-07-29 08:21:33 +09:00
Katayama Hirofumi MZ
f972a9fbd5 [IMM32] Rewrite ImmSetCompositionWindow (#3855)
Implementing Japanese input... CORE-11700
2021-07-28 23:26:02 +09:00
Katayama Hirofumi MZ
8e1dea0c8c [IMM32] Implement ImmLoadLayout (#3854)
Implementing Japanese input... CORE-11700
2021-07-28 23:25:10 +09:00
Katayama Hirofumi MZ
fb2aef9e4e [IMM32] Rewrite ImmNotifyIME (#3853)
Implementing Japanese input... CORE-11700
2021-07-28 23:24:09 +09:00
Katayama Hirofumi MZ
a71de262d3 [IMM32] Rewrite ImmSetStatusWindowPos (#3852)
Implementing Japanese input... CORE-11700
2021-07-28 23:23:09 +09:00
Timo Kreuzer
da2a5673e7 [CRT] Fix _matherror and _setusermatherror
We previously used 2 different versions: one from wine and one from mingw-w64.
The former was used in msvcrt, the latter was statically compiled into the executable. When using MS libs, there is only one _matherr, which is statically linked into the executable and does nothing (it's not really a function for users to be called).
_setusermatherror should only exist in msvcrt and not statically, which wouldn't work at all.
2021-07-27 22:08:58 +02:00
Timo Kreuzer
486a4d93ed [CRT] Define NULL in crtdefs.h 2021-07-27 22:08:58 +02:00
Jérôme Gardou
ce65553eaa [NTOS:MM] Annotate some functions with regards to MmPfnLock
Also fix MI_ASSERT_PFN_LOCK_HELD macro.
Now in debug builds, SpinLocks are always non-zero when held.
2021-07-27 15:36:55 +02:00
Jérôme Gardou
6150dc994a [NTOS:MM] Always release PFN lock in MmDereferenceSegmentWithLock
All callers release it after calling it.
CORE-17698
2021-07-27 15:36:55 +02:00
Timo Kreuzer
ecf3416f49 [VIDEOPRT] Fix updating of new registry path values
CORE-17688
When a new driver is installed for the same device (like VBoxVideo), it uses the same hardware enum registry key and thus reuses the same DisplayId and the same display registry key. Therefore we need to update the setting in that key, even when the key already exists.

This seems to work good and not cause any issues, but testing indicated that on Windows some values are only updated, when the driver has changed. If neccessary, this can be achieved by updating and querying the ActiveService value in the device enum key (e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_80EE&DEV_BEEF&SUSYS_00000000&REV_00\3&267a616a&0&10\Control: ActiveService). If that doesn't match the current device name (from DriverExtension->RegistryPath) the values should be copied over.
2021-07-27 14:44:14 +02:00
Timo Kreuzer
204626f793 [WIN32K] Fix uninitialized variable 2021-07-27 14:44:14 +02:00
Timo Kreuzer
f1e2c6cbd0 [CRT/arm] Update file headers to new format and change license to MIT
* Add Raman Masanin to copyrights
* Add some comments
* Return long long from __rt_sdiv (no functional difference, just for clarity)
2021-07-27 14:42:55 +02:00
Serge Gautherie
9a42267b06 [CPPRT] arm: Add 2 'MSVCRTEX_eh_vector_*structor_iterator' aliases
CORE-17606
2021-07-26 09:58:20 +03:00
George Bișoc
e2a8585edc [NTOS:SE] Remove redundant commented call on token duplication
When duplicating an access token, the authentication ID is already copied from the existing token to the new one anyway so there's no point on having the commented call still left in the code.
2021-07-25 18:02:32 +02:00
Stanislav Motylkov
a1ebce3aac [DRWTSN32] Fix Clang build. Addendum to bdab437f.
Also use a macro for better code readability.

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2021-07-25 18:14:23 +03:00
Stanislav Motylkov
bdab437fa4 [DRWTSN32] Recognize STATUS_ASSERTION_FAILURE as exception number 2021-07-25 15:32:08 +03:00
Katayama Hirofumi MZ
ecb0c0963d [IMM32] Imm(Lock|Unlock)ImeDpi and ImmSetOpenStatus (#3830)
- Add IMEDPI structure to ntuser.h.
- Implement ImmLockImeDpi/ImmUnlockImeDpi functions.
- Rewrite ImmSetOpenStatus function.
- Modify some NTUSER function prototypes.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:57:57 +09:00
Katayama Hirofumi MZ
97847f2078 [IMM32] Improve ImmGetImeInfoEx (#3833)
- Rewrite ImmGetImeInfoEx function.
- Implement CtfImmIsTextFrameServiceDisabled function.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:56:17 +09:00
Katayama Hirofumi MZ
5afc324359 [IMM32] Improve ImmUnlockClientImc and Imm32HeapAlloc (#3834)
- Fix Imm32HeapAlloc function.
- Fix ImmUnlockClientImc function.
CORE-11700
2021-07-25 11:55:03 +09:00
Roman Masanin
f2bc1f0e11 __rt_div fixes for arm (#3843)
[CRT/arm] Fix __rt_udiv and __rt_sdiv
2021-07-24 20:23:58 +02:00
Joachim Henze
c30b1fe893 [SHELL32] Update de-DE.rc in IDD_BROWSE_FOR_FOLDER_NEW
More space for the german text in that button.
Correct the keyboard accelerator.
2021-07-24 15:11:54 +02:00
Mark Jansen
61e7ea5be5 [SHELLUTILS] Fix FAILED_UNEXPECTEDLY macro evaluating twice 2021-07-23 22:10:36 +02:00
Mark Jansen
d039653959 [SHELL32] CDefView: Respect item attributes 2021-07-23 22:10:36 +02:00
Mark Jansen
91e63ee0b5 [FONTEXT] Cache attributes, handle sorting 2021-07-23 22:10:30 +02:00
Timo Kreuzer
cb9b538725 [CMAKE] Turn all warnings into errors on MSVC x86 2021-07-23 22:03:48 +02:00
Timo Kreuzer
41bc57ddf0 [REACTOS] Silence warnings in 3r-party code 2021-07-23 22:03:48 +02:00
Timo Kreuzer
5d8e834897 [REACTOS] Fix a number of MSVC warnings 2021-07-23 22:03:48 +02:00
Timo Kreuzer
b1c6c91d1f [USETUP] Fix invalid use of character count instead of byte count 2021-07-23 22:03:48 +02:00
Timo Kreuzer
a3763c61dc [PSDK][NDK] Use hex to define MIN/MAX constants like in native SDK
This fixes use of unary minus operator on unsigned type warning.
2021-07-23 22:03:48 +02:00
Jérôme Gardou
2289deb849 [KMTESTS:NTOS_IO] Fix check of spinlocks in case of checked builds
Down back to zero failures
2021-07-23 17:40:57 +02:00
Joachim Henze
59e1b7848b [EVENTVWR] Update other languages RCs also CORE-17699
Use a capital letter for the /L parameter
because the Shells default font in the
help dialog makes a small L look like a small I.
MS also often does use that trick
to differentiate.
2021-07-23 01:37:17 +02:00
Joachim Henze
95f64a200f [EVENTVWR] Update de-DE.rc CORE-17699 2021-07-23 01:23:36 +02:00
Timo Kreuzer
7100a24fc3 [CRT] Remove checkstk_ms from build (it was unused) 2021-07-20 23:13:03 +02:00
Timo Kreuzer
8c4aff39a8 [CRT] Refactor CMake files 2021-07-20 23:13:03 +02:00
Timo Kreuzer
3e1454c739 [HAL/APIC] Make the real time clock more precise
The interval time is now calculated in 0.1ns precision and a running fraction on the 100ns interval is updated on each clock interrupt.
Also adjust minimum, maximum and default clock rate to what Windows uses.
2021-07-19 23:05:03 +02:00
Timo Kreuzer
aa3ef4c632 [HAL/APIC] Fix clock initialization
Previously we enabled the timer interrupt, before the kernel was notified of our time increment, so when a clock interrupt happened, it would increment the tick count, but add 0 to the system time, resulting in an invalid state, in which timers would be inserted into the wrong timer table slot. Fixes CORE-16253
2021-07-19 23:05:03 +02:00
Timo Kreuzer
aedb97df47 [HAL/APIC] Use APIC_CLOCK_VECTOR everywhere, instead of keeping separate definitions 2021-07-19 23:05:03 +02:00
Joachim Henze
a559d830b5 [BOOTDATA] Update readme.txt
Consistency regarding URLs:
- some URLs had the trailing slash, some had not
- moving all URLs to EOL makes it more convenient to copy-paste them
2021-07-19 01:05:00 +02:00
Joachim Henze
6e177edbad [FONTEXT] Add de-DE translation CORE-17692 2021-07-19 00:33:39 +02:00
Joachim Henze
7b98717c6a [FONTEXT] Improve it-IT.rc comments
addendum to (#831)
2021-07-18 23:56:31 +02:00
Joachim Henze
1078340f5c [SYSSETUP] Update de-DE.rc
The buttons name on the last dialog of 2nd stage
is "Fertig" and not "Beenden".
So make the help-texts consistent with that.
2021-07-18 17:51:44 +02:00
Jose Carlos Jesus
e4bfe8f78b [EVENTVWR] Add a context menu to TreeView items. (#3828)
Same as in Windows XP/2003.
+ Specify a default extension when opening or saving an event-log file.
2021-07-17 19:26:48 +02:00
Eric Kohl
4cae349811 [ADVAPI32][SERVICES] Use the context handle to encrypt and decrypt service passwords 2021-07-17 16:26:16 +02:00
Katayama Hirofumi MZ
3965c93732 [IMM32] Rewrite ImmGetStatusWindowPos (#3824)
Rewrite ImmGetStatusWindowPos function. CORE-11700
2021-07-16 07:30:55 +09:00
Katayama Hirofumi MZ
0966e32146 [IMM32] Rewrite ImmGetCandidateWindow (#3823)
Rewrite ImmGetCandidateWindow function. CORE-11700
2021-07-16 03:04:00 +09:00
Hervé Poussineau
ad370238d7 [NTOS:PS] Support using QUOTA_LIMITS_EX in NtSetInformationProcess(ProcessQuotaLimits)
Both QUOTA_LIMITS and QUOTA_LIMITS_EX are already supported in PspSetQuotaLimits,
but this was broken by a330b56787
2021-07-15 19:33:45 +02:00
George Bișoc
32a45ce15c [KMTESTS:SE] Implement initial logon session tests
This implements tests for SeMarkLogonSessionForTerminationNotification exported routine so far.
2021-07-15 19:31:46 +02:00
George Bișoc
506cee3219 [NTOS:SE] Implement logon session termination notification
Note to SELF and EVERYONE: the commit implements the initial logon session termination notification implementation, the SeMarkLogonSessionForTerminationNotification function, but as it currently stands there are several other tasks to be addressed in the future in order for the logon termination notification to be fully completed. The tasks as of which are.

1. Our SepRmDereferenceLogonSession is not fully implemented, as it doesn't inform the LSA and filesystems of logon deletion notification
2. Implement two worker routines that are actually in charge of such tasks of informing LSA and FSDs
3. Perform logon deletion
4. Do further investigations and check whatever that is left to address, if any
2021-07-15 19:31:46 +02:00
Doug Lyons
34d5d1dbd4 [DDRAW] ddraw.c ddraw7_FlipToGDISurface() to Wine-6.8 (#3827) CORE-15128
fixes CORE-15128 "Fall 0.1.3, black controls all over the desktop after exiting the game"
which regressed by 0.4.9-dev-155-g 9987f02917
(the sync to Wine Staging 3.3)

the patch on top of 0.4.15-dev-2923-g2210d23:
KVM: https://reactos.org/testman/compare.php?ids=78290,78295 LGTM
VBox: https://reactos.org/testman/compare.php?ids=78291,78294 LGTM
2021-07-15 19:04:46 +02:00
Eric Kohl
228dab60da [SAMSRV] SamrQueryInformationDomain: Older functions should call new functions 2021-07-15 17:25:06 +02:00
Katayama Hirofumi MZ
b06b628f30 [IMM32] Rewrite ImmGetIMEFileNameA/W (#3822)
- Rewrite ImmGetIMEFileNameA and ImmGetIMEFileNameW functions. CORE-11700
2021-07-15 23:01:50 +09:00
Katayama Hirofumi MZ
3714ee269b [IMM32] Rewrite ImmGetDefaultIMEWnd (#3821)
- Rewrite ImmGetDefaultIMEWnd function.
- Add g_dwImm32Flags global variable.
- Add Imm32QueryWindow helper function.
- Implement CtfImmIsCiceroEnabled function.
- Modify imm32.spec.
CORE-11700
2021-07-15 21:59:53 +09:00
Timo Kreuzer
77e891b8ab [WIN32K] Check if a graphics device already exists before trying to add it
This avoids DPRINTs alleging a failure to open a device.
Also improve another DPRINT.
2021-07-15 08:32:46 +02:00
Timo Kreuzer
39d8a822d2 [WIN32K] Fix detection of multiple display devices on VBox 2021-07-15 08:32:46 +02:00
Eric Kohl
2210d23fc7 [NETAPI32] Return the old values for NetGetJoinInformation() to fix Chrome Installer regression
Should fix CORE-17679
2021-07-14 15:22:17 +02:00
Katayama Hirofumi MZ
5a9c77b3be [IMM32_APITEST] Add clientimc testcase (#3815)
- Add clientimc testcase to imm32_apitest.
- Add "precomp.h".
CORE-11700
2021-07-14 01:19:35 +09:00
Katayama Hirofumi MZ
192981a1fe [IMM32] Rewrite ImmGetCompositionWindow (#3820)
Rewrite ImmGetCompositionWindow function. CORE-11700
2021-07-13 21:13:39 +09:00
Katayama Hirofumi MZ
1558e6d0b3 [IMM32] Rewrite ImmGetCompositionFontA/W (#3813)
- Rewrite ImmGetCompositionFontA and ImmGetCompositionFontW functions.
- Add INIT_* macro definitions in <ddk/imm.h>.
CORE-11700
2021-07-13 20:51:28 +09:00
Katayama Hirofumi MZ
ee3b5b44c1 [IMM32] Rewrite ImmGetCandidateListCountA/W (#3812)
Implement ImmGetCandidateListCountA and ImmGetCandidateListCountW functions by using newly defined ImmGetCandidateListCountAW function. CORE-11700
2021-07-13 20:17:17 +09:00
Joachim Henze
a5365194f4 [COMCTL32] Listview: Only apply horizontal offset when setting header position CORE-17674
This imports
Wine commit d92906249f (diff-7f0ae6301b1f6ea1128640b76cd831308e24466f15399de6d5040557b79f0f16)
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Thanks to Doug Lyons who picked the fix for us from Wine 6.0

It fixes for us CORE-17674 "Corruption of the listview header"
which regressed by 0.4.14-dev-150-g 00f14ee1f2
when we synced to Wine Staging 4.18

Testbot results of the patch:
KVM https://reactos.org/testman/compare.php?ids=78225,78270 LGTM
VBox https://reactos.org/testman/compare.php?ids=78226,78271 LGTM

I intend to port this back into 0.4.14RC94 also, so no official reactos release
will ever be affected by it.
2021-07-13 07:38:45 +02:00
Hervé Poussineau
a6005299c6 [DESK] Only try to restart graphic device after installation
If it fails, require a reboot.

CORE-17675
2021-07-12 23:51:39 +02:00
Timo Kreuzer
a9a22aeffe [GITHUB] Add MSVC Release builder 2021-07-11 21:45:29 +02:00
Timo Kreuzer
aea4cfba55 [CRT] Add some missing #pragma function 2021-07-11 21:45:29 +02:00
Timo Kreuzer
db41787951 [CRT] Fix handling of intrinsics and inline functions 2021-07-11 21:45:29 +02:00
Timo Kreuzer
f4de12e9f4 [CMAKE] Don't turn C4101 (unreferenced local variable) into an error on release builds 2021-07-11 21:45:29 +02:00
Timo Kreuzer
47372e2ac9 [NTOS:MM] Fix MiSetSystemCodeProtection
CORE-16387 CORE-17638
Windows only makes the header RO for session space mapped drivers (win32k, dx and display drivers)
2021-07-11 21:43:07 +02:00
Eric Kohl
ccde294b24 [SAMSRV] Older functions should call newer functions 2021-07-11 12:54:28 +02:00
Katayama Hirofumi MZ
e2d8837986 [BROWSEUI] Multithreaded auto-completion (#3794)
- Make auto-completion multi-threaded.
CORE-9281
2021-07-11 13:00:00 +09:00
Katayama Hirofumi MZ
92393a7517 [IMM32] Add some candidate handlings (#3799)
- Implement ImmGetCandidateListA and ImmGetCandidateListW, by using newly added ImmGetCandidateListAW function.
- Implement ImmLockClientImc and ImmUnlockClientImc functions.
- Modify imm32.spec.
- Remove #ifdef's.
CORE-11700
2021-07-11 09:48:15 +09:00
Hervé Poussineau
8379c87b0b [VIDEOPRT] Write correct MaxObjectNumber to registry
VideoPortMaxObjectNumber variable will be updated later in the function, if everything went fine.
2021-07-10 19:03:37 +02:00
Timo Kreuzer
9e6b0b16e9 [GDI32_APITEST] Clean up loaded fonts 2021-07-10 18:41:12 +02:00
Timo Kreuzer
8a437ac528 [ROSTESTS] Skip some test on x64 2021-07-10 18:41:12 +02:00
Timo Kreuzer
699041b221 [NTDLL_WINETEST] Unhack exception test and include it in x64
This removes the use of a precompiled header, as it causes problems with different usages of NONAMELESSUNION, which had to be hacked already, but this is still causing problems with GCC x64. It's just not worth the hassle to keep reactos specific hacks to save a few ms of compile time.
2021-07-10 18:41:12 +02:00
Timo Kreuzer
a656d23deb [RPCRT4_WINETEST] Fix 64 bit build
"Should be sent to wine"(tm)
2021-07-10 18:41:12 +02:00
Hervé Poussineau
0f6b9664cd [WIN32K] HACK: create a DC on all display devices and display wallpaper 2021-07-10 16:27:44 +02:00
Timo Kreuzer
49c16e661a [VIDEOPRT] Do not attach secondary devices to the device stack
This fixes display on the primary screen.
2021-07-10 16:27:44 +02:00
Hervé Poussineau
e9b5b22a8c [VIDEOPRT] Implement VideoPortCreateSecondaryDisplay 2021-07-10 16:27:44 +02:00
Timo Kreuzer
545352c655 [VIDEOPRT] Fix adapter id 2021-07-10 16:27:44 +02:00
Timo Kreuzer
af314557c0 [VIDEOPRT] Use new registry path 2021-07-10 16:27:44 +02:00
Timo Kreuzer
066337dc84 [VIDEOPRT] Refactor device map key creation 2021-07-10 16:27:44 +02:00
Hervé Poussineau
c3da00c42c [DESK] Start video card after its installation + let win32k detect it 2021-07-10 16:27:44 +02:00
Hervé Poussineau
6739fb1bc3 [WIN32K] Move detection of available display devices a new fonction EngpUpdateGraphicsDeviceList
- rewrite InitVideo() to call this new function
- also call it at the start of UserEnumDisplayDevices, to detect new potential devices
2021-07-10 16:27:44 +02:00
Hervé Poussineau
b5966977ac [VBEMP] Remove too verbose log, when debug is enabled in videoprt 2021-07-10 16:27:44 +02:00
Katayama Hirofumi MZ
d066dae7d9 [IMM32_APITEST] Add imm32_apitest test program (#3810)
Add a test program for imm32.dll as a proof of concept. CORE-11700
2021-07-10 00:05:43 +09:00
Katayama Hirofumi MZ
2fa0436372 [SDK][INCLUDE] Add offset info to INPUTCONTEXT (#3809)
Add offset and size information to INPUTCONTEXT structure for information help. CORE-11700
2021-07-09 23:31:42 +09:00
Robert Naumann
65387805a0 Add/Update German translation (#3805)
Add translations for:

- [CHARMAP_NEW]
- [COMP]
- [EVENTCREATE]
- [TIMEOUT]
- [WHERE]
- [UTILMAN]
- [CHKDSK]
- [SHELLEXT]: cryptext, devcpux, mycomp, netplwiz
- [MSXML3R]
- [THEMES]: Blackshade, Lunar

Update translations for:

- [CLIPBRD]
- [SHORTCUTS.INF]
2021-07-09 11:15:34 +02:00
Eric Kohl
7faca935e6 [SETUPAPI] PNP_RegisterNotification: Parameter 8 seems to be a process ID 2021-07-08 10:58:47 +02:00
Eric Kohl
f4033b02e4 [IDL] Formatting: Add a missing space 2021-07-08 10:55:13 +02:00
Katayama Hirofumi MZ
5c624d40e7 [IMM32] Rewrite ImmGetOpenStatus (#3804)
- Rewrite ImmGetOpenStatus function. CORE-11700
2021-07-08 14:24:27 +09:00
Katayama Hirofumi MZ
211de1257e [IMM32] Rewrite ImmIsIME (Retry) (#3803)
- Rewrite ImmIsIME function.
- Fix enum IMEINFOEXCLASS.
CORE-11700
2021-07-08 14:23:25 +09:00
Eric Kohl
4339ae8c7e [DDK] Add missing types DOMAIN_DISPLAY_USER, DOMAIN_DISPLAY_MACHINE and DOMAIN_DISPLAY_GROUP 2021-07-07 12:26:44 +02:00
Katayama Hirofumi MZ
6eeea92530 [IMM32] Rewrite IMCC handling functions (#3788)
Rewrite ImmCreateIMCC, ImmDestroyIMCC, ImmReSizeIMCC, ImmGetIMCCLockCount, ImmUnlockIMCC, ImmLockIMCC, and ImmGetIMCCSize functions. CORE-11700
2021-07-07 10:04:30 +09:00
Joachim Henze
7962db4cc1 [NETSHELL] Fix MSVC compiler warning in de-DE.rc
MSVC2010 compiler warning shellext\netshell\lang/de-DE.rc(118) : warning RC4206 : title string too long; truncated at 256
introduced by SVN r71434 == git 6ce8ee357a

The string was displayed properly and was not truncated even before this patch.
2021-07-07 01:51:33 +02:00
Joachim Henze
2cbb3ebdcb [SHELL32] EOL-white-space-fixes dialogs.cpp
Exclusively touching code that was recently
added during 0.4.15-dev'ing.
2021-07-06 23:27:32 +02:00
Doug Lyons
33c7c91b36 [SHELL32] Improve Start-Run Dialog Box Features (#3797) CORE-17351 CORE-16898
Improve performance of Start-Run Dialog Box Options

This will fix:
CORE-17351 'RunDlg fails calling URL without http'
and
CORE-16898 'RunCommand "iexplore" fails to open Wine IE'
Both regressed by 0.4.10-dev-419-g bfcbda227f
2021-07-06 19:36:15 +02:00
Serge Gautherie
76ce08dcec [WIN32U_2KSP4] Remove it (#3786)
ReactOS does not target 2000 SP4 anymore.
2021-07-06 21:05:01 +09:00
Serge Gautherie
64a72787f2 [VIDEOPRT] Fix 'Irp->IoStatus.Information' copypasta (#3777)
Addendum to 25eae4b (r54237).
CORE-17651
2021-07-06 12:32:23 +03:00
Joachim Henze
728f90dd18 [DESK] Update de-DE.rc regarding IDC_ADVAPPEARANCE_DISCLAIMER
It was recently added during 0.4.15-dev'ing.
2021-07-06 10:59:03 +02:00
Serge Gautherie
513f3d179c [NTDLL] LdrpWalkImportDescriptor(): Fix 'Status' copypasta
Addendum to f6cd52a (r70646).
2021-07-06 08:26:26 +02:00
Victor Perevertkin
4359f48838 [BTRFS] Do not rely on mountmgr when mounting volumes
This turns off mountmgr listening on new devices. Now
BTRFS will only be mounted on demand when OS asks for it. RAID
is not going to work this way probably (have anybody checked it at all?)

This is a temporary workaround for CORE-17469
2021-07-06 02:37:34 +03:00
Hervé Poussineau
93f986463a [VBEMP][VGAMP] Correctly fill VdmPhysicalVideoMemoryAddress/VdmPhysicalVideoMemoryLength
These variables must be filled by miniport if miniport is VGA-compatible.
2021-07-05 23:46:16 +02:00
Hervé Poussineau
8d24de7805 [BOOTDATA][VBEMP] Merge duplicated registry settings to vbemp_reg.inf 2021-07-05 23:44:35 +02:00
Hervé Poussineau
9b5d029c7a [FRAMEBUF] Early return if we got 0 available mode from video driver
This prevents allocating 0 bytes of memory a few lines later.
2021-07-05 23:44:35 +02:00
Hervé Poussineau
f26fe3f1f8 [PSDK] Add missing field 'pdo' in VIDEO_MONITOR_DEVICE structure 2021-07-05 23:44:35 +02:00
Jérôme Gardou
7448f4b807 [CMAKE] Turn ENABLE_ROSAPPS, ENABLE_ROSTESTS & ENABLE_WALLPAPERS into options
Enabling UI tools to toggle them easily
2021-07-05 15:24:46 +02:00
Katayama Hirofumi MZ
c238b554b1 [IMM32] Rewrite ImmGetConversionStatus (#3790)
Implementing Japanese input... CORE-11700
2021-07-05 21:20:20 +09:00
George Bișoc
6b0cdceda0 Merge branch 'se-qos' of https://github.com/GeoB99/reactos into GeoB99-se-qos 2021-07-05 11:01:49 +02:00
Jérôme Gardou
6e0d8de013 [KDGDB] Support "int 0x2c" for x86 & amd64 targets 2021-07-05 10:55:47 +02:00
Jérôme Gardou
e278b59d3a [CMAKE] Cache compiler paths to make some utilities happy
VS code being one of them
2021-07-05 09:56:41 +02:00
George Bișoc
7fb0d13a46 [NTOS:SE] Move SQOS capturing in its own file
* Quality of service kernel stuff bears nothing with security descriptors in anyway, so just have a file specifically for it
* Annotate the function arguments parameters with SAL
* Document the functions
2021-07-05 09:39:06 +02:00
Eric Kohl
fb8edf90a0 [SAMSRV] Start work on the display cache
Initialize the cache and fill it on demand
2021-07-04 12:45:19 +02:00
Eric Kohl
556cef5be3 [SAMLIB] Add function names to trace messages 2021-07-04 12:31:22 +02:00
George Bișoc
aa59e3ad00 [NPFS] The function call expects a pool type value, not a boolean value 2021-07-04 11:02:05 +02:00
George Bișoc
ff0a325116 [NTOS:SE] Allocate pool memory for security descriptor based on the caller pool type request
We're indiscriminately allocate the pool as non paged all the time, thus further ignoring the pool type parameter of the function.
2021-07-04 11:01:54 +02:00
Katayama Hirofumi MZ
89f5f5bb95 [IMM32] Rewrite ImmGetDescriptionA/W (#3780)
CORE-11700
2021-07-04 08:18:15 +09:00
Doug Lyons
e068c68452 [WORDPAD] Fix icons for toolbar and formatbar (#3792) CORE-5823
* CORE-5823 Fix icons for toolbar and formatbar in Wordpad.
which regressed by SVN r47776 == git 5dbfbb5201

* Add wordpad_ros.diff noting toolbar.bmp and formatbar.bmp are not wine-synced
2021-07-03 22:55:05 +02:00
Jose Carlos Jesus
879dd8f207 [SERVMAN] Add Portuguese (pt-PT) Translation 2021-07-03 21:50:13 +02:00
Jose Carlos Jesus
06e2d82bc3 [BOOTDATA] Add Portuguese translation to shortcuts.inf 2021-07-03 21:50:13 +02:00
Jose Carlos Jesus
217835648b [MSCUTILS][EVENTVWR] Add Portuguese PT translation 2021-07-03 21:50:13 +02:00
Jose Carlos Jesus
2ccca7fe30 [USETUP] Update Portuguese PT translation 2021-07-03 21:50:13 +02:00
Oleg Dubinskiy
94054a5735 [NTOS:IO] OpenRegistryHandlesFromSymbolicLink: Use REG_OPTION_NON_VOLATILE
Use REG_OPTION_NON_VOLATILE instead of REG_OPTION_VOLATILE in all ZwCreateKey calls of OpenRegistryHandlesFromSymbolicLink, since the keys created/opened by this function, should be non-volatile (in other words, be saved after reboot).
Also Device Parameters subkey that is created in IoOpenDeviceInterfaceRegistryKey (which uses that routine as well), is non-volatile too, so the parent keys whose contain it, cannot be volatile.
It will fix an error with status 0xc0000181 (STATUS_CHILD_MUST_BE_VOLATILE) occuring during loading kernel mode audio drivers from Windows XP/2003, especially checked (debug) versions, with my IoGetDeviceInterfaceAlias implementation. Also it may fix other error cases.
CORE-17361
2021-07-03 21:44:33 +02:00
George Bișoc
c869c4778d [NTOS:SE] Assign the control flag bits to the newly created security descriptor
We allocate memory pool for a new security descriptor with specific info filled by the caller but we don't set the control flag bits for the newly allocated descriptor, which is wrong. Originally spotted by Vadim Galyant.
CORE-17650
2021-07-03 17:20:48 +02:00
Eric Kohl
bf05fcbd29 [SAMSRV] Older functions should call newer functions 2021-07-03 14:46:32 +02:00
Joachim Henze
ae2ad29ad5 [RAPPS] Kill 2x EOL white-space in loaddlg.cpp
Both were introduced during 0.4.15-dev'ing
and were not in any earlier rls branches.
They were the only 2 in here btw.
2021-07-03 13:49:48 +02:00
Timo Kreuzer
adc86c2442 [NETAPI32] Zero out lpNameBuffer in NetGetJoinInformation
This is needed, because for some reason, otherwise RPCRT4 will assume that whatever value is in there is already the buffer and copy the string there.
Fixes exception in Chrome 48.
2021-07-03 12:56:48 +02:00
Timo Kreuzer
d24700f82e [RTL/x64] Properly handle UNW_FLAG_CHAININFO 2021-07-03 12:56:48 +02:00
Timo Kreuzer
6a9a739185 [ROSAUTOTEST] Run tests with current dir set to the test dir 2021-07-03 12:54:50 +02:00
Doug Lyons
847b037fe9 [WIN32K] Revert NtGdiStretchDIBitsInternal to Previous Logic (#3774)
Fixes gdi32:dib / gdi32:bitmap tests and SIMS graphics.
JIRA issue: CORE-16236
2021-07-03 00:34:43 +02:00
Katayama Hirofumi MZ
650cd77234 [IMM32] ImmDisableIME calls NtUserDisableThreadIme (#3776)
- Just call NtUserDisableThreadIme in ImmDisableIME directly. CORE-11700
2021-07-01 18:03:42 +09:00
Katayama Hirofumi MZ
561fa8d29b [SHELL32] Implement PathResolveA function (#3771)
- Follow-up of #3762.
- Add PathResolveA implementation by ANSI/Unicode string conversion.
CORE-12665
2021-07-01 08:42:29 +09:00
Jérôme Gardou
0ffbbab5a2 [CRT] Revert unwanted part of f30136bc79 2021-06-29 12:48:25 +02:00
Jérôme Gardou
37d0a9c3f4 [NTOS:KE] Unconditionally check IRQL when acquiring & releasing spinlock at DISPATCH_LEVEL 2021-06-29 11:49:20 +02:00
Jérôme Gardou
f30136bc79 [NTOS:KE] Test spinlock ownership on both UP & MP build
There is no reason not to, and this avoids introducing bugs stupidly.
2021-06-29 11:49:20 +02:00
Jérôme Gardou
835c30232e [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use
KD64: Raise to HIGH_LEVEL when entering trap
KDBG: lower to DISPATCH_LEVEL when applying IRQL hack & use a worker thread to load symbols
KD&KDBG: Actually unload symbols when required
2021-06-29 11:49:20 +02:00
Jérôme Gardou
54ecf703f2 [CMAKE:GCC] Produce RosSym data even when building with separate debug symbols 2021-06-29 11:49:20 +02:00
Jérôme Gardou
79c2972035 [NTOS:KD] Release lock before calling KdpPrint
Avoiding resursive spinlock acquisition
2021-06-29 11:49:20 +02:00
Jérôme Gardou
608032bd08 [NTOS:KD64][NTOS:KDBG] Fix spinlocks use
Raise IRQL before entering debugger, so that KeAcquireSpinLockAtDpcLevel works as expected.
 - HIGH_LEVEL since we don't know where we are coming from.

Do not try to read debug symbol from files in KDBG.
 - There is no reason that this works if Mm didn't map it in the first place.
2021-06-29 11:49:20 +02:00
Jérôme Gardou
5c332f6d36 [CMAKE] Get rid of freeldr_pe_dbg target
objcopy bug is now solved and I can't remember how this used to work anyway.
Use strip instead.
If you need to debug freeldr
 - set SEPARATE_DBG cmake var to TRUE
 - use qemu GDB stub
 - In GDB : add-symbol-file <build_dir>/symbols/freeldr_pe.exe
2021-06-29 11:49:20 +02:00
Jérôme Gardou
66dea86d68 [NTOS:KDBG] Use internal KdpDPrintf instead of DbgPrint
DbgPrint is implemented through a breakpoint, and then KD tries to recursively
lock its own spinlock. Call a lower level routine instead.
2021-06-29 11:49:20 +02:00
Jérôme Gardou
813d9cd2cc [WIN32K:NTUSER] Do not pass NULL keyboard layout to IntToUnicodeEx
There's an ASSERT on that
2021-06-29 11:49:20 +02:00
Jérôme Gardou
8d665f8959 [KMTESTS] Fix tests for uniprocessor checked build 2021-06-29 11:49:20 +02:00
Jérôme Gardou
e312a40ae2 [NTOS:KE] Implement KeAcquireInStackQueuedSpinLockForDpc & KeReleaseInStackQueuedSpinLockForDpc 2021-06-29 11:49:20 +02:00
Jérôme Gardou
56d0bc31ce [HAL] Hack KeTryToAcquireQueuedSpinlock & KeTryToAcquireQueuedSpinLockRaiseToSynch into a somewhat working implementation 2021-06-29 11:49:20 +02:00
Jérôme Gardou
91587a432b [NTOS:MM] Fix another instance of reentrant spinlock acquisition 2021-06-29 11:49:20 +02:00
Hermès Bélusca-Maïto
31322f5df9 [CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs.
- Implement caching of individual (newline-separated) text lines; this
  behaviour can be enabled with a flag (enabled by MORE):
  CON_PAGER_CACHE_INCOMPLETE_LINE.
  This feature is necessary when reading a text file, whose text lines
  may span across two or more successive temporary read buffers, and is
  required for correctly determining whether the lines being read are
  blank and may be squeezed.

- When squeezing blank lines, the blank-line check must be done for each
  line segment corresponding to the screen line (and following) that
  need to be displayed. This matches the behaviour of MS MORE.COM.

- Fix the IsBlankLine() check to not consider FORM-FEEDs as being blank
  characters: This is necessary for correctly handling FORM-FEED
  expansion. Also note that MS MORE.COM only checks for spaces and TABs,
  so we are slightly overdoing these checks (considering other types of
  whitespace).

- Get rid of ConCallPagerLine() and the intermediate CON_PAGER_DONT_OUTPUT
  state flag that were used repeatedly for each and every small line
  chunks. Instead, call directly the user-specified 'PagerLine' callback
  when we are about to start treating the next line segment to be
  displayed (see comment above).

- Fix the exit return condition of ConPagerWorker(): it should return
  TRUE whenever we displayed all the required lines, and FALSE otherwise.
  Otherwise, the previous (buggy) condition on the data being read from
  the text file, may lead to the prompt not showing when a screenful of
  text has been displayed, if it happened that the current text buffer
  becomes empty at the same time (even if, overall, the text file hasn't
  been fully displayed).

- In MorePagerLine(), when we encounter for the first time a blank line
  that will be squeezed with other successive ones, display a single
  blank line. But for that, just display one space and a newline: this
  single space is especially needed in order to force line wrapping when
  the ENABLE_VIRTUAL_TERMINAL_PROCESSING or DISABLE_NEWLINE_AUTO_RETURN
  console modes are enabled. Otherwise the cursor remains at the
  previous line (without wrapping), and just outputting one newline will
  not make it move past 2 lines as one would naively expect.
2021-06-28 21:26:32 +02:00
Hermès Bélusca-Maïto
aff90f530c [CONUTILS:PAGER] Extract the character-specific handling out of the character-loop.
This also allows to factor out the ConCallPagerLine() call for outputting the pending text.
2021-06-28 21:26:32 +02:00
Hermès Bélusca-Maïto
ff445ca184 [CONUTILS:PAGER][MORE] Fix the default paging region.
- The column extent should cover the whole width of the console screenbuffer.
  On the contrary, the line extent covers only the number of lines that
  cover the current displayed console window.

- Since the console can be resized while the pager is prompting, we need
  to actually recalculate in the prompt routine the default number of
  lines for a screen.

- Reset s_nNextLineNo when paging a new file.
2021-06-28 21:26:31 +02:00
Hermès Bélusca-Maïto
f74a3f6e29 [CONUTILS:PAGER][MORE] Code style/formatting.
- Shorten the names of the flags: CON_PAGER_FLAG_*** --> CON_PAGER_***.
- Reorder few members in the CON_PAGER pager structure where they make sense.
- ScreenColumns, ScreenRows --> PageColumns, PageRows: keeping the open
  possibility for having a pager controlling a region of different size
  than the screen.
- Add doxygen documentation for ConWritePaging().
2021-06-28 21:26:30 +02:00
Victor Perevertkin
1c7f3476a0 [CMAKE] Use BUILD_MP CMake option correctly 2021-06-28 17:54:09 +03:00
Jérôme Gardou
ada609bdbc [PSDK] Alias _Check_return_ annotation to warn_unused_result attribute 2021-06-28 10:20:57 +02:00
Jérôme Gardou
e10892e4f4 [CRT] Put __MINGW_EXTENSION (whatever that means) in front of function declarations
Needed for next commit
2021-06-28 10:20:57 +02:00
Jérôme Gardou
d1f5c31820 [SDK] Add GCC overrides for SAL annotations
GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.

For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.
2021-06-28 10:20:57 +02:00
Jérôme Gardou
a28a34f108 [NDK][XDK] Remove _Must_inspect_result_ from RtlTimeFieldsToTime & RtlTimeToSecondsSince1970
WDK doesn't have it and it causes more mess than anything.
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
28c5f7538a [DDK] Do not put _Must_inspect_result_ on function returning void & without _Out_ parameters 2021-06-28 10:20:57 +02:00
Jérôme Gardou
46af941c4c [NTOS:FSRTL] Check return status of FsRtl locking functions
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
e55eeb2d9c [WDF] Synchronize function attributes between declaration & definition
Addendum to 1f377076d7
2021-06-28 10:20:57 +02:00
Jérôme Gardou
d924cb8271 [NTOS:CONFIG] Do not ignore Rtl*String functions return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
3ad38f29b5 [NTOS:OB] Use RtlInitUnicodeString for constant string
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
8178996559 [NTOS:SE] Do not ignore SepAccessCheckAndAuditAlarmWorker return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
07d38cd4c5 [NTOS:PO] Do not ignore IoRegisterPlugPlayNotification return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
230e6b9492 [NTOS:INBV] Do not ignore RtlUnicodeStringToOemString return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
838abc475c [NTOS:IO] Do not ignore RtlDuplicateUnicodeString return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
cf1a95a588 [NTOS:EX] Do not ignore PsCreateSystemThread return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
93c0d324e0 [NTOS:EX] Do not ignore RtlAnsiStringToUnicodeString return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
376fbc5242 [NTOS:MM] Check result of RtlCreateUnicodeString in MmGetFileNameForAddress
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
3f16c8615c [NTOS:IO] Check RtlCreateUnicodeString return value when initializing PnP services
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
24a4e12a76 [NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing Arc names
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
293f823053 [NTOS:IO] Check RtlAnsiStringToUnicodeString return value when initializing ramdisk
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
e961958823 [NSLOOKUP] Check WSAStartup return value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
6bf64780e4 [NET] Properly check return value of EnumServicesStatusW on first call 2021-06-28 10:20:57 +02:00
Jérôme Gardou
5aafeb473f [FLTMC] Do not ignore failures of some functions
Also reduce use of magic values.

CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
46394ab80d [RTL] In RtlReleasePrivilege, raise exception if restoring old privileges fails
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
fb9ebe17bf [RTL] When taking system volume ownership, assert that we succeeded to restore privileges
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
9c5b39e25a [RTL] Check and cascade down RtlGUIDFromString value
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou
900b6a5d56 [FREELDR] Check HwInterrupt return value
_Must_inspect_result_ is there for a reason
CORE-17637
2021-06-28 10:20:57 +02:00
Timo Kreuzer
8a68820429 [SDK] Add missing sal annotations in driverspecs.h and kernelspec.h
CORE-6706
2021-06-28 08:48:59 +02:00
Hermès Bélusca-Maïto
e7a5850d65 Revert "[SHELL32] Don't check for link files being targets for other link files. Addendum to 3a822e4f."
This reverts commit 3249a00364.
2021-06-28 04:11:00 +02:00
Hermès Bélusca-Maïto
3199fdbd44 [SHLWAPI] Fix a trivial bug in PathFileExistsDefExtW() that seems to exist since 16+ years in Wine.
Suppose dwFlags == 1 | 4 (i.e. skipping the flag 2).
Then the while-loop would only run once, because at the second iteration
(after dwWhich >>= 1; has been executed once), dwWhich value == 2, but
dwWhich & 0x1 == 0, which makes the while-loop condition false.
Instead the loop should run, but the handling of the extension should be
skipped.
2021-06-28 02:19:31 +02:00
Hermès Bélusca-Maïto
8ec3580123 [SHELL32] Add the handy WHICH_DEFAULT value to the list of flags in shlwapi_undoc.h.
- Add as well the undocumented 0x40 dwFlags value from shlwapi!PathFileExistsDefExtW()
  to the list.

- Fix a bug (also present in Win2k3) in PathResolveW() where, specifying
  the PRF_DONTFINDLNK flag, would also erroneously exclude checking for
  the .cmd extension as well (which was obviously NOT the original
  intention, from the name of the flag and the documentation as well:
  https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathresolve
  ).

Addendum to 3a822e4f.
2021-06-28 02:19:30 +02:00
Hermès Bélusca-Maïto
3249a00364 [SHELL32] Don't check for link files being targets for other link files. Addendum to 3a822e4f. 2021-06-28 02:19:30 +02:00
Joachim Henze
adee5ca255 [COMCTL32] Addendum to last commit (#3674) CORE-17199
Keep that section like we had it to
support compilation on VS2010.
It does still work like that.

Addendum to commit 0.4.15-dev-2796-g e382b7bc35
2021-06-28 02:05:56 +02:00
Doug Lyons
e382b7bc35 [COMCTL32] Sync datetime.c to Wine-6.0 (#3674) CORE-17199
Fix automatic toggling of date display on second stage setup
Update comctrl from Wine with fix.

Sync datetime.c to Wine-6.0
2021-06-28 01:18:10 +02:00
Katayama Hirofumi MZ
3a822e4f74 [SHELL32] Implement PathResolveW function (#3762)
- Implement PathResolveW function.
- Implement PathQualifyA/W functions using newly-defined PathQualifyExW function.
CORE-12665
2021-06-28 07:53:26 +09:00
Joachim Henze
81f8bcea8c [DSOUND][WAVE] Workaround crash when recording sound in Scratch 1.4 CORE-13202
It regressed by SVN r44721 == git 356d4bab16092de335705e02b0e87698ec35c393
when #define USE_MMIXER_LIB was removed.

Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77914,77919 LGTM
 KVM https://reactos.org/testman/compare.php?ids=77913,77918 LGTM
2021-06-27 23:04:36 +02:00
Hervé Poussineau
979b7d4d8e [TCPIP] Fix bugcheck when using fragmented datagrams
Memory was allocated from paged pool, and freed at DISPATCH_LEVEL,
leading to the following bugcheck:

*** Fatal System Error: 0x000000c2
                       (0x00000009,0x00000002,0x00000001,0xB7C8A268)

Entered debugger on embedded INT3 at 0x0008:0x8058324B.
kdb:> bt
Eip:
<ntoskrnl.exe:18324c (sdk/lib/rtl/i386/debug_asm.S:56 (RtlpBreakWithStatusInstruction))>
<ntoskrnl.exe:89b21 (ntoskrnl/ke/bug.c:1066 (KeBugCheckWithTf))>
<ntoskrnl.exe:8a08b (ntoskrnl/ke/bug.c:1413 (KeBugCheckEx))>
<ntoskrnl.exe:abb1d (ntoskrnl/mm/ARM3/expool.c:431 (ExFreePoolWithTag))>
<tcpip.sys:13e42 (sdk/lib/drivers/ip/network/receive.c:114 (FreeIPDR))>
<tcpip.sys:14e09 (sdk/include/ddk/wdm.h:11462 (IPDatagramReassemblyTimeout))>
<tcpip.sys:11604 (sdk/lib/drivers/ip/network/ip.c:135 (IPTimeoutDpcFn))>
<ntoskrnl.exe:8b7d0 (ntoskrnl/ke/dpc.c:282 (KiTimerExpiration))>
<ntoskrnl.exe:8c2c8 (ntoskrnl/ke/dpc.c:592 (KiRetireDpcList))>
<ntoskrnl.exe:1420b2 (ntoskrnl/ke/i386/thrdini.c:294 (KiIdleLoop))>
<ntoskrnl.exe:23a54a (ntoskrnl/ke/i386/kiinit.c:687 (KiSystemStartupBootStack))>
2021-06-27 17:45:53 +02:00
Joachim Henze
cb408102cc [EXT2] Fix filesystem corruption regressions CORE-17572 CORE-17195
It regressed when we upgraded Ext2Fsd to version 0.69 from version 0.68
via CORE-13980 in 0.4.8-dev-117-g a1d7e9936d

The fix is a partial revert of that.
Thanks to the patches author Doug Lyons.

VBox https://reactos.org/testman/compare.php?ids=77904,77908 LGTM
KVM https://reactos.org/testman/compare.php?ids=77903,77907 LGTM
2021-06-27 16:21:32 +02:00
Timo Kreuzer
16e988d108 [HAL:APIC] Improve code
- Use an enum for the APIC registers
- Add support routine for SMP.
2021-06-26 21:10:43 +02:00
George Bișoc
e8277e51e2 [CSRSS] Fix MSVC AMD64 build 2021-06-25 12:42:02 +02:00
George Bișoc
03636df1e3 [CSRSS] Enable compilation of raise hard error function call code
With introduction of 74e527b, a330b56 and subsequently 2791ecd ReactOS can now properly set IOPL (I/O privilege level) for user mode trusted processes. With that said, enable the compilation of raise hard error function call code back.
2021-06-25 11:55:35 +02:00
George Bișoc
f144ba8d8b [CSRSS] Do not give IOPL to the Client/Server native process if ran on a AMD64 system
ProcessUserModeIOPL is strictly implemented for 32-bit architecture so it doesn't make any sense for CSRSS to gather user mode I/O privilege when that won't work anyway.
2021-06-25 10:33:28 +02:00
George Bișoc
2791ecd303 [NTOS:PS] Fix several issues within info classes in AMD64 build
ProcessUserModeIOPL, ProcessWow64Information and ThreadZeroTlsCell classes fail on AMD64 build because of wrong IQS values assigned to them. Also explicitly tell the compiler that ProcessUserModeIOPL is strictly for x86 as user mode I/O privilege level is 32-bit stuff.
In addition to that, implement IQS_NO_TYPE_LENGTH macro which it'll be used for classes such as ProcessUserModeIOPL where type length is not required and that it should be 0. With that said, we indirectly fix a size length mismatch issue with ProcessUserModeIOPL on 32-bit of ReactOS as well.
2021-06-25 10:33:18 +02:00
Jérôme Gardou
59cddd15e2 [NTOS:MM] Implement MmFlushImageSection(MmFlushForDelete)
CORE-17544
2021-06-25 10:28:51 +02:00
Jérôme Gardou
b3e9c89725 [NTOS:MM] Simplify refcounting when adding/deleting a page in a shared segment
CORE-17544
2021-06-25 10:28:51 +02:00
Jérôme Gardou
bec42b6530 [NTOS:MM] Do not call ExAllocatePool* with PFN lock acquired
Unsurprisingly, it actually might acquire it
2021-06-25 10:28:51 +02:00
He Yang
42e111f26b [ATL] Close m_hKey in CRegKey destructor and when attaching to a new key (#3764) 2021-06-24 23:50:01 +02:00
Jérôme Gardou
aa2697df2d [NTOSKRNL] Enforce -fno-common on GCC & CLang builds 2021-06-24 18:48:31 +02:00
Jérôme Gardou
c6e9fea844 [NTOSKRNL] Deduplicate some symbols 2021-06-24 18:48:31 +02:00
Jérôme Gardou
1c5ce8d11c [NTOS:MM] Fix-up call site of traced PFNs when serving a page fault 2021-06-24 18:48:31 +02:00
Jérôme Gardou
146337cc50 [NTOS:MM] Save caller address when tracing PFNs 2021-06-24 18:48:31 +02:00
Jérôme Gardou
aae161d061 [CMD] Do not use an intermediate buffer when reading lines from batch files
This is easier on the heap and improves cmd:batch winetest nicely
2021-06-24 15:03:36 +02:00
Jérôme Gardou
5ca83e516c [CMD] Improve performance a bit
Do not use custom alloc/free functions by default.
Do not free resources at process exit.
 - You're doing it brick by brick while the OS  & CRT do that with a bulldozer better than you do.
2021-06-24 15:03:36 +02:00
Joachim Henze
4130f0b1c5 [WIN32K] CreateDIBPalette addendum to #3758 CORE-17626
Fix compilation on older GCC4.7.2 toolchain
to not warn about universal zero initializer.
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
https://stackoverflow.com/questions/13746033/how-to-repair-warning-missing-braces-around-initializer
2021-06-23 21:37:53 +02:00
Joachim Henze
c596fd3ef6 [WIN32K] CreateDIBPalette SEH Simplification #3758 CORE-17626
Enter an SEH2_TRY one time and do all testing within it instead of entering the SEH_TRY multiple times.

The commit is an addendum to 0.4.15-dev-2734-g 514147776a

Thanks to patches author Doug-Lyons

This is 1:1 the final approved content of #3758, but I committed
by hand and closed the PR to avoid squash+rebase.
2021-06-23 19:59:42 +02:00
Jérôme Gardou
c8ce0cc434 [NTOS:MM] Fix one occurrence of MiDeletePte instead of MiDeletePde 2021-06-22 12:05:20 +02:00
Serge Gautherie
c2e454b439 [NTOS:CC] CcRosFlushVacb(): Fix Iosb annotation
Addendum to 2ba1926.
2021-06-22 10:33:45 +02:00
Serge Gautherie
eab2bb4b20 [NTOS:MM] MmFlushSegment(): Fix Iosb annotation
Addendum to 90c6a65.
2021-06-22 10:33:45 +02:00
Stanislav Motylkov
6d441f7d65 [XBOX][FREELDR] Initialize PCI-AGP bridge BAR values
This fixes problem with Xbox GPU not being detected as a children device.

CORE-17600 CORE-16216
2021-06-22 02:42:04 +03:00
Eric Kohl
13073e1acb [UMPNPMGR] PNP_GetDeviceStatus: Add status checks as documented in MS-PNPR
CORE-17527
2021-06-22 00:02:56 +02:00
Eric Kohl
37f38a80de [SAMSRV] Fix call to SamrCloseHandle in SamrGetDomainPasswordInformation 2021-06-21 21:38:42 +02:00
Eric Kohl
830e15b622 [UMPNPMGR] Add missing parameter checks to PNP_GetDeviceStatus 2021-06-21 21:33:24 +02:00
Jérôme Gardou
41de1bd724 [NTOS:KE] Do not allow waiting at IRQL >= DISPATCH_LEVEL when providing a timeout in KeWaitForMultipleObjects
CORE-6473
2021-06-21 11:42:01 +02:00
Jérôme Gardou
27fcfe66a2 [TCPIP][IP] Use an ERESOURCE as mutex for address files & connection end points
Spinlocks are not reentrant (and this is done a lot), using them forces us to have
an horrible hack in the kernel, which unschedules threads which are at DISPATCH_LEVEL
thus allowing another thread to take ownership of the spinlock while the unscheduled
thread should already hold it.

CORE-6473
2021-06-21 11:42:01 +02:00
Joachim Henze
10e48faf1d [USETUP] Update de-DE
Translate the Copying-bootloader status bar text
that was added during 0.4.15-dev'ing
2021-06-21 07:37:58 +02:00
Stanislav Motylkov
5697b48583 [NE2000] Add description for Realtek RTL8019AS (emulated by 86Box) 2021-06-20 20:20:16 +03:00
Stanislav Motylkov
6924b8ff39 [NE2000] Combine two INF files into one for ISA and PCI cards 2021-06-20 20:16:33 +03:00
Stanislav Motylkov
7b3691df8a [INF] machine.inf: Improve Russian translation 2021-06-20 16:58:07 +03:00
Stanislav Motylkov
c81e06ddc2 [INF] machine.inf: Minor whitespace fixes 2021-06-20 16:56:42 +03:00
Dmitry Borisov
18b4cc1479 [ISAPNP] Start the driver early in the boot
Because our child devices can have boot-start drivers
2021-06-20 19:24:32 +06:00
Dmitry Borisov
adac7dc2e5 [ISAPNP] Implement device configuration 2021-06-20 19:24:32 +06:00
Dmitry Borisov
8939abf113 [ISAPNP] Disable bus scan on unsupported platforms
This speeds up boot a bit and also decreases binary size.

- Introduce a new CMake define ISAPNP_ENABLE that defined only in x86 platform
  when ISA PnP is supported.
2021-06-20 19:24:32 +06:00
Dmitry Borisov
e318d22940 [ISAPNP] Disable I/O range check before activation
See Table A-2 of "Plug and Play ISA Specification 1.0a"
2021-06-20 19:24:31 +06:00
Dmitry Borisov
367f4b1581 [ISAPNP] Map configuration states to PnP states
Rework the hardware support code to avoid unneeded transitions
between configuration states.
- Only call WaitForKey when needed.
- Each PnP state transition causes the bus to move to WaitForKey state.

Besides, deactivate logical device during processing remove request.
2021-06-20 19:24:31 +06:00
Dmitry Borisov
d6dca83baf [ISAPNP] Reduce software delay 2021-06-20 19:24:31 +06:00
Dmitry Borisov
8ed43b6907 [ISAPNP] Fix descriptors and support alternative configurations
- Fix empty resource descriptors being created.
- Properly support IRQ descriptors.
- Introduce four helpers made to help search descriptors
  in the logical device's requirements.
- Implement support for memory descriptors and alternative configurations.
- DMA descriptors are always DMA_8.
2021-06-20 19:24:31 +06:00
Dmitry Borisov
b29a3ac524 [ISAPNP] Read all resources when detecting devices 2021-06-20 19:24:31 +06:00
Dmitry Borisov
ca42de9c31 [ISAPNP] Rewrite the tag parser
- Support all resource descriptors.
- Optimize card identification.
- Detect cards that is no longer present on the bus.
- Deactivate cards after the identification phase; they will be activated
  by start device IRP.
- Provide a device description and compatible IDs to the device manager.
- Prevent duplicate IDs across multiple logical devices.
- Suppress warning about the usage of literals in port addresses.
2021-06-20 19:24:31 +06:00
Dmitry Borisov
7c897dfbd1 [ISAPNP] Use the correct types for helper functions 2021-06-20 19:24:31 +06:00
Dmitry Borisov
c4b6330b14 [ISAPNP] Implement the Read Port resource management
Currently disabled until the kernel is ready
2021-06-20 19:24:31 +06:00
Dmitry Borisov
f15de15554 [ISAPNP] Fixes and improvements for IRP handling
- Implement device removal.
- Finish the Read Port special handling
  introduced in 21514e473f.
- Gracefully handle low memory situations.
- Implement IRQ translator.
- Correctly stub power IRP handling.
- Remove unneeded dispatch routines; implement WMI IRP handling.
- Do not handle requests like WRITE_CONFIG.
- Add a signature member to device extensions to make checks clearer.
2021-06-20 19:24:26 +06:00
Dmitry Borisov
e19595572a [ISAPNP] Implement querying bus information 2021-06-20 19:24:25 +06:00
Dmitry Borisov
8f36dee6ff [ISAPNP] Properly count descriptors
Fixes random pool corruptions
2021-06-20 19:24:25 +06:00
Dmitry Borisov
2d367001bd [ISAPNP] Fix device capabilities
- The bus does not supply an address.
- Read Port ID is always unique.

This reverts commit fc0a0b9f84.
See also commit 21514e473f.

CORE-17034
2021-06-20 19:24:19 +06:00
Dmitry Borisov
21514e473f [ISAPNP] Make Read Data Port PDO unique
This PDO is created only once during start of first FDO.
Other buses will remain in an inactive state until
the first FDO receives a remove request.

CORE-17034
2021-06-20 19:22:32 +06:00
Dmitry Borisov
c92bec609b [ISAPNP] Refactor string handling
- Don't allocate string buffers twice.
2021-06-20 19:22:32 +06:00
Dmitry Borisov
70ba96f164 [ISAPNP] Make the driver pageable 2021-06-20 19:22:31 +06:00
Dmitry Borisov
66c195755c [ISAPNP] Use pool tagging 2021-06-20 19:22:31 +06:00
Dmitry Borisov
8f44930f91 [ISAPNP] Code formatting
- Add SAL2 annotations.
- Use RTL_NUMBER_OF macro in kernel mode.
- Use better function/member names.
- Less hardcoded values.
- Add license information. See commit
  d9face83c6 for details.

No functional changes.
2021-06-20 19:22:31 +06:00
Serge Gautherie
ba77a09c04 [UNIATA] Workaround random crashes on Virtual PC (#3377)
I am not sure why this line was added.
I don't know how I could improve that case.
Then, disable it, for the time being.

Addendum to 4b9cf2e (r71252). CORE-12441 CORE-17371
2021-06-20 00:44:09 +03:00
Serge Gautherie
d65d4137d3 [UNIATA] BusMasterAdapters[]: 8086:7111 is really PIIX4, not PIIX3
Reverts a part of deaba45 (r57265).
2021-06-20 00:34:23 +03:00
Eric Kohl
be65a8568b [SAMLIB] Check the server name in the binding routine 2021-06-19 21:51:06 +02:00
Eric Kohl
5b6e8af1bd [SAMLIB] SamConnect: Pass a zero-terminated server name to SamrConnect 2021-06-19 20:29:24 +02:00
Stanislav Motylkov
a4405f9610 [PCI] Filter out devices with null vendor and device ID
Some virtual machines errorneously expose null PCI device function
on PIIX4 chipset where an USB controller should normally reside.

Windows pci.sys driver does not enumerate these devices.

Affected virtual machines:
- Connectix Virtual PC 5.1.370
- Connectix Virtual PC 5.2.418
- Microsoft Virtual PC 2004 SP1 (5.3.582.27)
- Microsoft Virtual PC 2007 SP1 (6.0.156.0)

Non-affected virtual machines:
- Connectix Virtual PC 4.0
- Microsoft Hyper-V

Fixes CORE-17636.
2021-06-19 20:58:27 +03:00
Doug Lyons
c7954134d0 [WIN32K] Revert incorrect part of R50928 for RealizePalette. (#3678)
Revert incorrect code for Realize Palette
Revert part of SVN R50928 that causes Durak card suites to have wrong colors.
SVN r50928 == git 5de8339cd1

JIRA issue: CORE-13748 <= Durak Example
JIRA issue: CORE-16510 <= GDIProg Example

The patch also fixes 2 crashes on each bot, although
it was not targeted for that explicitly:
KVM: https://reactos.org/testman/compare.php?ids=77304,77308 LGTM
VBox: https://reactos.org/testman/compare.php?ids=77305,77309 LGTM
2021-06-19 18:25:03 +02:00
Joachim Henze
514147776a [NTGDI] Fix potential BSOD 0x1E CORE-17626
in CreateDIBPalette() when passing invalid arguments to CreateDIBSection.
This could be triggered by using the broken test-application "GDIProg".

After this patch not only the BSOD is fixed but also the app does
properly start up, like it is the case on 2k3sp2.

Thanks to the patches author Doug Lyons.
2021-06-19 17:41:49 +02:00
Mark Jansen
560fdd150a [SDK] Add script to check includes with modified struct packing 2021-06-19 16:30:21 +02:00
Timo Kreuzer
b627352815 [NTOS][SETUP] Add x64 SMP kernel and make SMP the default boot mode on x64 2021-06-19 12:17:18 +02:00
Timo Kreuzer
400af0cfc5 [HAL] Add smp component and build x64 smp hal
Like the up component it contains the spinlock code and now also the HalpBuildType variable.
2021-06-19 12:17:18 +02:00
Timo Kreuzer
396167bc7e [NTOS:MM] Improve an ASSERT 2021-06-19 12:17:18 +02:00
Timo Kreuzer
33949028fb [NTOS:MM] Fix PFN lock usage 2021-06-19 12:17:18 +02:00
Timo Kreuzer
f4d47faeb7 [NTOS:KE] Fix usage of KTHREAD::SwapBusy 2021-06-19 12:17:18 +02:00
Timo Kreuzer
a011d19ed2 [NTOS:KE] Fix some locking issues 2021-06-19 12:17:18 +02:00
Timo Kreuzer
62f62da8ba [NTOS:KE] Fix KxReleaseSpinLock for 64 bit SMP builds 2021-06-19 12:17:18 +02:00
Timo Kreuzer
2ed56fa794 [NTOS] Fix build with CONFIG_SMP 2021-06-19 12:17:18 +02:00
Timo Kreuzer
a0fb02f7f3 [HAL] Fix build with CONFIG_SMP 2021-06-19 12:17:18 +02:00
Timo Kreuzer
d0f6d2cf6e [FREELDR/x64] Allow using memory above 4GB on x64
This splits MM_MAX_PAGE into the maximum addressable PFN (which is 2^20-1 on x86, 2^26-1 on x86PAE and 2^36-1 on x64) and the maximum mapped/accessible virtual memory MM_MAX_PAGE_LOADER (which is 4 GB on x86, since paging is disabled, but only 1 GB on x64, since only that much is identity-mapped).
2021-06-19 12:01:24 +02:00
Timo Kreuzer
e6fa62a8d2 [NTOS:MM/x64] Fix Interlocked(Compare)ExchangePte and PAGE_FROM_SSE for x64
This fixes using PFNs with more than 20 bits.
2021-06-19 12:01:24 +02:00
George Bișoc
5912c11650 [NTOS:SE] Minor refactor on NtOpenThreadTokenEx
- Remove a redundant call of ObReferenceObjectByHandle. Not only it didn't make much sense (we reference the object from thread handle and the new thread object referencing the same handle!), specifying a request access of THREAD_ALL_ACCESS for the thread object is kind of suspicious and all of these access rights are unwanted.
- Add some failure checks involving the CopyOnOpen code paths
- Add some DPRINT1 debug prints (concerning the CopyOnOpen code paths as usual)
2021-06-18 18:38:12 +02:00
Timo Kreuzer
5ee09256de [HAL] Add APIC hals to setup and livecd 2021-06-17 23:27:44 +02:00
Timo Kreuzer
64e52088d1 [HAL:APIC] Fix interrupt assignment
This is probably not how it is supposed to work, but the results are somewhat similar to what Windows has.
2021-06-17 23:27:44 +02:00
Timo Kreuzer
235d7472ba [HAL:APIC] Remove obsolete hacks
These hacks were used to work around broken VBox. VBox works fine without the hacks these days.
2021-06-17 23:27:44 +02:00
Timo Kreuzer
b7a149fcec [HAL:APIC] Code fixes
* Fix some broken code
* Add some ASSERTs
* Use ApicWriteIORedirectionEntry where appropriate
* Use KeQueryInterruptHandler/KeRegisterInterruptHandler to save/restore the old handler instead of saving the KIDTENTRY
* Move HalpProfileInterruptHandler to apictimer.c and implement it
* Use READ/WRITE_REGISTER macros
* Add some symbolic names
2021-06-17 23:27:44 +02:00
Timo Kreuzer
ee514e954b [MINIHAL] Compile less stuff 2021-06-17 23:27:44 +02:00
Timo Kreuzer
7243503916 [HAL] Rename apic.h to apicp.h and move it back to the apic folder 2021-06-17 23:27:44 +02:00
Hermès Bélusca-Maïto
4864c874a2 [NTOS:IOPNP] Both PNP_PROPERTY_REMOVAL_POLICY_OVERRIDE and PNP_PROPERTY_LOCATION_PATHS are unimplemented, return such status.
Fixes CID 1441387: Uninitialized scalar variable (UNINIT),
in the case of PNP_PROPERTY_LOCATION_PATHS.
2021-06-17 00:35:22 +02:00
Hermès Bélusca-Maïto
f2645e48b9 [NTOS:IO] Comment out (and explain why it is there) an unused LdrEntry assignment in IopInitializeBootDrivers(). CID 1237114 2021-06-17 00:35:22 +02:00
Hermès Bélusca-Maïto
fe416b67dc [NTOS:IO] Revert part of commit a82ff90b2: don't do direct ULONG data access: it might be unaligned.
Requested by Victor.
2021-06-17 00:35:21 +02:00
Hermès Bélusca-Maïto
32a82eb123 [NTOS:IO] Fix driverName.Buffer leak in some failure paths in IopGetDriverNames().
driverName.Buffer leaked when the "(!NT_SUCCESS(status) || ServiceName != NULL)"
case is taken because ServiceName != NULL, and some of the functions fail.
2021-06-16 22:18:02 +02:00
Hermès Bélusca-Maïto
e09d1dec7a [NTOS:IO] Fix basicInfo handling in IopGetDriverNames().
- Fix CID 1477246: Uninitialized pointer read (UNINIT) (happens in
  the last ExFreePoolWithTag(basicInfo, TAG_IO) call when the
  "(!NT_SUCCESS(status) || ServiceName != NULL)" case is not taken).

- Centralize all the ExFreePoolWithTag(basicInfo, TAG_IO) cleanups
  at the end of the function.

- Both cases "(driverName.Buffer == NULL)" and "(ServiceName != NULL)"
  can only be taken when basicInfo != NULL, so assert on this fact.
2021-06-16 22:18:02 +02:00
Hermès Bélusca-Maïto
0d28f27156 [NTOS:IO] Fix similar bugs in IopGetDriverNames(), IopInitializeBuiltinDriver() and IopLoadDriver().
- As they are initialized, some registry string values must be NULL-terminated.
- When retrieving REG_DWORD registry values, validate their length.
2021-06-16 22:14:01 +02:00
Hermès Bélusca-Maïto
a82ff90b21 [NTOS:IO] Minor code style changes...
- Fix/add comments;
- Reduce indentation level;
- Direct copy for registry integer values;
- Use for-loops for linked lists;
- Use ULONG when the API uses it (sizes for Ob, or REG_DWORD data in registry).
2021-06-16 22:14:01 +02:00
Joachim Henze
d042f51838 [LDR] Restore Logging when images overlap CORE-17635
This reverts
0.4.13-dev-284-g 74be88ac47

The logging is helpful to alert us when we should really
recalculate the base addresses for performance reasons.
Spams a bit sometimes, sure, but it's worth it!
2021-06-16 13:38:51 +02:00
Victor Perevertkin
3f601122bc [NTOS:MM] Fix placing entries into MmNonPagedPoolFreeListHead
When freeing pages, free page entries with pages num == 3 were
incorrectly treated as entries with pages num >= 4 and thus
their re-insertion was not triggered. That lead to non paged pool
fragmentation (can be triggered by kmtest:ExPools, for example)

Also, altered the index acquisition code for MmNonPagedPoolFreeList
entries so it looks more clear
2021-06-16 12:14:27 +02:00
Joachim Henze
a3cadf630a [COMCTL32] Strip EOL whitespace within ifdef __REACTOS__ section
no functional change.
Make that look beautiful before porting it back further.

Addendum to 0.4.15-dev-534-g 887764e607
(CORE-17062)
2021-06-16 11:41:56 +02:00
Joachim Henze
d5265b07bb [MSI] Enumerate only type DRIVE_FIXED CORE-17623 (& CORE-14432)
MSI on 2k3sp2 hides empty CD-ROM, and hides CD-ROM with iso mounted.
MSI on 2k3sp2 hides VBox shares, both: writable and read-only-ones.
MSI on 2k3sp2 hides floppy drives with a floppy img mounted.
MSI on XPSP3 hides a mounted writable USB stick.

Thanks to the patches author Doug Lyons.

This patch supersedes
0.4.15-dev-2651-g 864e20b881 (CORE-14432)
and we are also better than Wines
0dd0d879a1
2021-06-13 15:30:49 +02:00
Victor Perevertkin
05fb0f1c39 [GITIGNORE] Add compile_commands.json and .cache folder for clangd cache 2021-06-13 01:55:52 +03:00
Adam Słaboń
9764fde2d9 [WIN32K] Add x64/arm exports
Checked against Windows XP x64 and Windows 8 ARM.
2021-06-12 14:11:14 +02:00
Victor Perevertkin
34593d933b [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
Hermès Bélusca-Maïto
4b4ffa92f5 [NTOS:IO] Modify when 'PartitionBuffer' and how 'DriveLayout' are freed in IopCreateArcNamesDisk().
- Manage the lifetime of the temporary 'PartitionBuffer' buffer where
  it is locally used only, and free it as soon as possible, just after
  calculating the sector checksum. No need to then free it outside of
  the main for-loop.

- When the 'DriveLayout' buffer is freed, ensure the pointer is NULL-ed
  (and assert this at the top of the main for-loop), since it can also
  be freed at cleanup outside this for-loop, and in this case a NULL
  check is performed.
  This will avoid the scenario of possibly double-freeing a pointer,
  in the case the 'DriveLayout' was previously freed (when e.g. reading
  the sector for checksum calculation failed), then the for-loop goes to
  the next disk and stops early.
2021-06-11 02:21:48 +02:00
Hermès Bélusca-Maïto
fdd74eb97e [NTOS:IO/FSTUB] Fix the determination of 'SingleDisk' in IoGetBootDiskInformation().
The purpose of 'SingleDisk' is the same as in the IopCreateArcNames()
function. It is an optimization for that when looking up the
firmware-recognized ARC disks list, in order to match one of these with
the current NT disk being analysed (see e.g. also in IopCreateArcNamesDisk()),
we avoid a possible IopVerifyDiskSignature() call and directly build a
corresponding ARC name NT symbolic link for it.

'SingleDisk' will actually be TRUE, whether the DiskSignatureListHead
list is empty or contains only one element: Indeed in only both these
cases, 'DiskSignatureListHead.Flink->Flink' will refer to the list head.
(If the list is empty but 'SingleDisk' is TRUE, this does not matter,
because the DiskSignatureListHead looking-up loop never starts.)
2021-06-11 02:21:47 +02:00
Hermès Bélusca-Maïto
99078646c3 [NTOS:IO] Avoid hardcoding variable types in sizeofs when possible. 2021-06-11 02:21:47 +02:00
Hermès Bélusca-Maïto
6e65e6b28d [NTOS:IO] Minor code style fixes (typos; improve comments/DPRINT; IN vs. OUT parameter). 2021-06-11 02:21:47 +02:00
Katayama Hirofumi MZ
afd349a93e [SHELL32_APITEST] Improve ShellExecCmdLine testcase more (#3736)
- Simplify code.
- Loose the condition of success.
- Add some missing tests.
- Close newly opened windows gracefully.
CORE-17351, CORE-16898, CORE-17612
2021-06-11 08:09:18 +09:00
Serge Gautherie
c2317d773e [CMAKE] host-tools: Define ROS_SAVED_* for MSVC_IDE only
Addendum to 18e95f5.
ROSBE-174
2021-06-11 02:08:12 +03:00
Oleg Dubinskiy
6e29107f31 [SOUNDS] Add new Recycle Bin system sound
Add new sound for Recycle Bin sound event.
Since this sound event is now working properly after some fixes in shell32 code, it's now possible for user to set the sound for this sound event manually.
But don't enable it by default, since it is also disabled on Windows Server 2003.
CORE-15868
2021-06-11 02:06:11 +03:00
Mark Jansen
675edad96f [RAPPS] Fix double free when closing rapps 2021-06-10 21:25:34 +02:00
Timo Kreuzer
9229e73f03 [HIDPARSER] Don't include pshpack1.h before including other headers
NEVER DO THIS! It is guaranteed to be wrong. Instead always individually pack single structures that need packing.
This fixes USB mouse on 64 bit builds.
2021-06-10 08:52:22 +02:00
Hermès Bélusca-Maïto
2dbbfe86ab [MORE] Use positional elements to build the MORE prompt, whose state is controlled by flags. 2021-06-10 04:10:55 +02:00
Hermès Bélusca-Maïto
558908e709 [MORE] Update and complete MORE's help usage.
And add french translation.
2021-06-10 02:36:12 +02:00
Jérôme Gardou
e70df4c633 [WIN32K:ENG] In EngLockDriverObj, properly return NULL when locking failed
CORE-15958
2021-06-09 18:27:12 +02:00
Katayama Hirofumi MZ
b552901df5 [MORE][CONUTILS] Implement missing features of the MORE command (#3658)
Implement missing features of the MORE command. Special thanks to @HBelusca. CORE-4019
2021-06-09 23:30:30 +09:00
Jérôme Gardou
afc27ab1aa [NTOS:MM] Handle PT references for page table faults in MmAccessFault
Idea from Timo Kreuzer
2021-06-09 11:27:18 +02:00
Jérôme Gardou
c7e09061ca [NTOS:MM] Get rid of MiQueryPageTableReferences 2021-06-09 11:27:18 +02:00
Timo Kreuzer
6a2eeaa5ae [NTOS] Implement MiIsPageTablePresent as a replacement for the abused MiQueryPageTableReferences 2021-06-09 11:27:18 +02:00
Jérôme Gardou
678923bf4b [NTOS:MM] In MiMakePdeExistAndValid, do not overly check PDE validity
It's "okay" to not #ifdef, but it's useless and confusing.
2021-06-09 11:27:18 +02:00
Jérôme Gardou
c8fb3f7514 [NTOS:MM] Implement proper refcounting of page tables on amd64
CORE-17552
2021-06-09 11:27:18 +02:00
Jérôme Gardou
3aa346c21f [NTOS:MM] Make MiIsEntireRangeCommitted 64-bits aware 2021-06-09 11:27:18 +02:00
Jérôme Gardou
8bfba59b3e [NTOS:MM] Add some DPRINTs when incrementing or decrementing PFN share count 2021-06-09 11:27:18 +02:00
Jérôme Gardou
a80ae8f2ea [NTOS:MM] Make MiCalculatePageCommitment 64-bits aware 2021-06-09 11:27:18 +02:00
Jérôme Gardou
b48e27ada1 [NTOS:MM] Add a few MiP*eToP*e helpers
And turn some of the existing ones into inline functions for the sake of type checking
2021-06-09 11:27:18 +02:00
Jérôme Gardou
ed1038ff9c [NTOS:MM] Properly initialize initial process address space on amd64
By applying the same kludge on the relevant MMPFNs than on x86
2021-06-09 11:27:18 +02:00
Jérôme Gardou
f9ea58dc97 [NTOS:MM] Unconditionally delete the PFN in MiDeletePte when PTE is in transition
When we will have a modified page writer, it will have to know if the written
page is stale when being done, and act accordingly.

CORE-8552
2021-06-09 11:27:18 +02:00
Jérôme Gardou
82dd1afe33 [NTOS:MM] Remove some dead code from legacy Mm 2021-06-09 11:27:18 +02:00
Jérôme Gardou
521d330d04 [CMD] Use GetFullPathName instead of copying buffers when resolving executable names
This properly strips spaces & dots at the end of the file.

Fixes the infinite loop with CreateProcess calling cmd over and over with e.g. 'cmd /c "some_script.bat   "'
Uncovered by recent ShellExecuteEx tests
Dedicated to Katayama for the trigger & Hermès for the tests
2021-06-09 11:23:39 +02:00
Katayama Hirofumi MZ
94d9e9c2a8 [USER32_APITEST] Add SetFocus testcase (#3732)
Investigate about setting keyboard focus. CORE-17550
2021-06-09 16:14:31 +09:00
Victor Perevertkin
d220ea3e3c [HIVESYS] Use "Primary Disk" writing for this driver load order group 2021-06-08 17:29:47 +03:00
George Bișoc
7ca6bfb994 [NTOS:SE] Use IQS_NONE for the first class which is not existent and barely used 2021-06-08 09:26:11 +02:00
George Bișoc
672c9068bb [NTOS:PS] Use IQS_NONE for classes that do not exist 2021-06-08 09:26:11 +02:00
George Bișoc
bbdb4d6340 [NTOSKRNL] Use CHAR for non existent classes
An alignment of 1 means no alignment required and the class doesn't exist. 0 shouldn't be used for alignment requirement in IQS_NONE!
2021-06-08 09:25:30 +02:00
Katayama Hirofumi MZ
c35a84985a [SHELL32_APITEST] Strengthen ShellExecuteEx testcase (#3731)
Investigate shell32!ShellExecuteEx function more. CORE-17351, CORE-16898, CORE-17612
2021-06-08 08:07:37 +09:00
Jérôme Gardou
a5ea259b28 [NTOS:MM] Fix remnants of CORE-17587 2021-06-07 17:04:18 +02:00
Jérôme Gardou
4ddc66f224 [NTOS:MM] Make MI_MAKE_HARDWARE_PTE_KERNEL actually respect the protection it is given
This one would set a page as writable & dirty even if MM_READONLY was passed
CORE-17587
2021-06-07 17:04:18 +02:00
Katayama Hirofumi MZ
46c84779b6 [CPL][APPWIZ] Follow-up of #3726
Sorry, #3726 doesn't fix CORE-5737. CORE-17550
2021-06-07 18:03:49 +09:00
Piotr Hetnarowicz
ab1f844189 [USETUP] Polish translation update (#3715) 2021-06-07 10:31:32 +02:00
Eric Kohl
4db8b82aeb [VIDEOPRT] Fix monitor ID decoding issues 2021-06-06 21:27:00 +02:00
George Bișoc
a330b56787 [NTOS:PS] Enable alignment probing for thread/process information classes
In addition to that, here are some stuff done in this commit whilst testing:

- ICIF_QUERY_SIZE_VARIABLE and friends were badly misused, they should be used only when an information class whose information length size is dyanmic and not fixed. By removing such flags from erroneous classes, this fixes the STATUS_INFO_LENGTH_MISMATCH testcases.

- Use CHAR instead of UCHAR for classes that do not need alignment probing, as every other class in the table do, for the sake of consistency.

- ProcessEnableAlignmentFaultFixup uses BOOLEAN as type size, not CHAR. This fixes a testcase failure on ROS.

- Check for information length size before proceeding further on querying the process' cookie information.

- ProcessHandleTracing wants an alignment of a ULONG, not CHAR.

- Move PROCESS_LDT_INFORMATION and PROCESS_LDT_SIZE outside of NTOS_MODE_USER macro case. This fixes a compilation issue when enabling the alignment probing. My mistake of having them inside NTOS_MODE_USER case, sorry.

- On functions like NtQueryInformationThread and the Process equivalent, complete probing is not done at the beginning of the function, complete probing including if the buffer is writable alongside with datatype misalignment check that is. Instead such check is done on each information class case basis. With that said, we have to explicitly tell DefaultQueryInfoBufferCheck if we want a complete probing or not initially.
2021-06-06 17:14:22 +02:00
Joachim Henze
d30a1673d4 [SHELL32_APITEST] ShellHook testcase Fix compiler error (addendum to #3289)
addendum to 0.4.15-dev-1123-g 0089291751

Fix a compiler error on RosBE2.1.6 GCC4.7.2
that I got when I merged this test back to 0.4.14RC:

C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp: In function
'LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)':
C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp:339:26: error
: comparison between signed and unsigned integer expressions [-Werror=sign-compa
re]
cc1plus.exe: all warnings being treated as errors
ninja: build stopped: subcommand failed.
2021-06-06 16:40:28 +02:00
Eric Kohl
6ae7fc2b04 [LSASRV] Notify all authentication packages of a session to be deleted 2021-06-06 11:38:26 +02:00
Katayama Hirofumi MZ
9eb566e707 [SHELL32_APITEST] Follow-up of #3723
Strengthen FindExecutable testcase. CORE-17351, CORE-16898, CORE-17612
2021-06-06 08:25:27 +09:00
Mark Jansen
64d3a54de9 [HOST-TOOLS] Block sending telemetry when spawning a new shell 2021-06-06 00:43:05 +02:00
Katayama Hirofumi MZ
fccea84dd4 [SHELL32_APITEST] Add FindExecutable testcase (#3723)
Investigate the implementation of shell32!FindExecutable function.
CORE-17351, CORE-16898, CORE-17612
2021-06-06 06:51:42 +09:00
Hervé Poussineau
08e9000496 [VBE] Check if DDC is supported before trying to read EDID
Also set Edx to 0 when reading Edid, as per specification.

CORE-16695
2021-06-05 23:38:05 +02:00
Hervé Poussineau
fa54704158 [VIDEOPRT] Report monitor name instead of the generic 'Monitor' string 2021-06-05 23:38:05 +02:00
Hervé Poussineau
2ae6bd7453 [VIDEOPRT] Give to each device its own entry in HKLM\SYSTEM\CurrentControlSet\Services
This is required if you have two graphic cards using the same driver.
2021-06-05 23:38:05 +02:00
Mark Jansen
e8902450bc [ATL_APITEST] Add some testcases for CString 'operator !=' 2021-06-05 23:28:38 +02:00
Mark Jansen
5ea3814a22 [ATL] Implement CString 'operator !=' 2021-06-05 23:28:38 +02:00
Mark Jansen
1d68fe209f [SYSSETUP] Use the calculated full path 2021-06-05 22:14:34 +02:00
Joachim Henze
864e20b881 [MSI] setup should not enumerate read-only CDRoms as install-targets CORE-14432
We decided to check a bit different than Wine currently does.
Wine checks for
if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) && flags & FILE_READ_ONLY_VOLUME)
to exclude read-only-media while we (for now) check for
if (GetDriveTypeW(ptr) == DRIVE_CDROM)

For now this gives us the benefit of covering also CDROM drives, that do not have
a CD put into it.
That does not work properly for us with the Wine patch yet, but it does for Wine!
So this maybe points to some other bug in ros, maybe in our CDROM(FS)-drivers?

In the future we should also test this on other read-only-media in Windows e.g.
a read-only USB stick to decide whether we want to stick with our current solution
or whether we want to switch to Wines solution or whether we want to logically OR
both conditions!

Thanks to Doug Lyons for providing what *currently* does work best for us!

VBox https://reactos.org/testman/compare.php?ids=77537,77546 (no change)
KVM https://reactos.org/testman/compare.php?ids=77531,77541 (no change)
2021-06-05 21:27:40 +02:00
Serge Gautherie
83fcd65700 [MPR] spec: Add stubs, document parameter types, stub-enable 2 functions (#3696)
* Add 20 stubs from mpr.dll v5.2.3790.3959.
* Document some parameter types from https://github.com/Microsoft/winfile/
* Change WNetGetDirectoryType[A|W] to no-op stubs

CORE-14376
2021-06-05 20:49:41 +02:00
Timo Kreuzer
1f5f614c7a [RAPPS] Implement support for architecture specific sections
See CORE-17616
2021-06-05 19:17:05 +02:00
Timo Kreuzer
20c1da7963 [RTL][KMTEST] RtlPcToFileHeader doesn't handle user mode images in kernel mode 2021-06-05 14:39:29 +02:00
Timo Kreuzer
3cf2bea0de [RTL] Fix RtlWalkFrameChain and wrap it in SEH 2021-06-05 13:52:42 +02:00
Timo Kreuzer
e6af7d9dfe [RTL] Simplify RtlRaiseException 2021-06-05 13:52:42 +02:00
Timo Kreuzer
3ec1ca9b46 [RTL] Implement RtplUnwindInternal and wrap RtlUnwindEx and RtlDispatchException around it
Based on the description in this blog article: http://www.nynaeve.net/?p=106
2021-06-05 13:52:42 +02:00
Timo Kreuzer
1d58e84736 [RTL] Improve RtlVirtualUnwind
* Add support for version 2 unwind info
* Implement UnwindOpSlots() and use it (based on https://github.com/dotnet/coreclr/blob/master/src/unwinder/amd64/unwinder_amd64.cpp)
* Fix handling of UWOP_PUSH_MACHFRAME
2021-06-05 13:52:42 +02:00
Timo Kreuzer
5075f7d746 [RTL] Move exception handling code to except.c 2021-06-05 13:52:42 +02:00
Timo Kreuzer
65c3911ffc [RTL] Improve / fix the SList code
Don't push a register in the middle of a an asm function. Instead add a proper prolog and store rbx in a home param slot.
2021-06-05 13:52:42 +02:00
Timo Kreuzer
0520c75aaf [CRT] Implement __C_specific_handler 2021-06-05 13:52:42 +02:00
Katayama Hirofumi MZ
2106bc4a81 [CPL][APPWIZ] Make gecko download cancellable by keyboard (#3726)
We shouldn't disable nor hide the control with focus. CORE-17550, CORE-5737
2021-06-05 18:21:25 +09:00
Joachim Henze
ae574e16f8 [WINETESTS] Workaround crashes in riched20:richole on VBox/KVM bots CORE-16799
The crashes began when those tests were synced to Wine Staging 4.18 in
0.4.14-dev-419-g 76cf09cfea

WHS 2k3sp2 Before the revert implies the tests were actually ok:
https://reactos.org/testman/compare.php?ids=77492

Disabling some of the tests is very unsatisfying of course,
but at least allows us to observe again
the results of the other tests from that suite.

VBox https://reactos.org/testman/compare.php?ids=77504,77506
KVM https://reactos.org/testman/compare.php?ids=77502,77505
2021-06-04 20:04:20 +02:00
Timo Kreuzer
7f2e0ece5a [NTOS:KE/x64] Handle shared interrupts 2021-06-04 09:19:13 +02:00
Timo Kreuzer
ce537f1ae9 [EXPLORER] Check m_Position for -1 before using it as an index
This fixes a crash on x64.
2021-06-04 09:15:55 +02:00
Timo Kreuzer
11ffa31155 [BROWSEUI] Fix broken code 2021-06-04 09:15:55 +02:00
Katayama Hirofumi MZ
55345930ad [SHELL32_APITEST] ShellExecCmdLine: Don't copy Notepad.exe
On Windows 10, when I copyed Notepad.exe to the desktop and double-clicked it, it won't start Notepad. This is probably because there is a security protection mechanism (or some mechanism) at work. Tests that assume this mechanism will not work properly on ReactOS. Thus, I had to delete some tests. CORE-17351
2021-06-04 06:16:07 +09:00
Katayama Hirofumi MZ
f37b94ba39 [SHELL32_APITEST] ShellExecCmdLine: Close Notepad windows
By using newly added CloseNotepads function, close the Notepad window.
CORE-17351
2021-06-03 14:49:49 +09:00
Timo Kreuzer
e8496b4fbf [NTOS:PS/x64] Fix PspGetOrSetContextKernelRoutine
It now uses KiSetTrapContext to set the non-volatile context on the stack and the volatile context in the trap frame.
2021-06-02 18:25:36 +02:00
Timo Kreuzer
f1ed97d6cc [NTOS:KE/x64] Implement KiSetTrapContext
KiSetTrapContext is an asm wrapper around RtlSetUnwindContext, which first stores an exception frame to assure that all non-volatile registers were put on the stack, then calls RtlSetUnwindContext to update their first saving positions on the stack and finally restore the exception frame to potentially load any updated registers, that haven't been saved elsewhere on the stack.
2021-06-02 18:25:36 +02:00
Timo Kreuzer
e801b7dda2 [RTL/x64] Implement RtlpCaptureNonVolatileContextPointers and RtlSetUnwindContext
RtlpCaptureNonVolatileContextPointers walks the stack and captures the addresses of all non-volatile registers on the stack, when they have been saved first. This is needed to be able to fix up the non-volatile on a system call, which doesn't capture non-volatiles, but relies on them to be restored by the callees.

Instead of only checking for the TargetFrame, also check for a mode change, i.e. RIP went from kernel to user, in which case the target frame was not reached yet, because it was too large, but processing can't continue here.

RtlSetUnwindContext uses RtlpCaptureNonVolatileContextPointers to set the non-volatile registers in the the stack. They will be picked up, when returning back or unwinding, e.g. to the system call handler.
2021-06-02 18:25:36 +02:00
Serge Gautherie
80b54b8026 [BOOT] CMakeLists.txt: Compare ARCH to arm64, not aarch64
This aarch64 was introduced first,
but arm64 was preferred everywhere else since then.

CORE-17518
2021-06-02 13:26:08 +03:00
Serge Gautherie
7e43c2610d [CMAKE] CMakeLists.txt: Fix 'omap-zoom2' typo
Addendum to fae2044 (r51783).
CORE-17604
2021-06-02 13:24:39 +03:00
Stanislav Motylkov
11687e9e43 [CRT][ARM] Fix uninitialized variables caught by RTC
CORE-17613
2021-06-02 13:18:40 +03:00
Piotr Hetnarowicz
0175e8f8dd [EXPLORER] Polish translation update (#3704) 2021-06-02 11:54:12 +02:00
Piotr Hetnarowicz
4771551c74 [BROWSEUI] Polish translation update (#3703) 2021-06-02 11:53:07 +02:00
Piotr Hetnarowicz
0e18985e56 [WINLOGON] Polish translation update (#3702) 2021-06-02 11:52:10 +02:00
Piotr Hetnarowicz
d05a20e7b3 [SHELL32] Polish translation update (#3701) 2021-06-02 11:50:54 +02:00
George Bișoc
06b0d2e380 [NTOS:SE] Implement logon session deletion
And declare a prototype for SepCleanupLUIDDeviceMapDirectory and annotate it with SAL.
2021-06-02 11:09:01 +02:00
Serge Gautherie
2dcc40fb3e [CMAKE] CMakeLists.txt: Remove NO_UNDERSCORE_PREFIX leftovers
And switch to add_compile_definitions().

Addendum to 9efafd6.
2021-06-02 10:04:21 +02:00
Katayama Hirofumi MZ
59d4c11203 [WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700)
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
2021-06-01 11:11:23 +09:00
Serge Gautherie
5ce9e2ec8e [GITHUB] build.yml: Define CLANG_VERSION for clang only
Addendum to a66214c.
2021-05-31 16:04:49 +02:00
Serge Gautherie
4d00a5653a [GITHUB] build.yml: Properly define LLVM_VERSION
Addendum to a66214c.
2021-05-31 16:04:49 +02:00
Katayama Hirofumi MZ
32b0cf6fc6 [WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697)
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
2021-05-31 13:08:06 +09:00
Eric Kohl
7b970c67a8 [NETCFGX] Create unique network connection names 2021-05-30 21:12:58 +02:00
Katayama Hirofumi MZ
a8ed286c86 [USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
2021-05-30 09:37:38 +09:00
Timo Kreuzer
0c3812eb7e [RTL/x64] Implement RtlRestoreContext 2021-05-29 21:20:48 +02:00
Timo Kreuzer
abb338b13d [RTL/x64] Improve RtlCaptureContext
Use movaps instead of movdqa, it does the same thing, but is one byte shorter.
Shuffle instructions around a bit to maximize parallel execution.
2021-05-29 21:20:48 +02:00
Timo Kreuzer
3831c0ca31 [RTL/x64] Improve RtlInitializeContext 2021-05-29 21:20:48 +02:00
George Bișoc
3140dac3fe [NTOS:SE] Do some cleanup on ICIF flags in token information classes
A few of these classes have fixed size lengths, the rest are arbitrary. Also the TokenAuditPolicy class hasn't a size length type specified in the table, which is wrong (and move the corresponding TOKEN_AUDIT_POLICY_INFORMATION structure into the private header).
2021-05-29 12:44:03 +02:00
Katayama Hirofumi MZ
d21adc9b31 [SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687)
- Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions.
- Improve code readability. CORE-15669
2021-05-29 09:33:46 +09:00
Timo Kreuzer
e693d5ffc0 [USBPORT] Make unload work 2021-05-28 22:29:44 +02:00
Timo Kreuzer
db0c59cbd4 [CRT] Use the asm version of sqrt on amd64 2021-05-28 11:52:42 +02:00
Timo Kreuzer
90a0e426ed [NTOS:KE] Add IRQL checks and fix KiInitiateUserApc 2021-05-28 11:52:42 +02:00
Timo Kreuzer
3d18831c19 [NTOS:KE] Improve KiSystemCallEntry64 2021-05-28 11:52:42 +02:00
Timo Kreuzer
69e8cb635a [NTOS:KE] Fix stack alignment issues 2021-05-28 11:52:42 +02:00
Timo Kreuzer
2a2d0903bf [NTOS:KE] Remove duplicated EFlag definitions 2021-05-28 11:52:42 +02:00
Timo Kreuzer
42e1fefcc6 [ASM] Clear interrupt flag in ExitTrap before returning 2021-05-28 11:52:42 +02:00
Timo Kreuzer
d07203ecb7 [WIN32K][USER32] Change mechanism for storing dialog info pointer
DLGWINDOWEXTRA is 30 (both on win32 and win64). This has storage for the following entries: DWLP_MSGRESULT (0), DWLP_DLGPROC (8), DWLP_USER (16)
We used to store the dialog info pointer using SetWindowLongPtr (DWLP_ROS_DIALOGINFO == DWLP_USER+sizeof(ULONG_PTR) == 24), which was fine on win32, but failed on win64, since there wasn't enough space left (24 + 8 = 32 > 30).
Rewrite the way the DLGINFO pointer is stored, by adding an additional field to the WND structure and set it using NtUserxSetDialogPointer (which is what it is for).
Also fix too small cbWndExtra for the button class.
2021-05-28 08:26:36 +02:00
Timo Kreuzer
50c9dab6c9 [WIN32K] Fix wrong calculation in DIB_32BPP_BitBltSrcCopy
Using an unsigned integer will cause the calculations to be unsigned, which on x64 leads to wrong results, when adding it to a pointer.
2021-05-27 15:53:24 +02:00
Mark Jansen
f0bee6c4bc [SHELL32] CDefView: Prevent use after free
While updating the item, the LVIF_STATE would be requested,
for which the old lParam would be accessed.
2021-05-26 22:57:43 +02:00
Katayama Hirofumi MZ
949e3a9cec [REGEDIT] Use InitCommonControlsEx instead of InitCommonControls (#3686)
NOTE: Windows sets 0xFFFF to icce.dwICC but we use better value.
2021-05-26 21:11:10 +09:00
Jérôme Gardou
b0ebf68d98 [NTOS:IO] Be more specific for chasing CORE-17587
Addendum to 42ec1388d7
2021-05-26 11:03:34 +02:00
Jérôme Gardou
42ec1388d7 [NTOS:IO] Break on IoRaiseInformationalHardError
This one will eventually be reverted. For now, this will help debugging CORE-17587
2021-05-26 10:48:29 +02:00
Hermès Bélusca-Maïto
53bd132cec [CMD] Reset the current thread UI language at startup, and when updating the local code page cache.
CORE-17601
2021-05-26 01:42:12 +02:00
Hermès Bélusca-Maïto
0483063b69 [MODE] Reset the current thread UI language and streams codepage after changing the console codepage. Add extra error handling.
CORE-17601
2021-05-26 01:42:11 +02:00
Hermès Bélusca-Maïto
a8ef85ad71 [CHCP] Reset the current thread UI language and streams codepage after changing the console codepage.
CORE-17601
2021-05-26 01:42:11 +02:00
Hermès Bélusca-Maïto
7c3aabc088 [CONUTILS] Implement ConSetThreadUILanguage() as a wrapper for kernel32!SetThreadUILanguage().
CORE-17601

Dynamically load SetThreadUILanguage(), so as to support systems where this API is not present.

Hopefully implemented in a thread-safe manner.
2021-05-26 01:42:10 +02:00
Hermès Bélusca-Maïto
35f499e52f [CONUTILS][CMD] Add and use a helper ConStdStreamsSetCacheCodePage() macro instead of repeatedly calling ConStreamSetCacheCodePage() on the standard streams. 2021-05-26 01:42:09 +02:00
Hermès Bélusca-Maïto
f268430c05 [CONUTILS] Update some documentation. 2021-05-26 01:42:09 +02:00
Hervé Poussineau
831cad3410 [NTOS:MM] Remove wrong cleaning of PDEs at session cleanup 2021-05-25 21:13:32 +02:00
Hervé Poussineau
1a1dac04c7 [SMLIB] Implement SmStartCsr and SmStopCsr 2021-05-25 19:02:16 +02:00
Hervé Poussineau
735d2b4c93 [SMSS] Implement SmpStartCsr 2021-05-25 18:48:16 +02:00
Hervé Poussineau
98882fb089 [NTOS:MM] Finish implementation of MmSessionDelete 2021-05-25 18:48:16 +02:00
Hervé Poussineau
eac0afc6fe [NTOS:MM] MiDereferenceSession: return as soon as session is destroyed
This leads to some simplifications in the following code.
2021-05-25 18:48:16 +02:00
Timo Kreuzer
dd08ae2c0f [NTOS:CC] Fix use of unintialized variable (caught by RTC1) 2021-05-24 22:00:11 +02:00
Timo Kreuzer
184d3a6849 [NTOS:MM] MiIsPdeForAddressValid is NOT an INIT function! 2021-05-24 18:45:47 +02:00
Mark Jansen
c1538a82b8 [GITHUB] Add ARM builder
This only builds rapps for now
CORE-17517
2021-05-24 17:34:49 +02:00
Mark Jansen
5f94b23d2b [HOST-TOOLS] Configure environment for MSVC cross-compiling
This makes ARM builds on a non-arm host work again.

CORE-17542
CORE-17517
2021-05-24 17:34:49 +02:00
Mark Jansen
a555892027 [SDK] Remove duplicate definition 2021-05-24 17:34:49 +02:00
Mark Jansen
0911e8f457 [CMAKE] Add some arm/arm64 specific paths
CORE-17517 CORE-17518
2021-05-24 17:34:28 +02:00
Stanislav Motylkov
dcc1506af5 [FREELDR][HALXBOX] Initialize PCI bridge secondary & subordinate bus values
This fixes the recursion when pci.sys attempts to get PCI bridge children
devices, which in fact are non-existing.

Note that the problem in pci.sys itself also deserves a separate fix.

CORE-16319 CORE-16216
2021-05-24 18:12:02 +03:00
Stanislav Motylkov
f1410d2b09 [FREELDR] Replace CONFIG_CMD macro with a straightforward bitfield struct
Also fix magic values related to PCI registers.
2021-05-24 18:02:16 +03:00
Stanislav Motylkov
5caa59b31a [HAL] HalpDebugPciDumpBus: Fix parsing bugs
- Bridge devices don't have Subsystem ID and Subsystem Vendor ID
- Also they have only two BARs, don't parse data outside of bounds

Addendum to b232efe1. CORE-16319 CORE-16216
2021-05-24 17:24:24 +03:00
Eric Kohl
2047cf3613 [DHCPCSRV] Send an ARP request to check if an automatic private address is available 2021-05-24 15:18:58 +02:00
Eric Kohl
894cc4ac0c [dnsapi][dnsrslvr] Implement DnsFlushResolverCacheEntry_A/_UTF8/_W 2021-05-24 14:43:30 +02:00
Stanislav Motylkov
b232efe12a [HAL] HalpDebugPciDumpBus: Print details about PCI bridges
CORE-16319 CORE-16216
2021-05-23 15:48:21 +03:00
Mark Jansen
18e95f5a4e [CMAKE] Store and re-use M4 and BISON_PKGDATADIR env variables
ROSBE-174
2021-05-22 16:38:17 +02:00
Mark Jansen
9fcdc68182 [SHELL32] Include the folder path in logging 2021-05-22 16:34:54 +02:00
Mark Jansen
b58c3d73ca [RTL][KERNEL32] Move the STUB printing code to a place where it's actually called 2021-05-22 16:33:19 +02:00
Mark Jansen
1c97b84600 [WIN32SS] Skip . and .. when enumerating fonts 2021-05-22 16:31:31 +02:00
Jérôme Gardou
0395049986 [NTOS:KE] Do not call MmSetPageProtect for the Pentium Lock Errata
CORE-17589
2021-05-21 10:52:55 +02:00
Mark Jansen
9f549dba1e [USBHUB] Mute debug spam 2021-05-20 08:35:39 +02:00
Mark Jansen
17acec6d13 [USBCCGP] Mute debug spam 2021-05-20 08:35:39 +02:00
Jérôme Gardou
7eff8a36d5 Revert "[NTOS:MM] Add private pages to process working sets"
This is so full of bugs, I don't know what to say.
This reverts commit 374fef2d59.
2021-05-20 00:19:43 +02:00
Jérôme Gardou
969e60a06d [NTOS:MM] Move software PTE specific check after it's been tested for being one
Caught by The_DarkFire, only soul on earth actually *running* our SMP kernel
2021-05-19 23:56:21 +02:00
Jérôme Gardou
7d0d14965e [NTOS:MM] Do not map Process Working Set List in kernel space
This is not needed anymore and causes havoc on amd64
2021-05-19 23:17:27 +02:00
Jérôme Gardou
a3629ab08b [RTL] SAL-annotate RtlUnicodeStringToCountedOemString
Brought to you by Hermès
2021-05-19 22:50:29 +02:00
Jérôme Gardou
8d1e01be0e [NLS] Use files provided by Microsoft to generate most of our NLS files
Instead of binary blobs coming from who-knows-where
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
79b2d9c2ff [TXT2NLS] Rewrite the tool
With support for multibyte codepages & glyph tables
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
1549f0837f [SDK] Turn txt2nls into a host tool 2021-05-19 22:50:29 +02:00
Jérôme Gardou
30f2ad7949 [RTL] Properly truncate 8dot3 names when using a MultiByte OEM code page
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
49fcbe7cd8 [RTL] Fix RtlIsValidOemCharacter implementation for Multibyte code pages
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
1b08836338 [RTL] Properly implement RtlUnicodeToOemN
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
4e0ce779d7 [NTDLL_APITEST] Add some tests for RtlUnicodeToOemN
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
53a6c44f74 [NTDLL_APITEST] Add some tests for RtlUnicodeStringToCountedOemString
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
0a8b51da80 [NTDLL_APITEST] Add tests for RtlxUnicodeStringToAnsiSize & RtlxUnicodeStringToOemSize
CORE-17571
2021-05-19 22:50:29 +02:00
Jérôme Gardou
50e0b006e7 [NTDLL_APITEST] Add some Japanese to RtlGenerate8dot3Name test case
CORE-17571
2021-05-19 22:50:29 +02:00
Dmitry Borisov
999345a4fe [XDK] Update the prototype of IO_COMPLETION_ROUTINE 2021-05-19 20:14:29 +02:00
Dmitry Borisov
2193031133 [NTOS:PO] Check for optional parameter in the completion routine
The CompletionFunction parameter is really optional.
This fixes a bugcheck caused by shutdown with IDE driver stack.

CORE-17401
2021-05-19 20:14:29 +02:00
Jérôme Gardou
0f723105c6 [CMAKE] Allow compiling amd64 port with GCC on Windows
Dedicated to Daniel
2021-05-19 14:13:51 +02:00
Serge Gautherie
eae3db10ae [GITHUB] build.yml: Remove superfluous '${{github.workspace}}' 2021-05-19 09:37:07 +02:00
Serge Gautherie
9b783ce07a [GITHUB] build.yml: Sync' 'if:' syntax
Addendum to 3644f3e.
2021-05-19 09:37:07 +02:00
Jérôme Gardou
826aec48de [NTOS:MM] Fix build on whatever MSVC version triggered this
There is no real need to put static or extern "C" function in a special namespace anyway
2021-05-19 00:12:05 +02:00
Jérôme Gardou
374fef2d59 [NTOS:MM] Add private pages to process working sets 2021-05-18 23:42:19 +02:00
Jérôme Gardou
6a5fd8f487 [NTOS:MM] Relax requirements with regards to PFN lock when adding & removing entries in Working Sets
Once a page is used, holding the WS lock is enough until you want to free it.
2021-05-18 23:42:19 +02:00
Jérôme Gardou
aeffd16b38 [NTOS] Introduce KiQueuedSpinLockGuard, similar to std::lock_guard for Queued Spin lock
And use it in Mm as MiPfnLockGuard
2021-05-18 23:42:19 +02:00
Stanislav Motylkov
ffa7cfc1ff [INF] Remove remnants of XboxVmp driver which has its own INF file 2021-05-18 20:22:22 +03:00
Dmitry Borisov
f7d825e620 [PC98VID] Fix MSVC 2015 build for PC-98 target
Addendum to 3adf450867

Also isolate the constant structures into page section
and restore the previous sections for start IO and entrypoint routines.
2021-05-18 19:30:29 +03:00
Stanislav Motylkov
0bd8a2110b [WIN32SS] Always build all video miniport drivers
But include registry changes and INF files depending on SARCH variable.
This commit is expected to uncover pc98vid build error on MSVC 2015.

Addendum to 8c475e4. CORE-17529
2021-05-18 19:24:57 +03:00
Stanislav Motylkov
81987761d9 [PC98VID] Use unique target name but rename as vga.sys
This allows building pc98vid driver without conflict with vga_new.
2021-05-18 19:24:35 +03:00
Piotr Hetnarowicz
07ad5eb338 [DISK_NEW] Add Polish (pl-PL) translation (#3660)
Addendum to f144b8c1 and da4ee18c. CORE-17129
2021-05-18 14:58:34 +03:00
Piotr Hetnarowicz
3a7cd6256b [CDROM_NEW] Add Polish (pl-PL) translation (#3659)
Addendum to 83b85e21. CORE-17129

Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
2021-05-18 14:54:05 +03:00
Serge Gautherie
255807f768 [LOCALSPL] InitializePrinterDrivers(): Fix LocalGetPrinterDriverDirectory) call
Fix Clang-Cl
'...\printerdrivers.c(97,98): warning: variable 'cbBuf' is uninitialized when used here [-Wuninitialized]'

Addendum to 62c4b82.
CORE-14306
2021-05-18 10:49:20 +02:00
George Bișoc
99d776894a [NTOS:SE] Capture the groups length when creating a token
The groups length is already returned by SeCaptureSidAndAttributesArray, it doesn't make sense to not use it.
2021-05-16 17:18:29 +02:00
Hermès Bélusca-Maïto
90b3a9c09b [MORE] Add code to load the current 'command extensions' enable status from the registry. 2021-05-15 19:41:16 +02:00
Joachim Henze
cf6c191f69 [SHELL32] *.rc Whitespace fixes just, no functional change
Motivation to fix them in master is to avoid having to also port them back
when porting back nearby code.
2021-05-15 03:44:48 +02:00
Serge Gautherie
eba00d1b5e [CMAKE] winetests/: Move '/wd4334' to 3 sub-modules only
Addendum to 42d2d5e.
2021-05-12 12:50:48 +02:00
Jérôme Gardou
1e01afab99 [GITHUB] Make sure things get compiled with MSVC 2015 & 2017
Also unify again ISO artifacts and upload debug symbols
for MSVC builds while we're at it

Also don't fail early in case things go wrong, which helps fixing build errors in one go
instead of incremental trial & error
2021-05-12 11:04:29 +02:00
Jérôme Gardou
3adf450867 [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes

CORE-17540
2021-05-12 11:04:29 +02:00
Serge Gautherie
03e824641e [CMAKE] winetests/: Move '/wd4101' to kernel32/ only
Also add matching remove_target_compile_option().

Addendum to 42d2d5e.
2021-05-11 14:13:21 +02:00
Jérôme Gardou
9930eeca76 [KDGDB] Implement TIB address retrieval 2021-05-11 11:00:49 +02:00
George Bișoc
ac97662619 [KMTESTS:SE] Remove erroneous tests regarding impersonation level
These tests didn't make much sense. The captured token from the subject context is not an impersonation token and both Windows and ReactOS ultimately fail on those tests.
2021-05-11 09:20:28 +02:00
Katayama Hirofumi MZ
55060911e4 [CMDUTILS][WHERE] Implement WHERE command (#3642)
WHERE is a Windows command that finds the file location from a executable file name. This PR implements it in ReactOS. CORE-17443
2021-05-11 14:37:49 +09:00
Jérôme Gardou
04e9251612 [NTOS:PS] Use KD routine to safely read memory from thread stack
Should fix a crash when hitting TAB+(Whatever I typed that triggerred this)
2021-05-10 19:11:21 +02:00
Dmitry Borisov
0fb3c1e91e [PCIIDE] Make the resource section not discardable. CORE-17401 (#3594)
[PCIX] Make the resource section not discardable.

These drivers need to be able to access their message resources at any time.
2021-05-10 00:36:38 +02:00
Dmitry Borisov
6e33c8ffd3 [PEFIXUP] Fixup of resource sections in GCC builds. (#3594)
Make resource sections discardable for kernel-mode drivers and DLLs.
2021-05-10 00:36:38 +02:00
George Bișoc
0fe7fdbdea [NDK][NTOS:SE] Fix the member offsets in TOKEN, again...
The member offsets in comments were wrong again, whoops....
2021-05-09 18:17:53 +02:00
George Bișoc
f5dc1c77b5 [NDK][NTOS:SE] Add the missing "LogonSession" member to TOKEN structure
And also fix the wrong member offsets in comments. The said offset values are based upon the ones retrieved with WinDBG.
2021-05-09 17:34:02 +02:00
Hermès Bélusca-Maïto
9e0a3cdf6c [PEFIXUP] Add support for overriding the attributes of specific PE sections. (#3598)
Use a syntax identical to the one from the EDITBIN tool:
--section:name[=newname][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]]

https://docs.microsoft.com/en-us/cpp/build/reference/section-editbin?view=msvc-160
2021-05-09 01:39:21 +02:00
Mark Jansen
ae426744a9 [RAPPS] Restore event logging of install/uninstall actions 2021-05-08 19:25:16 +02:00
Mark Jansen
264aaa9e05 [RTL] Implement RtlGetLengthWithoutLastFullDorOrNtPathElement
CORE-17248
2021-05-08 19:24:23 +02:00
Mark Jansen
3e7e4ee360 [RTL] Implement RtlpApplyLengthFunction
CORE-17248
2021-05-08 19:24:23 +02:00
George Bișoc
11f239373d [NTOS:SE] Add further remarks in SeQueryInformationToken
Explicitly mention under remarks that some classes are not implemented for that function, for documentation purposes. No code changes.
2021-05-08 18:11:42 +02:00
Stanislav Motylkov
4d8b9e1d61 [SDBINST] Minor quick fixes after merge 2021-05-08 18:36:15 +03:00
Mark Jansen
23b6397ae9 [FONTEXT_APITEST] Test more cases for GetDisplayNameOf 2021-05-08 15:53:43 +02:00
Mark Jansen
20c98b3144 [SDBINST] Restore file attributes before deleting 2021-05-08 15:49:28 +02:00
Max Korostil
c4181f534c [SDBINST] Add remove Layers call 2021-05-08 14:24:21 +02:00
Max Korostil
dd34a8a731 [SDBINST] Update according to review
Replace macroses with unicode functions
Minor fixes
Replace dynamic allocations
Add GUID string validation

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Mark Jansen <mark.jansen@reactos.org>
2021-05-08 14:24:20 +02:00
Max Korostil
d4a9879583 [SDBINST] Add uninstall by guid and name 2021-05-08 14:24:20 +02:00
Max Korostil
7fd004e50b [SDBINST] Add uninstall option 2021-05-08 14:24:20 +02:00
Max Korostil
4e4328ac8a [SDBINST] Add sdbinst uility.
It can install sdb to the system
2021-05-08 14:24:20 +02:00
Max Korostil
b1dfdc95af [APPHELP] Add api functions declaration.
Add define
2021-05-08 14:24:20 +02:00
Katayama Hirofumi MZ
941dfd2dee [INCLUDE][XDK] Add FILE_ATTRIBUTE_VIRTUAL macro into winnt_old.h (#3649)
PR #3642 needs it. CORE-17443
2021-05-08 21:08:34 +09:00
Catalin Gabriel Draghita
2636cff09f [SHELL32] Show Product version on About dialog bmp (#3621)
The About dialog banner will now show the correspondent Product version selected on install.
This will make it easier to tell which edition of ReactOS is installed.
2021-05-08 15:54:32 +09:00
Stanislav Motylkov
83dbb6b27e [NTOS:PS] Do not leak the Thread. Addendum to 0c8f0785 2021-05-08 00:32:14 +03:00
Stanislav Motylkov
0c8f07854b [NTOS:PS] Fix misplaced Thread variable reference caught by RTC
Addendum to 2e88e2b9.
2021-05-07 21:54:10 +03:00
Serge Gautherie
2b52f3bb56 [SDK] wine/typeof.h: Remove duplicate ImeGetRegisterWordStyle line
Fix msbuild amd64
'...\sdk\include\reactos\wine/typeof.h(50,64): error C2059: syntax error: '<parameter-list>' [D:\a\reactos\reactos\build\dll\win32\msxml3\msxml3.vcxproj]'

Addendum to 32072cf (r42469).
2021-05-06 22:09:03 +03:00
Serge Gautherie
b62f0d0fa3 [CMAKE] CMakeLists.txt: Print CMAKE_CONFIGURATION_TYPES
Follow-up to d10728a.
2021-05-06 16:13:05 +02:00
George Bișoc
9f3ed60ea4 [USETUP] Loop over MUI entries of the same ID
MUI entries can have the same ID pointed by TextID member of MUI_ENTRY structure. For this matter, altering a certain entry such as deleting a portion of text with MUIClearStyledText() only removes that portion of text when the given ID argument and the retrieved ID match.

However, MUIClearStyledText() only removes the first instance of text in the console leaving other entries with the same ID as is. Therefore we must ensure that we also iterate over other entries with the same ID as well. Besides the aforementioned function, do the same with MUIClearText(), MUISetText() and MUISetStyledText() too.
2021-05-05 19:30:53 +02:00
Hermès Bélusca-Maïto
eb29a33169 [PEFIXUP] Section names are case-sensitive, so we can just use strncmp() instead of the non-standard strncasecmp() for names comparisons. (#3598) 2021-05-05 19:15:02 +02:00
Hermès Bélusca-Maïto
ea26767353 [PEFIXUP] Avoid multi-level nesting of code with the error handling done at the very end. Use size_t variables for file sizes. (#3598) 2021-05-05 19:15:01 +02:00
Hermès Bélusca-Maïto
88b933330d [PEFIXUP] Only recalculate the PE checksum if the image is not from a reproducible build (original checksum == 0). (#3598) 2021-05-05 19:15:01 +02:00
Hermès Bélusca-Maïto
7ad33940c2 [PEFIXUP] Use vfprintf() with the va_args list. (#3598) 2021-05-05 19:14:57 +02:00
Hermès Bélusca-Maïto
abd4c818dc [CSRSRV] Fix uninitialized variable warning detected by Clang. (#3619)
CORE-17545

subsystems/win32/csrsrv/api.c:63:9: warning: variable 'ServerDll' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
    if ((ServerId >= CSR_SERVER_DLL_MAX) ||
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
subsystems/win32/csrsrv/api.c:67:76: note: uninitialized use occurs here
        DPRINT1("CSRSS: %lx is invalid ServerDllIndex (%08x)\n", ServerId, ServerDll);
                                                                           ^~~~~~~~~
2021-05-05 17:24:14 +02:00
Hermès Bélusca-Maïto
c5b87ac6ac [CSRSRV] Display some other DPRINTs only when CSRSRV is compiled in debugging mode.
Addendum to 835f3ef1.
2021-05-05 17:24:13 +02:00
Hermès Bélusca-Maïto
f9aca9f7d2 [CONSRV] wcwidth.c: Fix out-of-range comparisons Clang warnings for wchar_t's, that are only 2 bytes long on NT. (#3619)
CORE-17545

win32ss/user/winsrv/consrv/frontends/wcwidth.c:203:30: warning: result of comparison of constant 262141 with expression of type 'wchar_t' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare]
      (ucs >= 0x30000 && ucs <= 0x3fffd)));
                         ~~~ ^  ~~~~~~~
win32ss/user/winsrv/consrv/frontends/wcwidth.c:203:12: warning: result of comparison of constant 196608 with expression of type 'wchar_t' (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare]
      (ucs >= 0x30000 && ucs <= 0x3fffd)));
       ~~~ ^  ~~~~~~~
win32ss/user/winsrv/consrv/frontends/wcwidth.c:202:30: warning: result of comparison of constant 196605 with expression of type 'wchar_t' (aka 'unsigned short') is always true [-Wtautological-constant-out-of-range-compare]
      (ucs >= 0x20000 && ucs <= 0x2fffd) ||
                         ~~~ ^  ~~~~~~~
win32ss/user/winsrv/consrv/frontends/wcwidth.c:202:12: warning: result of comparison of constant 131072 with expression of type 'wchar_t' (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare]
      (ucs >= 0x20000 && ucs <= 0x2fffd) ||
       ~~~ ^  ~~~~~~~
2021-05-05 17:24:13 +02:00
Hermès Bélusca-Maïto
db089c517e [PSDK] Remove a buggy GNU-specific "PACKED" attribute in KEY_EVENT_RECORD structure declaration. (#3619)
CORE-17545

No other public header out there (in MS PSDK, MinGW, Wine, etc...) does have
this hack (that was introduced back in the days in r15141 / commit 01df92bc).

Add static assert on KEY_EVENT_RECORD's uChar member to ensure it's properly aligned.

May fix Clang warning:

win32ss/user/winsrv/consrv/lineinput.c:457:62: warning: taking address of packed member 'uChar' of class or structure '_KEY_EVENT_RECORD' may result in an unaligned pointer value [-Waddress-of-packed-member]
            LineInputEdit(Console, (Overstrike ? 1 : 0), 1, &KeyEvent->uChar.UnicodeChar);
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
and whatnot...
2021-05-05 17:24:12 +02:00
Hermès Bélusca-Maïto
9a93d2fe3a [CONSRV] Fix uninitialized variables warnings detected by Clang. (#3619)
CORE-17545

Fix 3 warnings:

win32ss/user/winsrv/consrv/alias.c:648:16: warning: variable 'Status' is used uninitialized whenever 'while' loop exits because its condition is false [-Wsometimes-uninitialized]
        while (CurEntry)
               ^~~~~~~~
win32ss/user/winsrv/consrv/alias.c:693:12: note: uninitialized use occurs here
    return Status;
           ^~~~~~

win32ss/user/winsrv/consrv/alias.c:715:9: warning: variable 'Status' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    if (Header)
        ^~~~~~
win32ss/user/winsrv/consrv/alias.c:727:12: note: uninitialized use occurs here
    return Status;
           ^~~~~~

win32ss/user/winsrv/consrv/alias.c:771:16: warning: variable 'Status' is used uninitialized whenever 'while' loop exits because its condition is false [-Wsometimes-uninitialized]
        while (RootHeader)
               ^~~~~~~~~~
win32ss/user/winsrv/consrv/alias.c:807:12: note: uninitialized use occurs here
    return Status;
2021-05-05 17:24:12 +02:00
Hermès Bélusca-Maïto
ab8d7f2548 [SYSDM] Fix uninitialized variables warnings detected by Clang. (#3619)
CORE-17545

Addendum to commit d635ce0c.

dll/cpl/sysdm/general.c:156:25: warning: variable 'hCreditsDC' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
                    if (hDC == NULL)
                        ^~~~~~~~~~~
dll/cpl/sysdm/general.c:216:25: note: uninitialized use occurs here
                    if (hCreditsDC != NULL) DeleteDC(hCreditsDC);
                        ^~~~~~~~~~

and the same for hLogoDC:

dll/cpl/sysdm/general.c:215:25: note: uninitialized use occurs here
                    if (hLogoDC != NULL) DeleteDC(hLogoDC);
                        ^~~~~~~
2021-05-05 17:24:11 +02:00
Hermès Bélusca-Maïto
cba0d64645 [SYSDM][USERINIT] Fix uninitialized variables warnings detected by Clang. (#3619)
CORE-17545

Addendum to commit d635ce0c.

- Move the HDC variables initialization via function calls, out of
  the variables declaration block.

- Fix warnings (and identical for base/system/userinit/livecd.c):

dll/cpl/sysdm/general.c:72:9: warning: variable 'hLogo' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
    if (hDC == NULL || hDCLogo == NULL || hDCMask == NULL)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dll/cpl/sysdm/general.c:130:9: note: uninitialized use occurs here
    if (hLogo != NULL) DeleteObject(hLogo);
        ^~~~~

and similar for hMask too:

dll/cpl/sysdm/general.c:129:9: note: uninitialized use occurs here
    if (hMask != NULL) DeleteObject(hMask);
        ^~~~~
2021-05-05 17:24:10 +02:00
Hermès Bélusca-Maïto
89860ab543 [SYSDM][USERINIT] Rewrite a if-condition in order to fail early, and save one level of code indentation. 2021-05-05 17:24:10 +02:00
Hermès Bélusca-Maïto
33c210da37 [USETUP] Fix letter encoding in translation. (#3619)
CORE-17545

Fix Clang warning:

base/setup/usetup/lang/de-DE.h:1099:24: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
        "die Partition <E4>ndern, die derzeit als aktiv markiert ist.",
                       ^~~~
2021-05-05 17:23:57 +02:00
Mas Ahmad Muhammad
fd4d8f550c [TRANSLATION] indonesian add and update apps/shell translation 2021-05-05 11:34:28 +02:00
Katayama Hirofumi MZ
7b27e7c4ff [CMDUTILS][FC] Implement FC wildcard handling (#3640)
Implement wildcard handling on FC (file comparison) command. And fix the bugs on zero-sized files. CORE-17500
2021-05-05 12:23:16 +09:00
Jérôme Gardou
3644f3efca [GITHUB] Improve logic to cache RosBE build
+ Minor implrovements:
  Use cmake args instead of forcing command working directory
  Give specific names to artifacts - bootcd/livecd
2021-05-04 16:26:20 +02:00
Jérôme Gardou
f421bccbcc [NTOS:MM] First shot for Working Set list support
- Initialize
- Add private page (no shared page support yet)
- Remove pages
- Trim

Yes, this is C++ in the kernel.
2021-05-04 12:02:41 +02:00
Jérôme Gardou
5466fc13a3 [NDK] Make kefuncs.h C++ aware 2021-05-04 12:02:41 +02:00
Jérôme Gardou
31afbf1054 [NTOS] Make some internal headers C++ aware 2021-05-04 12:02:41 +02:00
Jérôme Gardou
8df48f9876 [NTOS:MM] Introduce MI_IS_PROCESS_WORKING_SET helper function 2021-05-04 12:02:41 +02:00
Jérôme Gardou
6b2f05f9dd [NTOS:MM] Implement turning working set shared lock to exclusive 2021-05-04 12:02:41 +02:00
Jérôme Gardou
cd085ac12f [NTOS/MM] Implement Mi(Un)lockWorkingSetShared
Also fix checks when exclusively locking
2021-05-04 12:02:41 +02:00
Katayama Hirofumi MZ
d2c47132ad [CMDUTILS][FC] Implement text file comparison (#3625)
Implement text file comparison by using file mappings (both Unicode and ANSI). CORE-17500
2021-05-04 18:05:57 +09:00
George Bișoc
5dd93a8a5b [NTOS:SE] Get the session ID and assign it to the new token
SeExchangePrimaryToken doesn't assign the session ID to the new token, which could lead to incorrect behaviour in the long run. Let's fix that.
2021-05-04 10:08:26 +02:00
Justin Miller
0d9020634a [HALX86] Disable Lazy IRQL in APIC HAL (#3609)
Lazy IRQL feature has issues with interrupt delivery on VirtualBox, so disable it for now.
For the feature description, see commit d28eae967a

Meanwhile, merge and clean up APIC headers a bit
2021-05-04 04:29:50 +03:00
Victor Perevertkin
239266640f [GITHUB] Use full paths on build-linux, as RosBE.sh overwrites them
Addendum to 167c60a5c8 and 823ddc3d82
2021-05-04 01:32:21 +03:00
Victor Perevertkin
823ddc3d82 [GITHUB] Remove working-directory for configure
Addendum to 167c60a5c8
2021-05-04 01:21:40 +03:00
Victor Perevertkin
167c60a5c8 [GITHUB] Use cmake's -S and -B options explicitly 2021-05-04 01:10:22 +03:00
Jérôme Gardou
e9cef3f216 [GITHUB] Add clang-cl amd64 build to CI
As before, use a matrix for Ninja+Msvc build
2021-05-03 22:00:57 +02:00
Jérôme Gardou
bc92234ea4 [FDEBUG] Use VK_ identifiers with VIRTKEY 2021-05-03 22:00:57 +02:00
Jérôme Gardou
d312ef234b [PSEH] Fix use of dummy implementation in C++ 2021-05-03 22:00:57 +02:00
Jérôme Gardou
07dcec0325 [PSEH] Use dummy PSEH for clang(-cl) amd64 build 2021-05-03 22:00:57 +02:00
Jérôme Gardou
d0bb775774 [NOTEPAD] Fix resource file
VIRTKEY can't be preceded with ^
and is useless anyway
2021-05-03 22:00:57 +02:00
Jérôme Gardou
aa51bcfbcb [CMAKE] Do not use a flag which clang doesn't know 2021-05-03 22:00:57 +02:00
Jérôme Gardou
523912536e [KERNEL32] Sync NLS RC files with wine 6.7
Mostly for having them UTF-8 encoded
2021-05-03 22:00:57 +02:00
Jérôme Gardou
802665a4ac [CRT] Also use alias _rot functions for clang-cl amd64 build 2021-05-03 22:00:57 +02:00
Jérôme Gardou
4ae4590b66 [CMAKE] Do not define _M_AMD64 when using amd64 clang-cl 2021-05-03 22:00:57 +02:00
Jérôme Gardou
8aea84dab7 [CRT] Do not define builtin functions if not needed 2021-05-03 22:00:57 +02:00
Jérôme Gardou
7197620b89 [CMAKE] Always use cl to build host tools 2021-05-03 22:00:57 +02:00
Jérôme Gardou
a66214c020 [GITHUB] Enable GCC+clang amd64 build
Use github cache to build & retrieve RosBE on linux,
for now using a custom build script until Next RosBE is out

Use a matrix to manage linux gcc + clang build
2021-05-03 22:00:57 +02:00
Jérôme Gardou
061c7ecb1a [FRAMEDYN] Fix the whole situation with regards to wchar_t
Alias CHSTRING_WCHAR to unsigned short and use inline wrappers
to be able to use the thing with modern compilers

Put the GCC aliases into the public header.

Enable build with clang-cl
2021-05-03 22:00:57 +02:00
Jérôme Gardou
a8255233f8 [SPEC2DEF] Fix imports of C++ stdcall exports
Too much mangling mangles it too much
2021-05-03 22:00:57 +02:00
Jérôme Gardou
ec68a3311f [CMAKE] Use SEH exceptions for c++ in clang amd64 build 2021-05-03 22:00:57 +02:00
Jérôme Gardou
976c4c10aa [CRT] Fix SEH macros for clang x64 2021-05-03 22:00:57 +02:00
Jérôme Gardou
b52ab2493b Revert "[CMAKE] Disable SSE instruction on GCC amd64 builds"
The right fix is to ensure that the stack is properly 16-bit aligned
This reverts commit 63944988a2.
2021-05-03 22:00:57 +02:00
Oleg Dubinskiy
58daf942fe [GDI32] Fix wrong ordering of parameters in NtGdiDdGetDC call (#3637)
It allows to properly pass the surface handle (and palette entry pointer) from MS ddraw into win32k.
Otherwise, they are passing into the wrong parameters of actual NtGdi* function, and due to this,
since they're detected as invalid, they become NULL, and that function does not work correctly.

See https://docs.microsoft.com/en-us/windows/win32/devnotes/-dxgkernel-ntgdiddgetdc for the reference
(and confirmed by our headers).

Required by MS DirectDraw stack (ddraw.dll & dxg.sys).
CORE-17561
2021-05-03 18:11:18 +02:00
George Bișoc
11a60cebea [NTOS:PS] Add some data structures
These are needed for API tests. The following structures are taken from Process Hacker.
2021-05-02 21:03:09 +02:00
George Bișoc
207543429b [NTOSKRNL] Use IQS_SAME instead of ICI_SQ_SAME
And remove the redundant ICI_SQ_SAME macro as it's no longer needed in the codebase.
2021-05-02 21:00:51 +02:00
George Bișoc
efaa7b6a24 [NTDLL_APITEST] Add alignment probing tests for Query/Set information thread related routines 2021-05-02 20:58:40 +02:00
George Bișoc
3b53b3d07f [NTDLL_APITEST] Add alignment probing tests for Query/Set information process related routines 2021-05-02 20:56:14 +02:00
George Bișoc
74e527b452 [NTOS:PS] Bring the threads/processes information classes table back
These were removed in bf493b9, for whatever apparent reason. It's time to import them back.
2021-05-02 20:52:18 +02:00
George Bișoc
39b266b728 [NTOSKRNL] Move the ICIF related code and stuff into a separate header file
For easier accessibility for the APITESTs and whatnot.
2021-05-02 20:49:06 +02:00
George Bișoc
ae8ebe45d2 [NTDLL_APITEST] Implement alignment probing library code
The probing library code only probes data types for threads/processes information classes in Process Structure subsystem for now.
2021-05-02 20:45:57 +02:00
George Bișoc
66007dee2b [NTDLL_APITEST] Include the internal headers from the kernel and the probing library file 2021-05-02 20:42:19 +02:00
George Bișoc
242efae9a2 [NTOS:PS] Make sure we can impersonate the given token first
PsImpersonateClient blindly impersonates the requested client even though it doesn't know if the actual token given to the call can be impersonated for the thread of the client which we are going to begin impersonation. In the case where impersonation is not possible, make a copy of the given token and assign the newly one for impersonation instead.
CORE-17539
2021-05-02 16:55:20 +02:00
George Bișoc
18ddb6ba92 [NTOS:SE] Implement SeTokenCanImpersonate routine
SeTokenCanImpersonate ensures whether the client impersonation can occur, and if not, the call signals this to the caller.
2021-05-02 16:55:19 +02:00
Eric Kohl
a7d6483e65 [NTOS:PS] Revert 4d7062abb6 on request 2021-05-02 16:26:11 +02:00
Eric Kohl
9fa31e0f9b [NTOS:PS] Add the missing privilege check to NtSetInformationThread:ThreadPriority
This fixes the remaining failure in the NtSetInformationThread test.
2021-05-02 15:28:26 +02:00
Eric Kohl
4d7062abb6 [NTOS:PS] Add ThreadInformation probing to NtSetInformationThread
Also get rid of unused buffer check code.
This fixes two test failures.
2021-05-02 13:55:29 +02:00
Eric Kohl
2e88e2b904 [NTOS:PS] Rewrite NtSetInformationThread to match NtQueryInformationThread
The Information length must always be checked before referencing the thread object. This fixes a test failure.
2021-05-02 13:46:22 +02:00
Eric Kohl
5585767460 [NTOS:PS] Rewrite NtQueryInformationThread to match NtQueryInformationProcess
The information length must always be checked before referencing the thread object. This fixes the remaining test failure.
2021-05-02 12:46:55 +02:00
Serge Gautherie
249f2388bd [REACTOS] Fix parameter types on some exports (#3217)
Fix some wrong parameter types on some exports in NTDLL, KERNEL32, WTSAPI32, and NTOSKRNL.
2021-05-01 21:11:34 +02:00
Serge Gautherie
5d89643311 [NTOS:OB] ObQueryDeviceMapInformation(): Fix annotations 2021-05-01 11:26:07 +02:00
Serge Gautherie
f1689cdcea [PSDK] UnlockResource(): Improve definition
Sync' with
a9e50da352
2021-05-01 09:48:02 +02:00
Katayama Hirofumi MZ
92e3b426b3 [CMD_APITEST] Follow-up of #3632 (0c2230a)
CORE-17500
2021-04-30 10:48:33 +09:00
Hermès Bélusca-Maïto
bb467003b7 [INF] Remove stray file. Addendum to commit a1fc312a. 2021-04-30 02:42:35 +02:00
Serge Gautherie
8a61e4f08c [NTOS:PS] NtQueryInformationProcess(): Fix ProcessDeviceMap case
Fix Clang-Cl
'...\ntoskrnl\ps\query.c(583,33): warning: variable 'Status' is uninitialized when used here [-Wuninitialized]'

Addendum to 1074a9a.
2021-04-29 21:40:58 +02:00
Serge Gautherie
c0961cac10 [NTOS:PS] NtQueryInformationProcess(): Sync' annotations 2021-04-29 21:40:58 +02:00
Katayama Hirofumi MZ
91dc5eac7d [FC] Fix typo s/IDS_RESYNCH_/IDS_RESYNC_/ s/Resynch/Resync/
CORE-17500
2021-04-29 16:59:20 +09:00
Katayama Hirofumi MZ
0c2230ad64 [CMD_APITEST] Add FC testcase (#3632)
Add a testcase for FC (file comparison) command to investigate FC command. CORE-17500
2021-04-29 16:39:13 +09:00
Hervé Poussineau
a1fc312a89 [NE2000] Use the real MAC address instead of a fake one
These lines were added 15 years ago, in r18445.
2021-04-28 17:28:38 +02:00
Jérôme Gardou
b97d5fd2f7 [NTOS:KDBG] Fix invalid DBG print 2021-04-28 15:58:01 +02:00
Jérôme Gardou
0ab44664b6 [KDGDB] Remove debugging leftover 2021-04-28 14:52:05 +02:00
Jérôme Gardou
3726b992ed [NTOS:KDBG] Begin port for amd64.
Not really functional, but it prints debug output.
Take this as an opportunity to add consistancy between some i386 & amd64 intrinsics
2021-04-28 13:10:23 +02:00
Jérôme Gardou
439aefb31d [CRT] Sync tlssup.c with mingw-w64
This allows amd64 built binary to be loaded.
2021-04-28 13:10:23 +02:00
Jérôme Gardou
fe3278d4d6 [CRT] We never use the mthread library 2021-04-28 13:10:23 +02:00
Jérôme Gardou
3ee1eb42a5 [KDGDB] Avoid looping for ever when something unexpected happens 2021-04-28 13:10:23 +02:00
Jérôme Gardou
2413530acf [SDK] Use GAS SEH capabilities instead of CFI
Also remove a hack for x86 GAS which no longer holds
2021-04-28 13:10:23 +02:00
Jérôme Gardou
5e29e98f91 [NTOS:KE] Explicitly use sysretq instruction 2021-04-28 13:10:23 +02:00
Jérôme Gardou
63944988a2 [CMAKE] Disable SSE instruction on GCC amd64 builds
Except for user-mode modules
2021-04-28 13:10:23 +02:00
Jérôme Gardou
ba74a05a17 [PSEH] Add implementation for GCC amd64
Also, put include directory next to the library and use
target_include_directories(.. INTERFACE ..) to get this right.
This is because :
 - Having includes & implementation in two different places buggers me
 - This makes sure that there is no "if it compiles everything is fine" behaviour from anyone
   because now even static libraries need it for GCC amd64 build
Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers
where we define macros involving __try
2021-04-28 13:10:23 +02:00
Jérôme Gardou
d31856cda1 [CRT] Do not include unneeded PSEH header 2021-04-28 13:10:23 +02:00
Jérôme Gardou
e470b58376 [REACTOS] Explicitly link against pseh & include pseh headers in a few places 2021-04-28 13:10:23 +02:00
Jérôme Gardou
37bc01f42b [CMAKE] Introduce a GCC plugin for helping with amd64 SEH implementation
\#pragma REACTOS SEH(except)
\#pragma REACTOS SEH(finally)
What it does is counting the number of SEH __try blocks and emit the proper assembly statements at function prologue
It also checks for mixing C++ & SEH exception handling, which wouldn't work
2021-04-28 13:10:23 +02:00
Jérôme Gardou
8abcd18742 [RTL] Use addressing relative to rip 2021-04-28 13:10:23 +02:00
Jérôme Gardou
96a2b18903 [PSEH] Make the dummy PSEH at least usable.
Not screwing the code flow when no exception happens would be the least
2021-04-28 13:10:23 +02:00
Jérôme Gardou
617c7cc377 [HALX86] Use addressing relative to RIP 2021-04-28 13:10:23 +02:00
Jérôme Gardou
6f000979eb [BTRFS] Use addressing relative to RIP 2021-04-28 13:10:23 +02:00
Jérôme Gardou
0eea78648c [KDGDB] Adapt to amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou
97858f3c87 [REGEDIT] Fix declaration of DbgPrint 2021-04-28 13:10:23 +02:00
Jérôme Gardou
955b5c27b1 [CRT] Fix __ll_lshift, __ll_rshift and __ull_rshift intrinsics on gcc-amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou
97a8953538 [CMAKE:GCC] Enforce file alignment on driver & kernel images 2021-04-28 13:10:23 +02:00
Jérôme Gardou
382426f02e [NDK] Add some missing defines for EFLAGS on amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou
662774bca3 [NTOS] Do not force-align an integer value 2021-04-28 13:10:23 +02:00
Jérôme Gardou
d55276aad9 [FREELDR] Save used register when calling PNPBIOS 2021-04-28 13:10:23 +02:00
Jérôme Gardou
2bf116359b [FREELDR] Force alignment of .text section on disk
Fixes boot for clang & GCC-amd64 build
Also rename freeldr_i386.lds to freeldr_gcc.lds for better clarity
2021-04-28 13:10:23 +02:00
Jérôme Gardou
7513cc9fca [PSDK] Do not compare to max value if we can make sure that the value fits in target type
This fixes clang warning -Wtautological-constant-out-of-range-compare
2021-04-28 13:10:23 +02:00
Jérôme Gardou
a4138329a1 [CRT] Add macros to disable diagnostics from GCC and clang
Instead of disabling them globally, this will help making finer grained decisions
2021-04-28 13:10:23 +02:00
Jérôme Gardou
1d1a21a920 [SDK] Make sure we build pefixup with AMD64 definitions 2021-04-28 13:10:23 +02:00
Jérôme Gardou
b513c61cd1 [SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools 2021-04-28 13:10:23 +02:00
Jérôme Gardou
79bc62f206 [COMPILER_APITEST] Disable SEH tests for GCC amd64 build 2021-04-28 13:10:23 +02:00
Jérôme Gardou
0995b35bac [KERNEL32_APITEST] Fix compilation & global wut?? with SSE exception test 2021-04-28 13:10:23 +02:00
Stanislav Motylkov
4959ccc8df [ACPI] Improve Russian translation INF file
Also some minor whitespace fixes
2021-04-27 23:58:53 +03:00
Stanislav Motylkov
ea1f724928 [FC] Add Russian (ru-RU) translation
Addendum to 2db87ebd.
2021-04-27 18:40:23 +03:00
George Bișoc
5222eae730 [NTDLL_APITEST] Implement NtImpersonateAnonymousToken testcase 2021-04-27 12:25:03 +02:00
George Bișoc
44fb528fcc [NTOS:SE] Implement the NtImpersonateAnonymousToken system call
Implement SepImpersonateAnonymousToken private helpers, which is necessary for the complete implementation of NtImpersonateAnonymousToken function and thus finally we're able to impersonate the anonymous logon token.
2021-04-27 12:25:03 +02:00
George Bișoc
12c69e6d63 [NTOS:SE] Add the declaration prototype of SepRegQueryHelper in the internal header 2021-04-27 12:25:03 +02:00
George Bișoc
b68216e503 [NTOS:SE] Annotate the function parameters of SepRegQueryHelper with SAL
And add a documentation comment header
2021-04-27 12:25:03 +02:00
George Bișoc
d28d2eb5f8 [BOOTDATA] Include EveryoneIncludesAnonymous registry value on Lsa system key
For further information
https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-impersonateanonymoustoken
2021-04-27 12:25:03 +02:00
Jérôme Gardou
9ef5a7eb7a [CMAKE] Fix compilation with newer windres versions
Also use clang as preprocessor when using it
Also, use *our* headers instead of the platform ones
2021-04-27 11:54:12 +02:00
Jérôme Gardou
ba9a7decba [PSDK] Import winuser.rh from wine 6.7 2021-04-27 11:54:12 +02:00
Katayama Hirofumi MZ
c3adff41b4 [CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED
CORE-17500
2021-04-27 18:45:24 +09:00
Piotr Hetnarowicz
622c226e2e [FC] Add the Polish translation (#3629) 2021-04-27 11:20:56 +02:00
Omer Itzic Schwartz
5582fb30a5 [JOY] Update Hebrew (he-IL) translation (#3563) 2021-04-27 10:52:09 +03:00
Serge Gautherie
b8ae966634 [CRT] exp2*.c: Add an explicit type for 'TWO' variable
Addendum to 199adee.
2021-04-27 10:36:54 +03:00
Serge Gautherie
b6493654a3 [CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta
Addendum to bc3a471.
2021-04-27 10:36:54 +03:00
Serge Gautherie
c41007624f [CMAKE] config.cmake: Fix 'STEQUAL' typo, in a comment
Addendum to e90b6bb.
2021-04-27 10:36:54 +03:00
George Bișoc
f9c603db6e [NTOS:OB] Do not close the handle if it's granted access to ObpAccessProtectCloseBit
As of now the Object Manager private service, ObpCloseHandleTableEntry, looks for OBJ_PROTECT_CLOSE attribute if a handle should not be closed. However, in ObDuplicateObject if an attribute of OBJ_PROTECT_CLOSE is found as it's been filled to the caller (see L2466) this attribute is removed from the attributes list of the new handle and ObpAccessProtectCloseBit access is granted to the newly duplicated object handle.

With that being said ObpCloseHandleTableEntry indiscriminately closes the object handle albeit it shouldn't do so. As a matter of fact in Windows Server 2003 SP2 this service indeed checks for ObpAccessProtectCloseBit flag bit and if the condition is met then it returns STATUS_HANDLE_NOT_CLOSABLE as it should. Therefore we should do the same.

Now NtClose can properly warn the calling thread the object handle can't be closed which fixes a testcase failure within NtDuplicateObject NTDLL APITEST where this function gives handle close protection bit as requested by the caller.
2021-04-26 19:36:38 +02:00
Serge Gautherie
710acab83d [NTOS:MM] MiSetPagingOfDriver(): Add an explicit #if around unreachable code 2021-04-26 10:27:20 +02:00
Hermès Bélusca-Maïto
869a914cfd [SYSSETUP] Forgot to update the ROS banner after 2021. Addendum to b570fac1. 2021-04-26 02:21:59 +02:00
Katayama Hirofumi MZ
2db87ebde3 [FC][TRANSLATION] FC: Enable localization (#3626)
Enable localization on FC (file comparison) command. CORE-17500
2021-04-26 09:08:06 +09:00
Katayama Hirofumi MZ
9404bac5ee [CMDUTILS][FC] Follow-up of #3622 (8bf4711)
CORE-17500
2021-04-26 08:52:22 +09:00
Stanislav Motylkov
eff05c34b7 [USETUP] Update Russian (ru-RU) translation
Addendum to 3ee9535e. CORE-17523
2021-04-26 02:06:14 +03:00
Konrad Dybcio
d5421d5a3d [HHPCOMP] Add ARM64/AArch64 types
These were missing... not anymore!

Addendum to 4c7b71ac. CORE-17518

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-04-25 21:08:17 +03:00
Stanislav Motylkov
58a3928571 [WINLOGON] Update Russian (ru-RU) translation
Addendum to 7ca90b50, 9a6d4bf0, ec2bfa2e and 5f033392.
2021-04-25 20:22:45 +03:00
Eric Kohl
9cdd53ffeb [MMSYS] Implement ShowAudioPropertySheet() and ShowFullControlPanel() 2021-04-25 19:04:35 +02:00
George Bișoc
ffea5152e6 [WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
Thanks goes to I_Kill_Bugs for the patch (and partly to Kyle Katarn for the PR) and Hermes for tweaking the patch code. Had to make a commit myself as the PR author's account is deleted.

Signed-off by: I_Kill_Bugs (original patch author)
Signed-off by: Kyle Katarn <contact@kcsoftwares.com>
Signed-off by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-04-25 15:56:39 +02:00
Katayama Hirofumi MZ
66f6abfc4a [SDK][INCLUDE] Fix offsetof and CCSIZEOF_STRUCT for Clang-CL build (#3624)
Clang-CL was failing with "error: function declaration cannot have variably modified type". This PR will fix the Clang-CL build. CORE-17547
2021-04-25 13:38:22 +09:00
Katayama Hirofumi MZ
8bf471105e [CMDUTILS][FC] Initial implement FC command (#3622)
Implement FC (file comparison) command. As a starting point, we support binary mode comparison at first. Text mode comparison and wildcard are not supported yet. CORE-17500
2021-04-25 13:06:13 +09:00
alexpavlovic
db269c85e6 [TRANSLATION][CACLS] Add Serbian translation (#859) 2021-04-24 20:38:20 +02:00
Serge Gautherie
db416e3914 [REACTOS] InitImageList(): Fix error checks
And simplify code a bit.
2021-04-24 20:35:48 +02:00
Serge Gautherie
a120d67d0e [USRMGR] Increase name sizes to 'UNLEN + 1' 2021-04-24 20:30:58 +02:00
George Bișoc
1cf1892b14 [COMCTL32] Fix an incorrect returned value for ImageList_Remove
Thanks goes to Kyle Katarn. Had to make a commit myself due to author's account being deleted.

Signed-off-by: Kyle Katarn <contact@kcsoftwares.com>
2021-04-24 20:13:56 +02:00
Abdulganiev Rafael
48d9c07894 Fix start logo resource 2021-04-24 18:17:41 +02:00
Eric Kohl
0f27609813 [UMPNPMGR] Fix DPRINT in PNP_GetDeviceStatus() 2021-04-24 17:06:08 +02:00
Eric Kohl
b24f463a33 [UMPNPMGR] Start the device in SetupDeviceInstance 2021-04-24 17:04:11 +02:00
Eric Kohl
d5b20cb118 [UMPNPMGR] Implement PNP_SetDeviceProblem
CORE-17527
2021-04-24 11:59:22 +02:00
George Bișoc
c0c431b0ee [TRANSLATION][WINLOGON] Small Romanian & Italian translation update
Small translation update as per the pushed 5f03339 commit.
2021-04-22 18:12:22 +02:00
George Bișoc
84b3fecb26 [MSGINA] Determine which kind of dialog box is before terminating it
Do a sanity check onto the dialog box type before terminating it. As it stands now, a call of PostQuitMessage() is invoked even when the dialog box is modal. This is illegal due to the fact that the shutdown dialog box is initiated by the "Security" main window thus WlxDialogBoxParam.

A call to PostQuitMessage onto a modal dialog box leads to a undefined behaviour, as it'll not just terminate the thread but also eventually killing the Winlogon process whose the thread belongs to.
CORE-17535
2021-04-22 13:30:55 +02:00
Victor Perevertkin
246dbd3384 [GITHUB] Update LLVM version to 12 and fix indentation 2021-04-22 13:48:43 +03:00
Eric Kohl
32428a39ed [NEWDEV] Set the CM_PROB_FAILED_INSTALL problem code on failed install
CORE-17527
2021-04-20 22:00:41 +02:00
Hervé Poussineau
1ff3d1c395 [DHCPCSVC] Change automatic address assignment to use hardware address
According to RFC 3927, the pseudo-random number generation algorithm MUST be chosen
so that different hosts do not generate the same sequence of numbers, and that the
pseudo-random number generator SHOULD be seeded using a value derived from the
IEEE 802 MAC address, so that a host will usually select the same IPv4 Link-Local
address each time it is booted.
2021-04-20 18:28:36 +02:00
Serge Gautherie
0dedb9b474 [WINLOGON][MPR][SDK] WNetClearConnections: Fix function parameter type (#3480)
Addendum to 62f79fae93.

Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2021-04-18 21:58:44 +03:00
Arnav Bhatt
5f03339239 [WINLOGON] Show "Restarting..." message when restarting (#3593)
Signed-off-by: Arnav Bhatt <arnavbhatt288@gmail.com>
2021-04-18 21:48:30 +03:00
George Bișoc
3d8dd932b1 [NTOS:SE] Lock the token in SeQueryInformationToken and do some cleanup
* Guard the token in a lock whilst querying stuff
* Remove the piece of code that checks if the information class provided is above the maximum information class threshold. That code literally duplicates the inner functionality of the default case in the switch block, where the code falls in that case if an invalid information class is provided anyway.
* Remove the redundant information classes. Internally, this function in Windows has 12 switch case blocks (11 token info classes + the default case) and the other classes are supported in NtQueryInformationToken only so it doesn't make any logical sense to keep them in the codebase.
* Annotate the argument parameters with SAL and add documentation header
2021-04-18 13:56:37 +02:00
Mark Jansen
3feb0cfb9f [CONFIGURE] Fix warnings shown when parsing cmdline 2021-04-18 13:40:30 +02:00
Hervé Poussineau
af9df93274 [WS2_32] Create registry keys Protocol_Catalog9/NameSpace_Catalog5 if needed
This fixes networking in LiveCD and installation in 2nd stage.
CORE-17514
2021-04-17 23:57:41 +02:00
Eric Kohl
9e947e2b2b [DEVMGR] Get rid of the unknown device class hack
Treat the unknown device class like any other device class.

CORE-17527
2021-04-16 23:45:08 +02:00
Serge Gautherie
7d77ec28f7 [CMAKE] winetests/: Move '/wd4133' to gdiplus/ only
Addendum to 42d2d5e.
CORE-7538
2021-04-16 15:00:03 +03:00
Eric Kohl
3fa57b8ff7 [NEWDEV] When a device install fails, set the 'Unknown' device class for that device
CORE-17527
2021-04-15 21:49:32 +02:00
George Bișoc
0e3fce082e [TRANSLATION][RAPPS] Fix the unrecognised escape sequence in the Hungarian translation
This is an addendum to ea04edc. The author has forgotten the newline escape sequence, whoops...
2021-04-15 17:23:25 +02:00
Victor Perevertkin
7194f2f044 [UDFS] Remove /Gz flag from options on MSVC 2021-04-15 06:45:54 +03:00
Victor Perevertkin
d10728a645 [CMAKE] Rely less on CMAKE_BUILD_TYPE variable
Having conditional statements with CMAKE_BUILD_TYPE is an antipattern
See https://stackoverflow.com/questions/66079007/having-conditional-statements-on-build-type-variable-a-good-design

We use both single- and multi-config generators (Ninja and VS), so we
can't really rely on CMAKE_BUILD_TYPE, because it's not always set.

This commit alters some conditional flags to use <$CONFIG:...>
generator expression, but is still not complete. Also, our default
optimization level (4) now has what was always a de-facto flags
2021-04-15 06:44:56 +03:00
Victor Perevertkin
f0b53998c8 [CMAKE] Require ARCH variable to be specified explicitly
Also, use CMAKE_TRY_COMPILE_PLATFORM_VARIABLES in toolchain files
to solve issues with ARCH not being passed during try_compile
2021-04-15 06:44:55 +03:00
Victor Perevertkin
72ad37c1cd [CMAKE] Unify configs for architectures
config*.cmake files are constantly getting out of sync between
each other. Besides that, the parameters are not really dependent
on a target architecture, but rather on a compiler (except *ARCH)

This approach seems to be more future-prone, and allows to see
all the options in one file (there are really not that many of them)
2021-04-15 06:44:52 +03:00
Serge Gautherie
1758c3831b [MSHTML] MSVC: There is no 'error C4028' anymore
MSVC amd64
'...\dll\win32\mshtml\nsio.c(3755): error C4028: formal parameter 3 different from declaration'
was fixed by 5ed1867.

CORE-7538
2021-04-14 20:55:57 +02:00
Tibor Lajos Füzi
ea04edce2d [TRANSLATION] Add/update Hungarian translation for solitaire, spider solitaire, rapps, usetup, cpl/timedate, shell32, user32 2021-04-14 16:16:24 +02:00
Serge Gautherie
8ddbfdeb57 [BOOTDATA][CMAKE] Sort 2 directories out
winsxs\x86_reactos.newapi_6595b64144ccf1df_1.0.0.0_none_deadbeef:
removed: silently added on 8d30456 and never used.

bin\suppl:
moved: to 60 from 80.
2021-04-12 17:40:18 +02:00
Hervé Poussineau
e044df8736 [SETUPAPI] Correctly enumerate non-installed devices in SetupDiGetClassDevsExW
Always try to read the correct device GUID from registry, even if GUID filter is disabled.

CORE-17527
2021-04-11 15:12:02 +02:00
Hervé Poussineau
f9df7af28a [SETUPAPI] Reimplement SetupDiBuildClassInfoListExW using CM_* functions
We can now enumerate device classes on other computers.
2021-04-11 15:12:02 +02:00
Hervé Poussineau
8da00cd97c [SETUPAPI] Fix CM_Open_Class_Key_ExW, when pClassGuid is used
Braces around GUID were missing.
2021-04-11 15:12:02 +02:00
Chan Chilung
6b700c6af1 [TRANSLATION] Chinese Traditional (zh-TW) translation update (#3526)
*Add Chinese Traditional translation for:
- [THEMES]
- [HIVESFT]
- [HIVEDEF]
- [HIVECLS]
- [SCREENSAVERS]
- [VGAFONTEDIT]
- [KERNEL32]
- [TASKLIST]
- [MYDOCS]
- [MSXML3R]
- INFs

*Chinese Traditional translation update for:
PR 3399
- [MSGINA]
- [SHELL32]

PR 3422
- [SOLITAIRE]

Others...

*Wine translation sync
2021-04-11 10:59:19 +02:00
Jose Carlos Jesus
415e93ae13 [CHKDSK][USERINIT] Add and improve Portuguese (pt-PT) translation (#3553) 2021-04-11 10:40:58 +03:00
Serge Gautherie
ea3eaa5d87 [UNIATA] uniata_reg.inf: Add 'PnpInterface\5' key
commented out, for the time being.

CORE-17395
2021-04-11 09:30:42 +03:00
Serge Gautherie
29c061e499 [UNIATA] DriverEntry(): Fix 'Paramaters' typo, in reg key names
CORE-17524
2021-04-11 09:30:28 +03:00
Serge Gautherie
d3fc345730 [CMD] de-DE: Fix 'Paramater' typo 2021-04-11 09:30:28 +03:00
Serge Gautherie
0236666968 [UMANDLG] DlgProc(): Fix 'paramater' typo, in documentation 2021-04-11 09:30:28 +03:00
Eric Kohl
8c475e4709 [CMAKE] Build xboxvmp in Xbox-builds only
This prevents the creation of a fake Xbox GPU device on non-Xbox builds.

CORE-17529
2021-04-10 20:15:36 +02:00
George Bișoc
2ae526a039 [SHELL32] Do not format the partition if it's a system drive
Implement a sanity check helper which determines if the partition is a system drive or not based on the %SystemDrive% environment variable, preventing the user from nuking accidentally the partition with ReactOS system files installed. :P

NOTE: This code serves as a temporary measure to prevent accidental formatting of the system drive. In the future most of this code has to be totally rewritten (and stopping syncing with WINE altogether) as well as FMIFS library code so that we're on par in terms of compatibility with Windows.
2021-04-10 17:38:23 +02:00
Eric Kohl
c2757032c8 [DEVMGR] Use FlagsEx to check for DI_FLAGSEX_POWERPAGE_ADDED 2021-04-10 16:22:47 +02:00
Eric Kohl
ab0bbeb126 [DEVMGR] UpdateDevInfo: Enable built-in property pages by default
CORE-17532
2021-04-10 15:50:37 +02:00
George Bișoc
aea948a79e [OSK] Handle the warning dialog box in its own thread
The dialog box at the startup of On-Screen Keyboard is displayed alongside with main window. While the Microsoft's OSK in XP is written in MFC and OSK is actually a mere window whereas our OSK is a dialog, the main dialog procedure call is superseded until the user does something with the warning dialog box on startup.

Just create a thread for it and handle the dialog box on startup in its own thread.
2021-04-10 10:05:08 +02:00
Hermès Bélusca-Maïto
3ad573f92f [NTOS:KE] Both KeFindConfigurationEntry() and KeFindConfigurationNextEntry() functions are exported by NTOSKRNL, so they definitively must NOT be in the discardable INIT section!!
Noticed while reviewing c7d1ff4a.
2021-04-10 00:43:52 +02:00
Jérôme Gardou
3731fd1661 [CRT] Properly declare rot functions in public headers 2021-04-09 15:12:13 +02:00
Jérôme Gardou
620f333252 [CRT] Fix rot functions aliases in non-x86 clang builds 2021-04-09 15:00:07 +02:00
Jérôme Gardou
199adee3fe [CRT] Add a generic C version of exp2(f) and use it for all architecture 2021-04-09 14:59:07 +02:00
Jérôme Gardou
a19ca409ae [PSEH] Each amd64 compiler that we use support SEH 2021-04-09 12:36:04 +02:00
Jérôme Gardou
76a241dea6 [CMAKE] Also set GCC/CLANG variables on amd64 builds 2021-04-09 12:35:30 +02:00
Jérôme Gardou
bc3a471413 [CRT] Do not try to implement x86_64 builtins of clang 2021-04-09 10:33:05 +02:00
Jérôme Gardou
b379743ccb [CMAKE] Use find_program to get the location of LD when building with clang 2021-04-09 10:32:12 +02:00
Jérôme Gardou
83e1afe12a [CMAKE] Do not call clang with unsupported arguments 2021-04-09 10:09:55 +02:00
Victor Perevertkin
f3e1697c2b [NDK] DATA_SEG requires an extra #pragma on MSVC 2021-04-09 04:38:35 +03:00
Victor Perevertkin
6645227270 [PC98VID] Fix a typo, addendum to 959729f6ee 2021-04-09 03:59:55 +03:00
Victor Perevertkin
74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
Victor Perevertkin
959729f6ee [PC98VID] Fix clang 12 warning 2021-04-09 03:54:25 +03:00
Victor Perevertkin
c7d1ff4a9d [SDK][NDK] Fix clang 12 compilation 2021-04-09 03:51:32 +03:00
Mark Jansen
2587d72ef7 [WINSXS] Add some amd64 manifests
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2021-04-08 20:48:24 +03:00
Jérôme Gardou
c48580135d [NTOS:MM] Fix a bit page fault handler with regard to COW sections 2021-04-08 15:40:37 +02:00
Jérôme Gardou
a34d9bcfb6 [NTOS:MM] Share "page.c" between i386 & amd64 builds 2021-04-08 15:40:37 +02:00
Jérôme Gardou
7ea8312617 [NTOS:MM] Split MmCreateProcessAddressSpace in two parts
Generic one and arch-specific one.
Properly fail if we are out of resources.
Restore a lost assert.
2021-04-08 15:40:37 +02:00
Jérôme Gardou
6c027d28f9 [NTOS:MM] Properly track system process hyper space PDE page 2021-04-08 15:40:37 +02:00
Jérôme Gardou
370982aa1d [NTOS:MM] Make i386/page.c usable for all x86 variants
This includes PAE & amd64
2021-04-08 15:40:37 +02:00
Jérôme Gardou
6d957d6958 [NDK] Define NX bit in X86PAE PTE struct 2021-04-08 15:40:37 +02:00
Jérôme Gardou
b10d92a16c [NTOS:MM] Use MI_MAKE_HARDWARE_PTE & friends in legacy Mm 2021-04-08 15:40:37 +02:00
Jérôme Gardou
43378411fb [NTOS:MM] Rewrite arch-specifics of the legacy Mm
Properly handle PDE refcounting
Clean-up of the internal API
Enforce attaching to the process when modifying its memory layout, instead of
making circonvoluted mappings which always end up being broken.
2021-04-08 15:40:37 +02:00
Jérôme Gardou
b445005c70 [NTOS:MM] Get rid of MmRosFlushVirtualMemory
It's not used anywhere now, and it will eventually be gone
2021-04-08 15:40:37 +02:00
Jérôme Gardou
9e121fb6c2 [NTOS:MM] Get rid of MmSetCleanAllRmaps and MmIsDirtyPageRmap
Everything is wrong with them. Bad locking. Bad logic.
2021-04-08 15:40:37 +02:00
Jérôme Gardou
7bffb92099 [NTOS:MM] Let ARM3 handle invalid PDE for itself. 2021-04-08 15:40:37 +02:00
Jérôme Gardou
36a92e6ea5 [NTOS:MM] Fix a bit the page-out/page-in logic
- Do not lock the section segment when we are serving a fault for a process private page.
 - Do not keep the process address space lock while writing to pagefile.
 - Do not wait for an event that might never be set.
2021-04-08 15:40:37 +02:00
Jérôme Gardou
c4232ae995 [CMAKE] Fix a file name 2021-04-08 15:35:22 +02:00
Katayama Hirofumi MZ
773ad7aebc [BROWSEUI] auto-completion: Support large number items (#3592)
If the items are too many, enable filtering in item enumeration. CORE-9281
2021-04-08 15:02:05 +09:00
Jérôme Gardou
82c908195c Revert "[NTOS:MM] Allow MiMapPageInHyperSpace to be called from DISPATCH_LEVEL"
This reverts commit 8404d1a6ff.
Not ready for prime time, sorry.
2021-04-07 23:26:44 +02:00
Jérôme Gardou
8404d1a6ff [NTOS:MM] Allow MiMapPageInHyperSpace to be called from DISPATCH_LEVEL
Also annotate it to show its behaviour.
2021-04-07 23:09:26 +02:00
Eric Kohl
81fd88e249 [INF] Disable the AddInterface directive temporarily, in order to install volume devices.
CORE-17530
2021-04-07 22:39:47 +02:00
Eric Kohl
e4646bc5d1 [SETUPAPI] SetupDiInstallDevice: Do not fail if the .inf file does not have a .Services section
CORE-17530
2021-04-07 21:39:55 +02:00
Hervé Poussineau
4d25869e0e [SYSSETUP] Manually start PlugPlay service, and wait for it before continuing
That way, class installers are already registered before installing devices.

CORE-17538
2021-04-07 19:35:50 +02:00
Oleg Dubinskiy
52f4d8019b [NTOS:MM][NTOS:SE] Mute some noisy stubs
Mute debug prints of MmDoesFileHaveUserWritableReferences and SeAuditingFileEventsWithContext stubs.
These stubs are very noisy and create a lot of spam in the log when using Microsoft NTFS driver in ReactOS (with some other improvements applied).
Implementing those functions isn't badly required for the proper work of this driver, so better way for now is just mute these stubs a bit.
After my changes, they will be displayed only once, and the log will be more clear, so it will seem to be enough to understand that the driver calls these routines.
CORE-17409
2021-04-07 13:16:03 +02:00
George Bișoc
3ee9535e05 [USETUP] Display some contents in the page whilst installing the bootloader (#3559)
CORE-17523
2021-04-07 10:11:07 +02:00
Katayama Hirofumi MZ
f511258ee5 Revert '[FONTEXT_APITEST] Follow-up of #3585' 2021-04-07 17:08:23 +09:00
Katayama Hirofumi MZ
2fd058dce6 [BROWSEUI] Reduce IAutoComplete failures (#3590)
- Delete OnEditUpdate method.
- Improve the expand condition.
CORE-9281
2021-04-07 13:38:22 +09:00
Katayama Hirofumi MZ
4214c2bf3c [BROWSEUI_APITEST] Strengthen IAutoComplete testcase 2021-04-07 12:39:28 +09:00
Jérôme Gardou
96dc5836ab [CMAKE] Make cmake use static libraries for testing the compiler 2021-04-06 19:28:47 +02:00
Jérôme Gardou
9c4ae0d05e [CMAKE] Honor CMAKE_EXE_LINKER_FLAGS_INIT in GCC build 2021-04-06 19:26:33 +02:00
Jérôme Gardou
0d3825862f [NTOS:KE] Rewrite KiSystemCallTrampoline in assembly
Instead of making assumptions about what the compiler does with forced-inline functions
2021-04-06 17:57:18 +02:00
Katayama Hirofumi MZ
2eaf0afcd2 [BROWSEUI] auto-completion: Reduce failures in ACListISF (#3589)
Reduce failures in ACListISF testcase. Skip left space in auto-completion. Accept the pair of drive letter and colon. CORE-9281
2021-04-06 21:56:40 +09:00
Katayama Hirofumi MZ
a105b5d355 [FONTEXT_APITEST] Follow-up of #3585 (deb928c)
Strengthen GetDisplayNameOf testcase. CORE-9281, CORE-16444
2021-04-06 09:02:53 +09:00
Mark Jansen
deb928c4bc [FONTEXT_APITEST] Show that fontext returns absolute paths with SHGDN_FORPARSING (#3585)
Add GetDisplayNameOf testcase. CORE-9281, CORE-16444
2021-04-06 07:54:58 +09:00
Eric Kohl
a959d6e473 [PARTMGR] Volume devices do not have compatible IDs and their instance IDs are not unique 2021-04-05 15:35:21 +02:00
Katayama Hirofumi MZ
fefac1fb1d [BROWSEUI] Accept environment variables in ACLO_FILESYSDIRS
Properly handle ACLO_FILESYSDIRS. CORE-9281
2021-04-05 22:20:01 +09:00
Eric Kohl
d8c38c4b4c [NTOS:PNP] PiSetDevNodeText: Do not overwrite existing DeviceDesc values
CORE-17513
2021-04-05 14:33:48 +02:00
Katayama Hirofumi MZ
badcfb2f7d [BROWSEUI] Accept environment variables on auto-completion
Expand %WINDIR%, %SystemRoot% etc. at CACListISF::Expand. CORE-9281
2021-04-05 17:20:35 +09:00
Katayama Hirofumi MZ
a5950308fd [BROWSEUI] Follow-up of #3582
Also fixes VK_HOME and VK_END. CORE-9281
2021-04-05 07:43:40 +09:00
Katayama Hirofumi MZ
ab7d8f3616 [BROWSEUI][BROWSEUI_APITEST] Add CLSID_ACLHistory stubs (#3582)
- Initial implement CLSID_ACLHistory as stub.
- Add IACLHistory testcase into browseui_apitest.
CORE-9281
2021-04-05 04:20:18 +09:00
Eric Kohl
6c4b4a107b [DEVMGR] Display hexadecimal values of Capabilities, ConfigFlags, DevnodeFlags and CsFlags 2021-04-04 11:44:38 +02:00
Serge Gautherie
28dadda8be [CMAKE] Properly generate all Bison and Flex files at build time
This fully reverts 09c4d0a.

Addendum to 5375e33.
CORE-15991
2021-04-03 21:50:08 +03:00
Mark Jansen
5e928e5c92 [NTOS:MM] Stubplement cookie generation for drivers 2021-04-03 18:08:53 +02:00
Katayama Hirofumi MZ
206156fad5 [BROWSEUI] Fix auto-completion on relative paths (#3578)
Fix the CLSID_ACListISF object about relative paths. If the given path is relative at CACListISF::Expand, then convert it to a full path. CORE-9281
2021-04-03 20:38:25 +09:00
Katayama Hirofumi MZ
e771589ae1 [BROWSEUI_APITEST] Strengthen ACListISF testcase (#3577)
Analyze CLSID_ACListISF's behavior about relative paths. CORE-9281
2021-04-03 16:56:49 +09:00
Eric Kohl
c449929fef [NTOS:EX] Use RtlCutoverTimeToSystemTime to determine the current time zone id
CORE-14658
2021-04-03 09:38:07 +02:00
Mark Jansen
97a23a5f3d [SERVICES] Fix booting with DPH enabled
RegSetValueExW tries to read one extra character after the buffer,
to see if a REG_SZ is null terminated
2021-04-03 01:54:57 +02:00
Mark Jansen
5028c3adec [UMPNPMGR] Fix remaining length calculation 2021-04-03 01:43:48 +02:00
Hervé Poussineau
4712deb8a8 [SETUPAPI] Fix wrong buffer size given to CM_Get_Device_ID_List_ExW
This buffer overflow was introduced in previous commit.
2021-04-03 00:52:01 +02:00
Hervé Poussineau
0f3133c308 [SETUPAPI] Use CM_* functions to get list of devices
- this prevents duplicating the code with umpnpmgr::PNP_GetDeviceList
- we can enumerate devices on other computers

This is part of the bugfix for CORE-17529
2021-04-02 21:41:09 +02:00
Katayama Hirofumi MZ
ade5413362 [SHELL32] Auto-completion on Properties for Shortcut (#3574)
Enable auto-completion on "Properties for Shortcut files". CORE-9281
2021-04-02 17:04:43 +09:00
Katayama Hirofumi MZ
62b13979f5 [NEWDEV] Enable auto-completion on Hardware Wizard (#3573)
Realize auto-completion on Hardware Wizard. CORE-9281
2021-04-02 11:06:01 +09:00
Katayama Hirofumi MZ
b591bd3354 [NEWDEV] Use new UI dialog for browsing folder
Add BIF_USENEWUI flag to BROWSEINFO. CORE-9281
2021-04-02 08:58:09 +09:00
Katayama Hirofumi MZ
bebdfda8b7 [NOTEPAD][WORDPAD][MSPAINT]... Use newer file open dialog (#3571)
Use new-style file open/save-as dialog.
- Add OFN_EXPLORER flag to OPENFILENAME structure in notepad, wordpad, mspaint, clipbrd, mmc, mplay32, mscutils, regedit, winhlp32, progman, shellbtrfs, cryptui, shell32, setupapi, vgafontedit, infinst, and vfdlib modules.
2021-04-01 22:50:32 +09:00
Katayama Hirofumi MZ
7e6550b35e [COMDLG32] Enable auto-completion on comdlg32 (#3564)
Auto-completion will be enabled when the user opens "Open" or "Save As" dialog of the common dialogs. CORE-9281

NOTE: The relative pathes, "..\" and "\" are not working. Those are bugs in CLSID_ACListISF.
2021-04-01 06:41:24 +09:00
Jérôme Gardou
12dfa8ce39 [WIN32K] Fix getting long value from float object
Most importantly, do not shift 32-bit integers by 32 or more.
2021-03-31 18:35:31 +02:00
Jérôme Gardou
405ce53211 [WIN32K] More cleanup & improvements
Use FLOATOBJs to perform device<->world transformations, avoiding use of XFORMOBJ all the time
Remove unused macros & functions
2021-03-31 18:35:31 +02:00
Jérôme Gardou
3bad3c49e1 [WIN32K] Use INTERNAL_LPTODP in IntLPtoDP
Instead of initializing a XFORMOBJ and whatnot
2021-03-31 18:35:31 +02:00
Jérôme Gardou
26b5596a11 [WIN32K] Rewrite PATH_Ellipse & PATH_RoundRect using integer arithmetics 2021-03-31 18:35:31 +02:00
Jérôme Gardou
f9c068685f [WIN32K] Reduce use of FPU in path implementation with use of FLOATOBJs 2021-03-31 18:35:31 +02:00
Jérôme Gardou
40f7e86347 [WIN32K] Fix brain-fail of mine
Copying e.g. (2;2);(6;6) to (0;0);(4;4) also needs to have an intermediate buffer.
2021-03-31 16:55:30 +02:00
Jérôme Gardou
30886e74f2 [WIN32K] Fix case when buffers overlap in 1BPP -> 1BPP DIB copy
Logic by Doug Lyons
CORE-17520
2021-03-31 16:39:57 +02:00
Jérôme Gardou
068687e0fd [WIN32K] Fix off-by-one errors
Spotted by Doug Lyons
CORE-17520
2021-03-31 16:39:57 +02:00
Jérôme Gardou
998870c5ea [NTOS:MM] Properly fail for invalid sizes of data section mappings 2021-03-30 22:20:15 +02:00
Jérôme Gardou
4c731adc04 [NTOS:MM] Fix compilation when PFN tracing is enabled 2021-03-30 17:22:09 +02:00
Jérôme Gardou
10379811c0 [KDGDB] Break and ignore when being prompted. 2021-03-30 17:20:57 +02:00
Jérôme Gardou
80f8beeeee [NTOS/MM] Remove an outdated check 2021-03-30 17:13:19 +02:00
Jérôme Gardou
0187c1e113 [NTOS:MM] Fix PFN tracing 2021-03-30 16:26:43 +02:00
Katayama Hirofumi MZ
91e591b3d5 [BROWSEUI] Enable AutoAppend of auto-completion (#3552)
Fix and improve Auto-Append of auto-completion. CORE-9281
- Implement CAutoComplete::DoAutoAppend method.
2021-03-30 06:50:32 +09:00
Eric Kohl
6b04e46304 [WIDL] Do not transfer an explicit primitive binding handle to the server
This enables us to run WIDL-generated code on Windows XP again.
This patch has already been sent upstream.
2021-03-28 16:20:10 +02:00
Jérôme Gardou
3a14c97d0c [LIBCNTPR] Fix a typo
There is no console to display to.
2021-03-25 11:54:49 +01:00
Serge Gautherie
49639c7759 [ATL] CWindowImplBaseT::WindowProc(): Narrow 2 ATLASSERT() down (#3529)
Addendum to e076e05. CORE-17505
2021-03-25 19:51:29 +09:00
George Bișoc
eba68ffb9c [NTOS:SE] Specify the code section of SepCreateSystemProcessToken as INIT
This function is used during the Security kernel module phase initialisation to set up the system process token which the phase initialisation procedure in itself is stored in the INIT section. With that being said, do the same for SepCreateSystemProcessToken too and add a header documentation as an addition.
2021-03-25 02:30:46 +03:00
George Bișoc
5b5b814af8 [NTOS:SE] Create the anonymous logon tokens on Security initialisation phase 2021-03-25 02:30:46 +03:00
George Bișoc
fe0f9d8646 [NTOS:SE] Implement SepCreateSystemAnonymousLogonToken and SepCreateSystemAnonymousLogonTokenNoEveryone functions
These private functions are needed to set up two different kinds of system's anonymous logon tokens: one that includes everyone in the group and the other that doesn't. These functions are needed as next step closer to the
implementation of NtImpersonateAnonymousToken system call.
2021-03-25 02:30:46 +03:00
George Bișoc
b28530d4ac [NTOS:SE] Set up an ACL and SD for the anonymous logon 2021-03-25 02:30:46 +03:00
Katayama Hirofumi MZ
d5c72a2e09 [BROWSEUI] Support ACO_USETAB and SHACF_USETAB on auto-completion (#3549)
Support Tab key on auto-completion. CORE-9281
2021-03-25 07:42:24 +09:00
Jérôme Gardou
6e4f83da70 [NTOS:CC] Wake up lazy scan after inserting elements in the list. 2021-03-24 15:28:04 +01:00
Jérôme Gardou
edd4a985d9 [NTOS:CC] Be verbose about why we defer writes 2021-03-24 15:27:36 +01:00
Jérôme Gardou
00ce9ad42a [CMAKE] Declare KD stub Dlls as kerneldll 2021-03-24 15:20:06 +01:00
Serge Gautherie
ca1814f2c9 [SYSSETUP] security.c: Remove 3 useless casts
And
* Make 1 cast more explicit.
* Fix 1 'SamSetInformationUser' copypasta in DPRINT1() text.
* Optimize 1 '.MaximumLength' assignment.
2021-03-24 12:15:55 +01:00
Jérôme Gardou
5c54fb9179 [NTOS:CC] Rewrite CcPostDeferredWrites
This allows to post small writes if there are any, and avoid holding the list lock for a long time.
2021-03-24 11:22:28 +01:00
Jérôme Gardou
b13a696513 [NTOS:KE] Explicitly cast -1 to ULONG 2021-03-24 11:13:04 +01:00
Jérôme Gardou
94d175b7f2 [NTOS] Remove a definition which is redundant with ndk 2021-03-24 11:12:12 +01:00
Jérôme Gardou
187ca32175 [NTOS:KE] Use PNT_TIB as argument in KeSetTebBase 2021-03-24 11:09:20 +01:00
Jérôme Gardou
8f963c38c6 [SDK:INCLUDE] Cast to type instead of PVOID
For C++ header compatibility
2021-03-24 11:08:40 +01:00
Jérôme Gardou
fa74ae571b [XDK] Undefine some defines once they are not needed 2021-03-24 11:07:54 +01:00
Konrad Dybcio
4c7b71ac4f [HHPCOMP] Add ARM (32-bit) types (#3548)
ARM32 seems to use the same type defines as i386 and friends.
Let's allow the thing to be compiled again!

CORE-17517

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
2021-03-24 09:32:11 +03:00
Jérôme Gardou
e6bea426f3 [CSRSRV] Fix comment 2021-03-23 18:35:13 +01:00
Jérôme Gardou
7054cd10b1 [CSRSRV] Fix locking logic when destroying threads & processes 2021-03-23 18:17:44 +01:00
Jérôme Gardou
f5bace8536 [CMAKE] Move toolchain specific handling to set_module_type_toolchain
+ style fixes
2021-03-23 11:18:43 +01:00
Jérôme Gardou
5c21460680 [CMAKE] Put .rsrc section after the INIT section on drivers, like link.exe does 2021-03-23 11:18:43 +01:00
Jérôme Gardou
173cdcae8f [CMAKE] Use the "kernel" module type for ntoskrnl and ntkrnlmp 2021-03-23 11:18:43 +01:00
Jérôme Gardou
e55123a6a2 [CMAKE] Add the kernel module type
Take this as an occasion to use target_link_options more
2021-03-23 11:18:43 +01:00
Jérôme Gardou
812c9e5a11 [CMAKE] Fixup of driver sections in GCC builds
Also introduce a helper variable to list KMode modules
2021-03-23 11:18:43 +01:00
Jérôme Gardou
5489efcb1a [SDK:TOOLS] Add --driver option to pefixup
For now, this adds IMAGE_SCN_MEM_DISCARDABLE to the INIT section, and IMAGE_SCN_MEM_NOT_PAGED to sections which are not named PAGE or .reloc
2021-03-23 11:18:43 +01:00
Jérôme Gardou
56b1baa3dd [CMAKE] Restore using LD linker script with GCC 2021-03-23 11:18:43 +01:00
Jérôme Gardou
6445f33704 [CMAKE] Put INIT section before .reloc and not after.
CORE-14683
2021-03-23 11:18:43 +01:00
Jérôme Gardou
0c13ff2a4b [WIN32K] Rewrite DIB1BPP -> DIB1BPP copy
Simpler is sometimes better.
Fixes some crashes & memory corruptions happening because of all those broken loops.
2021-03-22 22:40:33 +01:00
Jérôme Gardou
d1d1260f5f [NTOS:MM] Fix integer arithmetics 2021-03-22 10:02:12 +01:00
Serge Gautherie
4cd92f0d01 [SYSSETUP][TIMEDATE] Use exact setTimer() timeouts, to stay in sync (#3355)
CORE-13121
2021-03-21 12:01:22 +09:00
Katayama Hirofumi MZ
53005587f4 [BROWSEUI] Fix return value on sanity check of auto-completion (#3544)
Reduce failures on sanity check of auto-completion. CORE-9281
- Return E_FAIL rather than E_INVALIDARG in sanity check of CAutoComplete::Init (IAutoComplete::Init).
2021-03-20 14:04:02 +09:00
Katayama Hirofumi MZ
f49c164428 [BROWSEUI] Fix auto-completion on VK_DELETE (#3543)
Reduce failures against Delete key on auto-completion. CORE-9281
2021-03-20 13:18:47 +09:00
Mark Jansen
4885c34fa8 [SYSSETUP] SamQueryInformationUser expects a pointer 2021-03-20 00:28:07 +01:00
Piotr Hetnarowicz
e264c3b3f2 Update dll/cpl/hdwwiz/lang/pl-PL.rc
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-03-19 22:49:47 +01:00
Piotr Hetnarowicz
edc314e741 Update dll/cpl/hdwwiz/lang/pl-PL.rc
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-03-19 22:49:47 +01:00
Piotr Hetnarowicz
a9a6f6e163 Update pl-PL.rc 2021-03-19 22:49:47 +01:00
Piotr Hetnarowicz
9114bd9882 [MMSYSCPL] Update Polish [pl-PL] translation 2021-03-19 22:47:19 +01:00
Jérôme Gardou
e3141c833c [SYSSETUP] Install nettcpip.inf
CORE-17514
2021-03-19 14:23:28 +01:00
Jérôme Gardou
525d19d469 [NDK][XDK] Use decimal literals for MINxxxx defines
Because myLongLong < MINLONG is supposed to behave like you'd expect
2021-03-19 11:04:19 +01:00
Victor Perevertkin
16173c0798 [UMPNPMGR] Fix GCC build
Addendum to 420c4a7abf
2021-03-19 09:14:05 +03:00
Victor Perevertkin
420c4a7abf [UMPNPMGR] Install drivers for all devices available on boot
Don't wait for their events to appear, just retrieve the list and
install drivers. This fixes the installation of manually reported device
nodes

CORE-17212 CORE-17398
2021-03-19 08:59:42 +03:00
Victor Perevertkin
0fed07b7e4 [NTOS:PNP] Initialize DeviceDesc and LocationInformation registry fields
for manually reported devices, as it is required by the newdev.dll
for installing drivers from INF files

CORE-17212 CORE-17398

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2021-03-19 07:57:41 +03:00
Katayama Hirofumi MZ
880252fd46 [SHELL32] Fix assertion failure in CDirectoryWatcher.cpp
CORE-17511
2021-03-19 08:30:10 +09:00
Mark Jansen
c59ab8fce1 [SYSSETUP] SamQueryInformationDomain expects a pointer 2021-03-18 23:28:17 +01:00
Victor Perevertkin
aec3d9cc8f [NTOS:IO][NTOS:PNP] Fix incorrect usage of IopGetRegistryValue
KEY_VALUE_FULL_INFORMATION was not always freed properly
2021-03-19 01:07:22 +03:00
Jérôme Gardou
42094071ee [NTOS:MM] Silence noisy DPRINTs 2021-03-18 12:24:21 +01:00
Jérôme Gardou
4ff5d39edb [NTOS:MM] Use a define for the big pool table occupation rate 2021-03-18 12:24:21 +01:00
Jérôme Gardou
8494688eeb [NTOS:MM] Do not use atomic operations to set a bit while holding a lock.
Saving your fingers from typing it doesn't make it better code.
2021-03-18 12:24:21 +01:00
Jérôme Gardou
f06b58925d [NTOS:MM] Implement shrinking big pool allocation table
Shrink when using 1/8 of its allocated capacity (thus use 25% of it at the end of the process)
Expand when using 3/4 of its allocated capacity (thus use ~40% of it at the end of the process)
2021-03-18 12:24:21 +01:00
Jérôme Gardou
54354712e2 [NTOS:MM] Fail allocating non-paged pool when running out of available pages 2021-03-18 12:24:21 +01:00
Jérôme Gardou
34630a06ca [NTOS:MM] Do not bugcheck when we are freeing a big allocation for which we didn't manage to insert the tag 2021-03-18 12:24:21 +01:00
Katayama Hirofumi MZ
f9b89c9961 [SDK][INCLUDE] msgdump.h: Support RegisterWindowMessage
msgdump.h: Version 18.
2021-03-18 18:41:03 +09:00
Katayama Hirofumi MZ
ea3c56b659 [BROWSEUI_APITEST] Strengthen ACListISF testcase (#3538)
Add tests for ACListISF testcase to clarify the details. CORE-9281
2021-03-18 09:49:40 +09:00
Jérôme Gardou
0d41593749 [WS2_32] Check that the handle table is initialized before accessing it. 2021-03-17 18:53:12 +01:00
Jérôme Gardou
162f51e6b8 [OLDNAMES] Add missing isascii 2021-03-17 18:52:58 +01:00
Jérôme Gardou
d5fa0788d8 [NTOS:MM] Silence a DPRINT which became noisy 2021-03-16 13:23:21 +01:00
Jérôme Gardou
7e5c1872ee [RTL] Improve performance by introducing a hint array for free entries
The array is there for the entries smaller than the decommit threshold, the rationale
being that entries which are larger will likely be split for honoring other allocations
or be coalesced and eventually decommitted.

This with the previous commits make a huge perf boost to memory-intensive applications like cmake

CORE-15793
2021-03-16 13:23:21 +01:00
Jérôme Gardou
325737f855 [SDK:RTL] Track the end of uncommitted ranges thanks to a "Guard" entry that we put at the end of each committed page
This avoids busy loop to get the last valid entry of the previous committed range when committing a new one.

CORE-15793
2021-03-16 13:23:21 +01:00
Victor Perevertkin
abbc5ba45a [UMPNPMGR][USETUP] Use PlugPlayControlStartDevice in usetup and umpnpmgr
Instead of PlugPlayControlResetDevice, PlugPlayControlStartDevice should
be used for a newly installed device.
For usetup, add a device status check before starting attempt, so we're
not touching devices which are already started.

CORE-17463 CORE-17490
2021-03-16 03:17:58 +03:00
Victor Perevertkin
59a5dba443 [NTOS:PNP] Implement PlugPlayControlStartDevice control class
This control class is triggered when a driver is being installed for a
non-critical device. The driver info should already be in the registry
so we just need to push the device through the state graph

Meanwhile, combine the code for similar control classes into
PiControlSyncDeviceAction routine

CORE-17463 CORE-17490
2021-03-16 03:17:57 +03:00
Victor Perevertkin
029accdcf7 [NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Katayama Hirofumi MZ
b66bdef370 [SHELL32] Enable auto-completion on SHBrowseForFolder (#3535)
This PR realizes auto-completion on SHBrowseForFolder. CORE-9281

- Call SHAutoComplete in WM_INITDIALOG message handling.
- Fix focus.
- Remove ES_NOHIDESEL style.
- Fix layout initialization.
2021-03-15 16:30:32 +09:00
Victor Perevertkin
a064c5d9a0 [HALX86] Remove unused and empty files, remove halapic
halapic (a.k.a. non-ACPI APIC HAL) is not going to be supported in near
future
2021-03-15 02:51:25 +03:00
Victor Perevertkin
7601fb549c [HALX86] Rearrange files in x86 HAL
- Rename UP -> PIC. The "up" folder in fact contains the code for
  managing the Intel 8259 PIC chip
- Move amd64/processor.c -> apic/processor.c. The code is not tied to
  amd64
- Remove platform from "halinit*" files. They already reside in the
  corresponding folder
2021-03-15 02:48:35 +03:00
Katayama Hirofumi MZ
2d066c93fe [SHELL32] Fix SHBrowseForFolder new UI layout (#3533)
CORE-17507

- Change layout of resource dialogs IDD_BROWSE_FOR_FOLDER_NEW.
- Delete IDC_BROWSE_FOR_FOLDER_FOLDER control.
- Fix focus.
- Add ES_NOHIDESEL style to IDC_BROWSE_FOR_FOLDER_FOLDER_TEXT control.
- Add TVS_SHOWSELALWAYS style to IDC_BROWSE_FOR_FOLDER_TREEVIEW control.
- Fix assertion failure in LayoutUpdate function in <layout.h>.
2021-03-15 07:13:03 +09:00
Katayama Hirofumi MZ
e1a5ba188e [SHELL32] SHBrowseForFolder with BIF_EDITBOX should use new UI (#3532)
CORE-17506

- Convert some judgements against BIF_NEWDIALOGSTYLE to judgements against BIF_USENEWUI. Here BIF_USENEWUI == (BIF_NEWDIALOGSTYLE | BIF_EDITBOX).
- Remove WS_SIZEBOX window style from new UI dialog resource (IDD_BROWSE_FOR_FOLDER_NEW).
- Fix header layout.h for resizing without WS_SIZEBOX.
2021-03-14 18:35:40 +09:00
Katayama Hirofumi MZ
ac507691fb [SDK][INCLUDE] layout.h: Use SWP_NOCOPYBITS to refresh controls 2021-03-14 12:28:48 +09:00
Katayama Hirofumi MZ
e076e0576f [ATL] Add NULL-check in CWindowImplBaseT::WindowProc assertions
CORE-17505
2021-03-11 21:20:40 +09:00
Katayama Hirofumi MZ
9259ded8ae [ATL][SHELL32][EXPLORER] Disable ATLASSERT (#3527)
We are not ready for enabling ATLASSERT. Enabling ATL assertions takes time to realize. CORE-17505
- Disable ATLASSERT by undefining _DEBUG.
- Revert currently non-fixable codes.
2021-03-11 20:26:45 +09:00
Katayama Hirofumi MZ
4583eae4f7 [SHELL32] Fix CMenuToolbarBase
CORE-17505
2021-03-11 17:51:47 +09:00
Katayama Hirofumi MZ
4f83032a12 [ATL] Split CWindowImplBaseT::WindowProc asserion
CORE-9281
2021-03-11 17:18:43 +09:00
Katayama Hirofumi MZ
6546ad7700 [BROWSEUI] Fix CACListISF::Next assertion
CORE-9281
2021-03-11 17:12:06 +09:00
Katayama Hirofumi MZ
bcba930622 [BROWSEUI] Fix CAutoComplete::OnMeasureItem assertion
CORE-17505
2021-03-11 16:56:01 +09:00
Katayama Hirofumi MZ
32a9b64051 [BROWSEUI] Fix addreseditbox.h assertion
CORE-17505
2021-03-11 16:42:36 +09:00
Piotr Hetnarowicz
31f20137b6 [DESKCPL] Update Polish [pl-PL] translation (#3520) 2021-03-11 02:36:48 +01:00
Piotr Hetnarowicz
a9b6df917b [DESKADP] Update Polish [pl-PL] translation (#3518) 2021-03-11 02:35:37 +01:00
Serge Gautherie
0975c5ef40 [ATL] CMakeLists.txt: Use a bare endif() (#3523)
Addendum to 98203ce.
2021-03-11 08:38:04 +09:00
Mark Jansen
1952e5b795 Fix some assertions now that they are enabled (#3524)
Fix some assertions, hack out some others (they need more ATL work).
CORE-17505
2021-03-11 07:43:06 +09:00
Victor Perevertkin
df35c8d05e [SDK:KMDF] Populate OsVersionInfo in our static linking hack 2021-03-10 18:41:46 +03:00
Victor Perevertkin
6d1ca3553e [SDK:KMDF] Fix calling convention for the kernel function pointers 2021-03-10 18:41:03 +03:00
Katayama Hirofumi MZ
98203cea23 [CMAKE] Define _DEBUG for better ATL debugging (Retry) (#3519)
CORE-17505
2021-03-10 22:59:13 +09:00
Victor Perevertkin
0a26c7c5d2 [SDK:DDK] Implement the Auxiliary Kernel-Mode Library
And uncomment the code in KMDF which uses it
2021-03-10 16:43:59 +03:00
Katayama Hirofumi MZ
a63213272a [SHELL32] Enable auto-completion on 'Folder Options' > 'Change Icon' (#3522)
CORE-9281
2021-03-10 21:00:36 +09:00
Katayama Hirofumi MZ
c43efcb1bb [APPWIZ] Enable auto-completion on 'Create Shortcut' (#3521)
CORE-9281
2021-03-10 20:59:57 +09:00
Katayama Hirofumi MZ
71e4450761 [BROWSEUI] Follow-up of #3507
Case insensitiveness fix. CORE-9281
2021-03-10 19:45:03 +09:00
Katayama Hirofumi MZ
c19d9df259 [BROWSEUI] Implement auto-completion (#3507)
Implement IAutoComplete to realize input auto completion. CORE-9281, CORE-1419

- The main features of this PR are Auto-Suggest and Auto-Append.
- Auto-Suggest shows a list near the textbox (an EDIT control) when the user has typed partial pathname into the textbox.
- Auto-Append appends complement text into the textbox to complete the pathname with selected status.
- The list of AutoSuggest is a top-level window whose window class is "Auto-Suggest Dropdown". We call it "the drop-down window".
- The drop-down window contains three controls: a listview, a scrollbar and a sizebox.
- The drop-down window watches the input into the textbox. If the textbox changed, then the window updates the list.
- The sizebox control enables the user to resize the drop-down window.
2021-03-10 16:22:57 +09:00
Jérôme Gardou
0c34c067c4 [CRT] Add CFI annotatiions to memmove function 2021-03-09 19:42:49 +01:00
Chan Chilung
6a31fe6ca7 [TRANSLATION][INF] Update Chinese Traditional (zh-TW) translation (#3468)
- Add / improve Chinese Traditional Translations for INFs.

- Name changing (removed Aobi in my name)

Add Chinese Traditional translation for:
- cmdutils/at
- cmdutils/comp
- hotplug.cpl
- rosapps' sysutils/ctm

Chinese Traditional (zh-TW) translation update for:
- cmdutils/find
- cmdutils/help
- cmdutils/label
- cmdutils/whoami
- mspaint
- shutdown
- taskmgr
- diskpart
- format
- appwiz.cpl
- input.cpl
- powercfg.cpl
- shimgvw
- user32
2021-03-09 16:51:37 +01:00
George Bișoc
5fbf5e78e1 [SHELL32] Avoid code duplication on FAT and EXT2/BtrFS related FSs insertion (#3505)
This is a slight refactor of InsertDefaultClusterSizeForFs() code with the goal to avoid having the same code for FAT-related and EXT2/BtrFS filesystems.
2021-03-09 16:17:23 +01:00
Serge Gautherie
25e1235fe7 [FREELDR] Remove a few useless code lines (#3503)
CORE-14516
2021-03-09 16:02:11 +01:00
Serge Gautherie
309f707e7f [DOC] 3rd Party Files.txt: Use complete MS Windows Driver Samples URLs (#3515)
Addendum to 119f102.
2021-03-09 15:43:17 +01:00
Serge Gautherie
0cf1169dd0 [CDROM_NEW] CMakeLists.txt: Add cdrom.rc (#3513)
Addendum to 83b85e2.
CORE-17129
2021-03-08 19:10:43 +01:00
Arnav Bhatt
06f57e1696 initial commit (#3506) 2021-03-06 19:13:05 +01:00
Serge Gautherie
8c18617fa7 [CMAKE] Fix few copy-paste typos in add_pch() calls (#3508)
Follow-up to e898c9e.
2021-03-06 19:11:56 +01:00
Serge Gautherie
62b4c61f82 [NETCFGX] LoadDNSSettings(): Improve one RegQueryValueExW() call (#2870) 2021-03-04 23:29:38 +01:00
Serge Gautherie
b43bb63373 [COMPILER_APITEST] Sync an '#if defined(_X86_)' (#3318)
Addendum to dfccee7 (r41810).
2021-03-04 23:03:37 +01:00
Serge Gautherie
63007901fd [CSRSRV] CsrApiHandleConnectionRequest(): Remove ASSERT() redundant condition (#2858)
Detected by Cppcheck: redundantCondition.
Addendum to 835f3ef1.
2021-03-04 22:54:00 +01:00
Serge Gautherie
abc84a742b [FREELDR] LoadAndBootWindowsCommon(): Use UNREACHABLE, on success
KiSystemStartup() is DECLSPEC_NORETURN.
2021-03-05 00:43:15 +03:00
Serge Gautherie
e0400e7810 [NTOS:KE] KiIdleLoop(): Propagate DECLSPEC_NORETURN to callers 2021-03-05 00:43:15 +03:00
Serge Gautherie
5f1d79f0c5 [NTOS:KE] KiIdleLoop(): Add DECLSPEC_NORETURN, Remove FASTCALL 2021-03-05 00:43:15 +03:00
Jérôme Gardou
43ea864405 [DBGHELP] Fix use of unix path 2021-03-04 17:41:25 +01:00
George Bișoc
69ca7258d0 [NTDLL_APITEST] Implement testcase for NtCompareTokens 2021-03-04 16:22:56 +03:00
George Bișoc
44b8e5caac [NTOS:SE] Complete the SepCompareTokens implementation
* Implement SepCompareSidAndAttributesFromTokens and SepComparePrivilegeAndAttributesFromTokens functions for array elements comparison
* Implement the token comparison code in SepCompareTokens function
* Add a missing PAGED_CODE() in SepCompareTokens as most of the token comparison code is paged
* Use SAL annotations for SepCompareTokens and NtCompareTokens
2021-03-04 16:22:56 +03:00
Katayama Hirofumi MZ
2282205d13 [BROWSEUI_APITEST] Fix abnormal termination on fn2 == NULL
The DoWordBreakProc function crashed.
CORE-9281
2021-03-04 14:42:04 +09:00
George Bișoc
a340ec1767 [NTOS:PS] Guard the quota in a spin lock (#3419)
Prior to acquiring a quota from the process and do whatever it's needed to do (charge it or return it back), we must guard ourselves with a spinlock so that we may not get into potential race conditions. In Windows Server 2003, PspGivebackQuota and PspExpandQuota do the same thing and they're the equivalent to PspReturnProcessQuotaSpecifiedPool and PspChargeProcessQuotaSpecifiedPool in our codebase.
2021-03-04 04:43:30 +03:00
Katayama Hirofumi MZ
3b1c81b0ec [BROWSEUI_APITEST] Strengthen IAutoComplete on WM_KEYDOWN (#3500)
- Simplify the test mechanism.
- Add more tests for WM_KEYDOWN message.

CORE-9281
2021-03-04 09:35:44 +09:00
Jérôme Gardou
65b6af58f9 [SDK:RTL] Statically initialize RtlCriticalSectionList
This might be used before RtlpInitDeferedCriticalSection gets called
2021-03-03 14:10:47 +01:00
Serge Gautherie
7851ad8635 [NTOS:KD] KdpDebugLogInit(): Close the thread handle
Addendum to 07dc415 (r43331).
2021-03-03 09:01:37 +01:00
Serge Gautherie
802ad6d3ee [NTOS:KD] KdpLoggerThread(): Assert being in kernel mode
to be explicit that using Nt*() is safe.

Follow-up to 9537653.
2021-03-03 09:01:37 +01:00
Victor Perevertkin
f82eb0fede this seem to be the only combination which works on msbuild-msvc 2021-03-03 08:34:32 +01:00
Jérôme Gardou
1ea6157cbf [FREELDR] Use target_link_options instead of add_target_link_flags
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
5d1ecc7575 [CMAKE] Define _SBCS when using VS generator
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
e7f08b3e30 [FREELDR] Use decimal numbers for section & file alignment
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
0d811c2d1c [BOOTMGFW] Explicitly disable NX compatibility
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
2306c83e5c [CMAKE] Explicitly declare libcntpr as a static lib 2021-03-03 08:34:32 +01:00
Jérôme Gardou
97d4cb6ee0 [CRT] Declare strlen & wcslen as _CRTIMP 2021-03-03 08:34:32 +01:00
Jérôme Gardou
49286a6225 [CMAKE] Get rid of add_object_library
It's not needed anymore
2021-03-03 08:34:32 +01:00
Jérôme Gardou
93d741c3f4 [SHLWAPI] Use an object library to separate C & C++ compilation units
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
3476cdae77 [BOOTMGFW] Explicitly disable dynamic base
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
3885ad87ca [GITHUB] Add MSBUILD CI action 2021-03-03 08:34:32 +01:00
Jérôme Gardou
49000c6471 [CMAKE] Disable policy CMP0091 and set /MT flag explicitly for Visual Studio generator 2021-03-03 08:34:32 +01:00
Jérôme Gardou
c68739e566 [CMAKE] Preprocess the ASM files but let msbuild handle their actual compilation
CORE-17423
2021-03-03 08:34:32 +01:00
Jérôme Gardou
41130ab5c6 [CMAKE] Use ASM_MASM language when building with MSVC toolchain
CORE-17423
2021-03-03 08:34:32 +01:00
Victor Perevertkin
3bde2740df [BOOTMGFW] Disable EFI bootloader compilation
Don't pretend we are supporting UEFI, we are not
2021-03-03 06:27:07 +03:00
Jose Carlos Jesus
6e40a96145 [DEVMGR][NETID] Update PT translation (#3487)
And readjust objects size to fit all text in Driver tab.
2021-03-03 04:18:15 +01:00
Serge Gautherie
55b93aecdc [CMAKE] target_compile_definitions() calls: Remove (now) useless '-D' (#3490)
Documented as automatically removed, since CMake 3.12.4 at least.
https://cmake.org/cmake/help/v3.12/command/target_compile_definitions.html
2021-03-03 04:16:02 +01:00
Victor Perevertkin
fc2b105e5d [CMAKE] Use remove_target_compile_option when disabling manually enabled warnings 2021-03-03 06:04:25 +03:00
Victor Perevertkin
b410220f39 [GITHUB] Choose LLVM version manually 2021-03-03 06:03:01 +03:00
George Bișoc
6170b574f0 [NTOS:PS] Implement PS_QUOTA_TYPE and let the quota code use it (#3389)
This will replace the PoolIndex variable and as such we'll only be using the PS_QUOTA_TYPE enumeration, as Windows does. Both QuotaEntry, QuotaUsage and QuotaPeak depend explicitly or implicitly on this enumeration. Further details about this enum can be found in the following articles.
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/type.htm?tx=68,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/block.htm?tx=68,142,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ps/eprocess/index.htm (see QuotaPeak and QuotaUsage)
2021-03-02 20:09:58 +01:00
George Bișoc
9536f44c81 [SHELL32] Determine if the FS is of type FATX (#3398)
FATX is listed as a filesystem for format within the list but it's classed out from current proposed filesystems, thus spamming the debug output and not allowing to actually format a storage drive with this FS.
CORE-17272
2021-03-02 19:37:31 +01:00
Colin Finck
ec9f3d82b0 [NTDLL_APITEST] Ensure that some noticeable time has passed since process creation to fix a flaky test. 2021-03-02 19:32:20 +01:00
Piotr Hetnarowicz
fa0c63bc48 [SOLITAIRE] Update Polish [pl-PL] translation (#3496) 2021-03-02 19:10:26 +01:00
Piotr Hetnarowicz
27ca352d2b [SHELL32] Improve Polish [pl-PL] translation (#3494) 2021-03-02 19:09:53 +01:00
Serge Gautherie
e898c9e0df [RTL_VISTA] CMakeLists.txt: Fix 'rtl' copypasta (#3489)
Addendum to 6119239.
2021-03-02 19:06:17 +01:00
Jérôme Gardou
42b94e728a [ADVAPI32] In RegSetValueExW, do not fail if we fault when checking for ending NUL character 2021-03-02 15:42:21 +01:00
Jérôme Gardou
7320c989fe [WS2_32] Fix error handling on non-existing registry keys 2021-03-02 14:39:22 +01:00
Jérôme Gardou
4e4c47cccc [NTOS:KE] Generate proper frame info for trap handler in GCC builds
CORE-8531
2021-03-02 14:37:39 +01:00
Jérôme Gardou
6c100a13c2 [SDK:INCLUDE] Define KTRAP_FRAME_CS 2021-03-02 14:36:46 +01:00
Jérôme Gardou
7fb6030e05 [SDK] Properly put assembly debug info into .debug_frame section
For some reason, the default is to put it into .eh_frame where objcopy & al happily ignore them
2021-03-02 14:36:38 +01:00
Katayama Hirofumi MZ
a0e5c3d862 [BROWSEUI_APITEST] Strengthen IAutoComplete testcase on extended LV style (#3499)
Test the extended list-view style of the listview. CORE-9281
2021-03-02 18:05:32 +09:00
Katayama Hirofumi MZ
e24d3cc952 [SDK][ATL] Fix CWindow::GetWindowText method of BSTR (#3498)
- Fix generic text mapping for GetWindowText and GetWindowTextLength functions.
- Fix the position.
- Fix the length.
- Fail elegantly if necessary.

CORE-9281
2021-03-02 17:50:00 +09:00
Katayama Hirofumi MZ
6de330026c [BROWSEUI_APITEST] Follow-up of #3493 2021-03-02 07:36:55 +09:00
Katayama Hirofumi MZ
003b19dc3c [BROWSEUI_APITEST] Add IAutoComplete testcase (#3493)
Add tests for IAutoComplete objects, especially on the drop-down window and related controls.
CORE-9281
2021-03-02 07:25:31 +09:00
Carlo Bramini
a141c91135 [SHIMGVW] Improve zooming feature and realize image edit (#3473)
* [SHIMGVW] Add OLE32 for CoInitializeEx()
* Implemented support for effective image size (100%).
* Fix bug that could leave one of the zoom buttons if 100% size button is now pressed.
* Replace a CreateWindowEx() with CreateWindowExW().
* Added stub for image delete function.
* Implemented support for 'Modify' button.
* [SHIMGVW] Added CoUninitialize()
* [SHIMGVW] Pair CoUninitialize with CoInitializeEx
2021-03-01 23:40:06 +09:00
Tibor Lajos Füzi
9dff498b21 [SOLITAIRE] Add undo feature & fix occasionally invisible cards (#3422)
Two issues are addressed:

CORE-2189: missing undo feature

Works the same way as solitaire in windows xp:
- only 1 action can be undone;
- the player gets -2 points in standard score mode;
- the undo action resets when the player clicks on a row stack to turn the top card.

CORE-11148: invisible cards

This happens in 3-card mode, when only 1 card left in the deck. The fix for this is to modify the pile stack to contain all the face-up cards. It was actually already in the code somewhere else, so I turned it into a separate function.
2021-02-28 22:31:19 +01:00
Arnav Bhatt
fd39a292af [MSGINA][SHELL32] Rework friendly UI shutdown dialog box and implement friendly UI log off dialog box (#3399)
Implement the re-worked shut down dialog box as well as implementing fancy log off dialog box.
- Fancy shut down dialog box has been redesigned to be more comparable to of XP.
- Implement features that were missing earlier.
- Implement the fancy log off dialog which is more comparable to of XP.
2021-02-28 20:03:35 +09:00
Eric Kohl
1fbb295d4a [LSASRV][SECUR32] Fix the naming mess
Rename Untrusted to TrustredCaller in LSA_CONNECTION_INFO and LSAP_LOGON_CONTEXT in order to clarify the meaning of the variable.
2021-02-28 11:03:33 +01:00
Katayama Hirofumi MZ
9e32854998 [ATL_APITEST] Fixup of #3492; fix SubclassWindow testcase
Fix the tests at Line 359 and 403.
CORE-9281
2021-02-28 13:13:38 +09:00
Katayama Hirofumi MZ
ef3e7a3717 [SDK][ATL] Implement UnsubclassWindow methods (#3492)
I want UnsubclassWindow methods.
- Implement CWindowImpl::UnsubclassWindow method.
- Implement CContainedWindowT::UnsubclassWindow method.
- Add SubclassWindow testcase to atl_apitest test program.
- Fix generic text mapping of <atlwin.h>.
CORE-9281
2021-02-28 12:45:16 +09:00
Eric Kohl
76247390e5 [LSASRV] Fix a typo in the trusted user identification 2021-02-28 01:57:43 +01:00
Eric Kohl
95188553ba [WKSSVC] Get version info and authentication package on startup 2021-02-27 19:07:47 +01:00
Katayama Hirofumi MZ
6b2e79d067 [SDK][INCLUDE] layout.h: Delete an assertion for window style
WS_SIZEBOX or WS_THICKFRAME. CORE-9281
2021-02-27 22:59:00 +09:00
Jérôme Gardou
7caf9e9d48 [NTOS:KD] Use Zw* syscall variants
The log file can be (re-)initialized when previous mode is User-Mode,
thus the calls fail on probing input parameters
2021-02-26 08:46:53 +01:00
Jérôme Gardou
a93e065ebc [NTOS:MM] Do not chunk-read file when we are the modified-page-writer thread 2021-02-26 08:46:53 +01:00
Jérôme Gardou
35c091adaf [NTOS:MM] Do not chunk-read files marked with FO_RANDOM_ACCESS 2021-02-26 08:46:53 +01:00
Katayama Hirofumi MZ
f04890c2af [BROWSEUI] Fix and small improvement (#3486)
Fix a mistake in CAutoComplete PR #3472 (6bfb76b) and improve.
- Fix confusion between m_hwndEdit and hwndEdit.
- Delete extra this-> codes.
CORE-9281
2021-02-25 20:36:20 +09:00
Katayama Hirofumi MZ
c14c9ca0d8 [SDK][INCLUDE] Erase files of incorrect commit
Delete files at mistaken commit:
0efd7b9764

rm sdk/include/host/cmake_install.cmake
rm sdk/include/reactos/buildno.h
rm sdk/include/reactos/version.h
2021-02-25 09:21:13 +09:00
Katayama Hirofumi MZ
0efd7b9764 [SDK][INCLUDE] Strengthen and improve layout.h
- Refreshing STATIC controls.
- In LayoutInit function, if cLayouts parameter was negative, then don't use size grip.
2021-02-25 09:12:47 +09:00
He Yang
633ece9025 [TASKLIST] Implement tasklist command-line utility (#3440)
Add command-line program "tasklist" for ReactOS.
It works fine on Windows as well.
2021-02-24 19:05:15 +09:00
Jose Carlos Jesus
9039de127c [BROWSEUI]Update PT translation 2021-02-24 07:23:39 +01:00
Katayama Hirofumi MZ
6bfb76b68a [BROWSEUI] Refactoring CAutoComplete Part 1 (#3472)
- Expand tabs to spaces in CAutoComplete.h.
- Add m_ prefix to every member variable.
CORE-9281
2021-02-23 06:07:09 +09:00
Serge Gautherie
205b6e56c8 [FREELDR] DetectPnpBios(): Add 'i' to ERR() debug print (#3465)
Addendum to 17990b2 (r73617). CORE-12623
2021-02-22 21:10:27 +03:00
Doug Lyons
834394abd9 [OPENGL32] Fix Red and Green Color Swap (#3478)
CORE-16221
2021-02-22 17:45:33 +01:00
George Bișoc
950f78635a [USETUP] Display the "check the FS" section as a MUI page (#3474) 2021-02-22 16:48:03 +01:00
George Bișoc
b00ecdcab9 Replace my E-mail with the ReactOS org one (#3475)
From now on for ReactOS related contributions only the organization e-mail shall be used and also reverse the order of my real full name.
2021-02-22 18:26:55 +03:00
Hervé Poussineau
c8c9a70461 [FREELDR/x64] Fix MSVC x64 boot 2021-02-22 15:15:28 +01:00
Hervé Poussineau
c6730a4a87 [RSYM/x64] Allow binaries without symbol table 2021-02-22 14:42:04 +01:00
Hervé Poussineau
4c930799f1 [RSYM/x64] Make command line compatible with x86 version
x86 version needs input and output file names as arguments, even if is called with
input file name = output file name.
x86 version also accepts a -s argument to the root path of ReactOS sources

Make x64 version take the same arguments.
2021-02-22 14:21:43 +01:00
Hervé Poussineau
05fbfb0cad [FREELDR/x64] Partly revert 5367ae5760
Using RealModeEntryPoint uses IMAGE_REL_I386_REL16, now supported by obj2bin
2021-02-22 14:21:43 +01:00
Hervé Poussineau
77d69c68b8 [OBJ2BIN] Add support for IMAGE_REL_I386_REL16
Also return error in case of unknown relocation type.
2021-02-22 14:21:43 +01:00
Hervé Poussineau
5367ae5760 [FREELDR] Fix check, as FreeLoader x64 compiled with GCC only have 2 sections (.text and .bss) 2021-02-22 00:08:28 +01:00
Hervé Poussineau
78d9c38c37 [FREELDR/x64] Change syntax to be compatible with GAS x64 2021-02-22 00:08:28 +01:00
Eric Kohl
dd1f0d02bc [LSASRV] Improve the policy change registration code and notify registered events 2021-02-21 18:05:11 +01:00
pivotman319
d4d897ccb7 [README] Trivial correction: replace "Seven" with "7" (#3469) 2021-02-21 18:48:20 +03:00
Eric Kohl
9ff015f770 [NTOS:CM] Report key creation to the notify code 2021-02-21 15:49:06 +01:00
Katayama Hirofumi MZ
0c15f7d183 [SHIMGVW] Use _countof instead of ARRAYSIZE and use UINT (#3471)
- Use _countof macro instead of non-standard ARRAYSIZE macro.
- Use UINT type for array index instead of INT type, to erase signed/unsigned comparison warning.
JIRA issue: N/A
2021-02-21 10:28:08 +09:00
Doug Lyons
ce7836c6d3 [WIN32K] Add StretchBlt function ability to flip images (#3458)
Modify dib\dibxxbpp.c programs to understand flipped images. See Videos at CORE-16642

1. Mirroring Horizontally works.
2. Mirroring Vertically works.
3. Rotation 180° works.

CORE-16642, CORE-14408, CORE-16634
2021-02-21 08:28:36 +09:00
Doug Lyons
89843bec56 [GDI32_APITEST] Add more StretchBlt Regression Tests (#3455)
Added tests for many more StretchBlt options.
Created StretchBlt regression tests for verifying most flip options.
This is preparation for my Pull Request #3458 which will implement the flip functionality for StretchBlt.

CORE-16642
2021-02-21 08:21:51 +09:00
Colin Finck
fd8080b094 [KERNEL32] Align the PROCESS_PRIORITY_CLASS variable in GetPriorityClass on a 4-byte boundary.
Fixes CORE-16757.
This is required for NtQueryInformationProcess as proven by my test application in the bug report.
2021-02-20 17:13:38 +01:00
Eric Kohl
ea26bef01d [LSASRV] Add start code for the netlogon service 2021-02-19 21:53:00 +01:00
Jérôme Gardou
2a962eaf8c [NTOS:CC] Keep a reference on the shared cache map of the file when we are in lazy write
This should fix "Leaking VACB" debug prints
2021-02-19 15:48:31 +01:00
Jérôme Gardou
d18634c026 [NTOS:WMI] Be consistent about potential NULL pointer use 2021-02-18 10:24:53 +01:00
Serge Gautherie
17a9041da1 [NTOS:WMI] IoWMIWriteEvent(): Add WNODE_FLAG_TRACED_GUID case
Addendum to d5f8964 (r23040).
CORE-17384
2021-02-17 18:59:09 +01:00
Serge Gautherie
495e22e0d5 [NTOS:WMI] IoWMIWriteEvent(): Fix annotation, Extend DPRINT1()
CORE-17384
2021-02-17 18:59:09 +01:00
Timo Kreuzer
4b4bff0642 [NTOS:MM] Handle demand zero PTEs with MM_EXECUTE_READWRITE and MM_READWRITE 2021-02-16 18:02:57 +01:00
Serge Gautherie
7ca16bf696 [PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3456)
Add another Vista check.
Addendum to 986cc5e.
2021-02-17 00:37:48 +09:00
Václav Zouzalík
0f8224e985 [SHIMGVW] Update Czech (cs-CZ) translation 2021-02-16 15:11:50 +01:00
Hervé Poussineau
796a536a22 Revert "Disable some C++ code, which doesn't compile for me"
This reverts commit 83d9920cb9.
2021-02-16 00:13:18 +01:00
Hervé Poussineau
83d9920cb9 Disable some C++ code, which doesn't compile for me 2021-02-16 00:12:25 +01:00
Hervé Poussineau
58332b076c [NTOS:KD] Merge initialization phases 1 and 2, and fix log file debugging
Phase 2 and 3 were not done anymore since 777a2d94da.

Fix that, by merging phases 1 and 2, and by calling phase 3 later
for log file debugging, when ExpInitializationPhase = 3

CORE-17470
2021-02-16 00:12:25 +01:00
Katayama Hirofumi MZ
99a9e7e493 [SHIMGVW] Refactoring (#3461)
- Make the calls of CallWindowProc and DefWindowProc Wide (Unicode).
- Delete needless type casts.
- Add const to function arguments.
- Improve ImageView_LoadSettings function.
- Insert OFN_EXPLORER flag.
2021-02-15 19:21:55 +09:00
Jared Smudde
8b6e5e87c3 [MMSYS] Add the OFN_EXPLORER flag to the Browse for sound dialog. (#3460) 2021-02-14 21:40:30 +01:00
Carlo Bramini
ac4b506eab [SHIMGVW] Fix wrong text into the title bar. (#3459)
Unicode/ANSI conversion problem happened by some wrong ANSI function calls. This PR fixes them by modifying CMakeLists.txt.
2021-02-15 02:38:36 +09:00
Eric Kohl
2a3c94e301 [NETAPI32] Use our implementation of NetWkstaUserEnum instead of the Wine stub 2021-02-14 11:26:54 +01:00
Eric Kohl
87a4624e20 [WKSSVC][NETAPI32] Implement NetrWkstaGetInfo and get rid of the old NetWkstaGetInfo implementation 2021-02-13 23:19:29 +01:00
Robert Naumann
0d1a804581 [SHIMGVW]Update German translation 2021-02-13 20:59:38 +01:00
Robert Naumann
e4058ee520 [SHELL32] Update German translation
-change "Meine Musik" to "Eigene Musik" to get a consistent naming. Same for "Meine Videos".
2021-02-13 20:14:05 +01:00
Carlo Bramini
6aafdc520c [SHIMGVW] Fix CTRL-K to IDC_ROT_CLOCKW (#3457)
As signaled in CORE-11044, the IDC_ROT_COUNCW was assigned to both CW and CCW rotation.
2021-02-13 19:32:19 +01:00
Carlo Bramini
0d4e921c93 [SHIMGVW] Add new features (CORE-11044) (#3113)
Add these new features:

- Use accelerator table for keyboard hotkeys.
- Updated italian translation.
- Simplified creation of toolbar and tooltips.
- Added missing toolbar buttons.
- Initialize common controls for theming.

French translation by Kyle Katarn.
Polish translation by Adam Stachowicz.
2021-02-13 23:22:21 +09:00
Serge Gautherie
986cc5e8e2 [PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3153)
* Deci-to-Hexa.
* Add more values.
* Add a Vista check.
2021-02-13 23:16:49 +09:00
Robert Naumann
b774ec5ca6 [NOTEPAD] Implement File->New Window
*Windows starts a new own's instance too, when clicking on "New Window" (Tested by @HBelusca)
2021-02-12 20:14:03 +01:00
Piotr Hetnarowicz
61f4b120fc rapps pl-PL lang update (#3454)
rapps pl-PL lang update
2021-02-12 19:42:52 +09:00
Serge Gautherie
cb5d610a73 [CONSRV] SetConWndConsoleLeaderCID(): Check must be before dereferencing (#3451)
Addendum to f12e601.
2021-02-10 18:55:19 +01:00
Jérôme Gardou
e46c2dd1b3 [VIDEOPRT] Mark low memory range as NOACCESS when we don't need to access it.
This allows to accomplish great things, such as crashing when dereferencing NULL pointer.
2021-02-10 17:48:30 +01:00
Jérôme Gardou
0573de22a0 [NTOS:MM] Do not assert on a case we actually support 2021-02-10 17:48:30 +01:00
Jérôme Gardou
f12e6016b6 [CONSRV] Set 0 as a console leader PID/TID when unsetting it.
Instead of whatever is behind the NULL pointer.
2021-02-10 17:48:30 +01:00
Jérôme Gardou
73fd52a164 [NTOS:MM] Flush dirty pages after closing the page files.
CORE-17462
2021-02-10 11:14:19 +01:00
Robert Naumann
b493a2f8ab [SYSSETUP] Update German translation. 2021-02-09 21:03:34 +01:00
Timo Kreuzer
ca74467904 [NTOS:CC] Raise status, when CcMapData fails (#3348)
Also add a check in fastfat, that asserts, when CcMapData returns FALSE.
2021-02-09 09:29:48 +01:00
Serge Gautherie
2b93352907 [LOAD][UNLOAD] Fix w*printf() format strings (#3319)
Also:
- Set ServiceName.MaximumLength.
- Fix MSVC warnings:
'...\load\load.c(19): warning C4267: '=': conversion from 'size_t' to 'USHORT', possible loss of data
'...\unload\unload.c(19): warning C4267: '=': conversion from 'size_t' to 'USHORT', possible loss of data'
'...\unload\unload.c(24): warning C4476: 'wprintf' : unknown type field character 'U' in format specifier'
'...\unload\unload.c(24): warning C4474: 'wprintf' : too many arguments passed for format string'
2021-02-08 16:47:13 +01:00
Serge Gautherie
682f85ad9f [DOC][WS2_32][WS2HELP] Fix ws2* paths (#3425) 2021-02-07 22:17:01 +01:00
Aobi Chan CL
3692b5ff25 [TRANSLATION] Chinese Traditional (zh-TW) translation improvement (#3430)
- CACLS, FONTSUB, NOTEPAD, SOLITAIRE, VCDCONTROLTOOL, WORDPAD: Update Chinese Traditional translation.
- CALC, PING, SYSTEMINFO Add Chinese Traditional translation.
- PING, SYSTEMINFO: Update zh-TW.rc to make it less Windows like (maybe).
- WRITE, WINFILE: Translation sync to Wine.

+ Update media/doc/For_Chinese_Translation.txt
2021-02-07 22:14:19 +01:00
Václav Zouzalík
5a194a2434 [INF] Add Czech (cs-CZ), Slovak (sk-SK) and Esperanto (eo-AA) translations (#3446) 2021-02-08 00:06:25 +03:00
Yaroslav Kibysh
c917caf723 [SYSSETUP] Make status dialog look like msgina status dialog (#2825)
* [SYSSETUP] Add msgina-like resources

* [SYSSETUP] Add bitmaps functionality, remove progress bar

* [SYSSETUP] Update resources

* [SYSSETUP] Use DPRINT1

* [SYSSETUP:INSTALL] %d - %lu for GetLastError in DPRINT1

* [SYSSETUP:INSTALL] Check pDlgData for NULL value

+ add some comments
2021-02-07 20:36:55 +01:00
Mark Jansen
35103558e1 [CMAKE] Fix empty dependencies.graphml being created 2021-02-07 14:02:01 +01:00
Mark Jansen
b809275cbe [WININET] Fix usage of uninitialized variable 2021-02-07 14:00:12 +01:00
Eric Kohl
560b66a2d5 [NET] Remove the NAME, PRINT and SEND options because we will most likely never have a messenger service 2021-02-07 13:45:25 +01:00
Siavosh Kasravi
bb723c337a [SHELL32] Fixing COpenWithMenu.cpp for handling path strings with spaces (#3449)
CORE-17445

Fixing the bug where open with menu where OpenWithMenu does not handle handler's path when there are spaces in the path string, by adding the missing quote marks around %1 when recording the registry entry for file handler.
2021-02-06 14:35:11 +01:00
Serge Gautherie
32f7474f38 [SETUPLIB] Fix 'unlock' copypasta in debug print (#3448)
Addendum to 76ac898.
2021-02-05 16:10:15 +03:00
Victor Perevertkin
dbcd6efedf [GITHUB] Fix labeler rules, attempt 2 2021-02-05 14:58:14 +03:00
Victor Perevertkin
d8b8e73844 [GITHUB] Fix labeler rules 2021-02-05 14:39:25 +03:00
Victor Perevertkin
2660316022 [GITHUB] Fix YAML parsing in labeler.yml 2021-02-05 14:00:51 +03:00
Victor Perevertkin
f7cf2ee32d [GITHUB] Add Labeler action for labelling PRs automatically 2021-02-05 13:41:03 +03:00
George Bișoc
dd4c113594 [NTOS:SE] Do not use a global lock for tokens (#3445)
In Windows Server 2003 the lock is initialised on a per-token basis, that is, the lock resource is created in SepDuplicateToken() and SepCreateToken() functions. This ensures that the lock initialisation is done locally for the specific token thus avoiding the need of a global lock.
2021-02-05 12:10:19 +03:00
Victor Perevertkin
b705df731e [NTOS:MM][FASTFAT_NEW] Fix DBG usage, fixes Release build 2021-02-05 11:54:10 +03:00
Jérôme Gardou
44eecfaa01 [MEDIA] Update WINESYNC.txt for d3dx9 DLLs 2021-02-04 16:37:07 +01:00
Jérôme Gardou
236b5f77ab [WINESYNC]: d3dx9 is now in sync with wine-staging wine-6.0-rc5 2021-02-04 16:37:07 +01:00
winesync
0e1975b6aa [WINESYNC] d3dx9_36: Implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
This patch fixes last problem of bug 32572.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
489e520163 [WINESYNC] d3dx9_36: Filter out D3DCompile warning messages that are not present with D3DCompileShader. (try 4)
This patch fixes vertex processing issue of bug 33770.

The problem comes from the fact that even if the call succeeds,
the game interprets a non null error_messages pointer as an error.

By calling D3DCompile we use a newer version of the compiler which is more
strict and generates the following warning.
  - warning X3206: 'dot': implicit truncation of vector type
  - warning X3206: implicit truncation of vector type
  - warning X3206: 'mul': implicit truncation of vector type
D3DCompileShader does not generate such warnings.

These is confirmed in the DX SDK release note:
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the compiler will warn
when an implicit truncation of a vector type occurs.

The warnings cannot be disable so this patch filters out these strings in D3DCompileShader
and reset the error messages pointer if the resulting buffer is empty.

Try 2:
  - only filter out lines containing "X3206:" in case d3dcompiler_43 has localization

Try 3:
  - use move in place instead of copying the buffer

Try 4:
  - filter simplification by Sebastian and remove 'mul' testing left-out in search string

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
7a7364d0ad [WINESYNC] d3dx9_36: Improve D3DXSaveTextureToFile to save simple texture to dds file.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
959c06f9b3 [WINESYNC] d3dx9_36: Add support for FOURCC surface to save_dds_surface_to_memory.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
181ffe0779 [WINESYNC] d3dx9: Implement D3DXComputeTangent
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

wine-staging patch by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:07 +01:00
winesync
1dfb089b4b [WINESYNC] d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
5687b22005 [WINESYNC] d3dx9_36: Add semi-stub for D3DXOptimizeVertices.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
81b6936ac8 [WINESYNC] d3dx9_36/tests: Add additional tests for special cases.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
51b19f6605 [WINESYNC] d3dx9_36/tests: Add initial tests for D3DXDisassembleShader.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2021-02-04 16:37:07 +01:00
winesync
7e6d9c5b39 [WINESYNC] d3dx9_36: Implement D3DXDisassembleShader. (v2)
Changes in v2 (by Christian Costa):
  * More generic code for D3DXDisassembleShader.

wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
62f40620f1 [WINESYNC] d3dx9_36: Improve stub for ID3DXEffectImpl_CloneEffect.
wine-staging patch by Sebastian Lackner <sebastian@fds-team.de>
2021-02-04 16:37:07 +01:00
winesync
7c02c861b1 [WINESYNC] d3dx9_36: Add format description for X8L8V8U8 for format conversions.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
7a64c4dcc9 [WINESYNC] d3dx9: Return D3DFMT_A8R8G8B8 in D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
wine-staging patch by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
93a4e84feb [WINESYNC] d3dx9: Avoid closing invalid handles.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50373
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e27a95e92097a601baa9b0e9dd6fcc5013c863fa by Akihiro Sagawa <sagawa.aki@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
1f6645eb19 [WINESYNC] d3dx9: Correctly handle sprites array reallocation.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 34c0055cfcb84e32d13556b7ec841d01acf5fe96 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
d7f9f9f6e8 [WINESYNC] d3dx9: Remove unreachable DT_SINGLELINE handling from ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a097f54ea1e7e75b78842ceb835f5db5f08fea06 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
06bd040614 [WINESYNC] d3dx9: Implement clipping of glyphs in ID3DXFont_DrawText.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49546
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84cbf6a49dfe75b9fd497b2c3ef7e922857bb618 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
9567bb87bd [WINESYNC] d3dx9: Fully initialize the glyph position.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49376
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2481e617bbd529a297266ad53b1afe1d96e9af89 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
31f063ffbf [WINESYNC] d3dx9: Don't release textures when D3DXSPRITE_DO_NOT_ADDREF_TEXTURE is specified.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9eda5c043047fd117441473651b2089b80a4ed80 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
fe25fbb5fe [WINESYNC] d3dx9/tests: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bffe111672972cb26c319c029ca469520742c720 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:07 +01:00
winesync
868f57e6b2 [WINESYNC] d3dx9: Simplify D3DXSphereBoundProbe() a bit.
Spurred by a patch by Alex Henrie.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 18ae539c914a9b5a89f63d8cf9c2a21273eccc6c by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:07 +01:00
winesync
4c48bb18fd [WINESYNC] d3dx9/tests: Add a few D3DXLoadSurfaceFromSurface() tests with different rects.
Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ea7cf679150f790d2e375d99ee226ea4881b490a by Robin Kertels <robin.kertels@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
a5f345390c [WINESYNC] d3dx9: Ignore filter in D3DXLoadSurfaceFromSurface() when rects match.
This allows us to use IDirect3DDevice9_StretchRect
and avoid GPU synchronization.
It massively improves performance in Dead Space 1 which
calls LoadSurfaceFromSurface every frame before presenting.

Signed-off-by: Robin Kertels <robin.kertels@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 625622ad4182061ee3111032ab0ae4a494b74e73 by Robin Kertels <robin.kertels@gmail.com>
2021-02-04 16:37:07 +01:00
winesync
4d0164c0a0 [WINESYNC] d3dx9: Implement ID3DXSkinInfo_Clone().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48779
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35a4093eff75e5bf7fee0dc8d2a708d960b03768 by Gijs Vermeulen <gijsvrm@gmail.com>
2021-02-04 16:37:06 +01:00
winesync
bbb79195a5 [WINESYNC] d3dx9: Use BitScanReverse in make_pow2.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 22970932d014f024fcf7f0f98b1a5384b1b1eb99 by Jacek Caban <jacek@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
48f365863f [WINESYNC] d3dx9/tests: Remove useless '\n' within some ok() messages.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c1cf13a7512387885616684130b605a7640f5187 by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:06 +01:00
winesync
20ea1bf125 [WINESYNC] d3dx9: Add support for D3DFMT_P8 in DDS files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48731
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb222133a81581622c88c0d34534bc88a556f1f2 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:06 +01:00
winesync
4ff131d352 [WINESYNC] d3dx9: Handle horizontal alignment in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d511853d45bc3302b2a4501b1aa0097a4e78b3d9 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
69ca9a5852 [WINESYNC] d3dx9: Handle vertical alignment in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd9808b45af4bf4c6771fe2932e3169cb193bf44 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
841a23759e [WINESYNC] d3dx9: Add a helper for computing the bounding rectangle in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 53769e7bde9cfb808e26cf67057314c2ca03345a by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
4f3d8e9fbf [WINESYNC] d3dx9: Switch character count to unsigned int in the DrawText implementation.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b5df43b9118074485a1f4a917b16d37bc068839d by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
1697b87434 [WINESYNC] d3dx9/tests: Introduce compare_uint().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9bcb1f5195d1e65e0e7afb288d36fee716fe3a60 by Henri Verbeet <hverbeet@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
67c812be35 [WINESYNC] d3dx9: Use stricmp() instead of _strnicmp(..., -1).
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aab980a16253ff6bb6286572576899bfc0f83945 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:06 +01:00
winesync
51b2c71b54 [WINESYNC] d3dx9: Validate state operation in d3dx_parse_state().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2b5b069dd70ba328dc0ce660861ad802feae912c by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:06 +01:00
winesync
777269ea64 [WINESYNC] d3dx9: Use an assert() to validate access to const_tbl[].
This check is essentially validating that the hardcoded state_table[]
has reasonable values for the shader constant states. Use ARRAY_SIZE()
to avoid warnings if the compiler chooses an unsigned integer to back
enum SHADER_CONSTANT_TYPE.

Based on an idea by Henri Verbeet.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cfc533b40d2d1426a8f05501152b28aa1ec78f07 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
e6e305520c [WINESYNC] d3dx9: Remove a recursive call to ID3DXFont_DrawTextW when no rect is specified.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9796bdc966a89cd31829f3a094bb37ec71e21871 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
cf5abba9d8 [WINESYNC] d3dx9: Add two more DT_SINGLELINE tests.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 787d98f47ce7254dda7f644fa6d033fe1776ae38 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
0319347754 [WINESYNC] d3dx9: Handle DT_CALCRECT in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 143a2a30f89dfc79cc2a49cd34af6fd587ce3f69 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
1dfbf16fa6 [WINESYNC] d3dx9: Handle DT_SINGLELINE in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 333687f522730befb8c64d297dc52f654e53a744 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
806fe486fb [WINESYNC] d3dx9: Handle word breaks in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e6a1116c2a3b196dea496f77747209f67982652c by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
818c9f88b0 [WINESYNC] d3dx9: Handle clipping in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6da3e904a1efc921030fdbe34070b981bf57524c by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
9363eac228 [WINESYNC] d3dx9: Handle newlines in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 330c3f9108191feb6eb888384befb5cb54645233 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:06 +01:00
winesync
928ed97d6c [WINESYNC] d3dx9: Add a very basic ID3DXFont_DrawText implementation.
Based on a patch by Tony Wasserka.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 316a8d0ae11ae1a9654bc731d2c9dc23febc7a2d by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
aa86f68321 [WINESYNC] d3dx9: Implement ID3DXFont_PreloadText.
Based on a patch by Tony Wasserka.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cc03400e322edea97f0e425c04cd9069f77b4c9f by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
6f6f4d1501 [WINESYNC] d3dx9: Implement ID3DXFont_PreloadCharacters.
Based on a patch by Tony Wasserka.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21fc1f37e76eaced9228eaf62a45489a2bf8ac11 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
ea944e7a9e [WINESYNC] d3dx9: Implement ID3DXFont_GetGlyphData.
Based on a patch by Tony Wasserka.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9ea8a05e54f1c950e5c15979d1393ad013402b1 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
541dbf1b36 [WINESYNC] d3dx9: Implement ID3DXFont_PreloadGlyphs.
Based on a patch by Tony Wasserka.

Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ac5687463700b070fc1eecca67c4a46ec15127fa by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
9cb965ea9b [WINESYNC] d3dx9: Reimplement make_pow2() in d3dx9_private.h.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b0ad92db1c21d5052c45be2291759d60553476c by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
921935dfd6 [WINESYNC] d3dx9/tests: Add more ID3DXFont_DrawTextW tests.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e0ce80561bf046c9dc7837e1c7f3c999f18b0361 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
ed10b8bf3e [WINESYNC] d3dx9: Implement D3DXCreateKeyframedAnimationSet.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45481
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0854a7eab7ac69057a3bf8c44ef90ce18497d964 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:05 +01:00
winesync
44db8b970b [WINESYNC] d3dx9: Support D3DFMT_X8L8V8U8 in DDS files.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 06918ba76bdc109e59fdc1d8ee00c46f6857bbd2 by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:05 +01:00
winesync
018206caed [WINESYNC] d3dx9/tests: Add some more ID3DXFont tests.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef889fe654e8bef81c009b93501b6c0411cd8354 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
79f2110191 [WINESYNC] d3dx9/tests: Add some tests for ID3DXFont_DrawText().
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id db7539f9f3ead16cb94ff03c2b8f9ca11b44a253 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:05 +01:00
winesync
ecb1218ae7 [WINESYNC] d3dx9/tests: Get rid of redundant handling for D3DXCreateFontA() failures.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id da62db437aca4a434ab88297ac78cbcd83f6152e by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
c483241e11 [WINESYNC] d3dx9/tests: Use Tahoma in all font tests.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2465220a0c93f8e55948061772c2a39fb5753bd9 by Sven Baars <sbaars@codeweavers.com>
2021-02-04 16:37:05 +01:00
winesync
7d1fa6a111 [WINESYNC] d3dx9: Pass D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY when appropriate.
Manual testing shows that the backward compatible compilation is used
in d3dx9 versions below 37.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48302
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 13880f8e6a0a972382de7de04b56bd1a414bef67 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:05 +01:00
winesync
89c23f17a4 [WINESYNC] d3dx9: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 96dab5abeedbb0908ac11915464f71eb74383bd7 by André Hentschel <nerv@dawncrow.de>
2021-02-04 16:37:05 +01:00
winesync
4db4fa29d1 [WINESYNC] d3dx9: Make ID3DXLine::OnResetDevice() return S_OK.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38615
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f0212c4fd35ac4b03a082cab27e629130ac1b13 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:05 +01:00
winesync
02ca94672b [WINESYNC] d3dx9_36/tests: Fix some constant conversion warnings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 863da013a216bb50b925bbb9e3987b21206fb782 by Alexandre Julliard <julliard@winehq.org>
2021-02-04 16:37:05 +01:00
winesync
bf2e192898 [WINESYNC] d3dx9_36: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d7fcf52106bbb11544e8dbc5777150c8f55d726 by Francois Gouget <fgouget@free.fr>
2021-02-04 16:37:05 +01:00
winesync
185fe9cdeb [WINESYNC] d3dx9: Implement D3DXCreateFragmentLinker[Ex]().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38086
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd06827bca416dfec8835f109834ad0729c996a8 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2021-02-04 16:37:05 +01:00
winesync
4dbfea9dd2 [WINESYNC] d3dx9_36: Fix the spelling of a TRACE() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0611e27caf5105795cb94e60dec5ff0561e8ec44 by Francois Gouget <fgouget@free.fr>
2021-02-04 16:37:05 +01:00
winesync
0336f97838 [WINESYNC] d3dx9: Implement d3dx_effect_ApplyParameterBlock().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e28888c9fe504f75d985e34a2c271f43abd95497 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:05 +01:00
winesync
7175721b38 [WINESYNC] d3dx9: Implement recording parameters to parameter block.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7d512a1e0ef58fad25e53af5316d445cb0cfc5e7 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
3daf9d55e6 [WINESYNC] d3dx9: Factor out free_parameter_object_data() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 07562f1e3927b2aa1521811f0c16a7f05c175cba by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
0bc31de988 [WINESYNC] d3dx9: Factor out set_value() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4020a38259774c64035e5783d595ff88097cedf8 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
3c1a652221 [WINESYNC] d3dx9: Implement d3dx_effect_DeleteParameterBlock().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f65e4854e37355a946b6e017a2cd595a1ddceb38 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
7bc8c981ac [WINESYNC] d3dx9: Implement d3dx_effect_EndParameterBlock().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd47b684487bab4664a31a3b670783b6d1a5aca3 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
76955cb6aa [WINESYNC] d3dx9: Implement d3dx_effect_BeginParameterBlock().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e281ba4db6654850caf713ab09aa6a2057e1d064 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
db6d1a41d0 [WINESYNC] d3dx9/tests: Test ApplyParameterBlock() while recording.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85d3ad879d5b13f7fce378009aaf80b419ad6185 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
724c4406aa [WINESYNC] d3dx9/tests: Add test for effect parameter block.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 61ee765aa0ec0d0e478a9f82d73e602ea71419c2 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
53b44b7c4d [WINESYNC] d3dx9: Avoid double freeing samplers.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6aced396bad8bea61733fda24f0cecabaec5041e by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
abc5817112 [WINESYNC] d3dx9: Remove redundant NULL check before heap_free().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0a5c64bd5d4240d8a7a9913c77730458262d450 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:04 +01:00
winesync
d9ceaa2284 [WINESYNC] d3dx9: Correctly handle NULL constant state for objects on 64 bit arch.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aef11864a47a33830eca086de8bf337ee9b5114a by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
c7dd2e86e0 [WINESYNC] d3dx9: Turn unimplemented interface ERR into a WARN.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5b66442bc95e42bcef2ca385168fc3d594182e4a by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
7e7d7d48f9 [WINESYNC] d3dx9: Don't pass usage flags for staging texture in D3DXCreateVolumeTextureFromFileInMemoryEx().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 29c02234eb2be9c8fa48cfc021d0d6f84de58add by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
ed59f01229 [WINESYNC] d3dx9: Use check_texture_requirements() in D3DXCheckVolumeTextureRequirements() with correct resource type.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b03d21c8f89b3f9dbd68ac849f9923197095eb5 by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
849074f0c6 [WINESYNC] d3dx9: Use check_texture_requirements() in D3DXCheckCubeTextureRequirements() with correct resource type.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e50873f504b4693c9efcf7113afcb633155babbc by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
be011791e1 [WINESYNC] d3dx9: Factor our check_texture_requirements() function.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 92c8c0fc7fb95209fa9dec25234d16b1dbddcf2a by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
28df0e9ba8 [WINESYNC] d3dx9: Return an error if no fallback format is found.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fcdcd5d3cbb58a40894f661fd8a9285b81a55789 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
4053a5ada3 [WINESYNC] d3dx9: Don't pass usage flags for staging texture in D3DXCreateCubeTextureFromFileInMemoryEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47974
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0840773f7ee00dc9373b4db825fec68d08ee53b by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
03f8174d97 [WINESYNC] d3dx9: Correctly align texture dimensions to block size in D3DXCheckTextureRequirements().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6f90daa3117cf493e0815c42bb0fa1740d31308 by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:04 +01:00
winesync
d2eac4cdbf [WINESYNC] d3dx9: Fix pitch passed to DXTn [de]compression functions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47862
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9069913dbba0914b80544ce4afb9e7285efad2a5 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
62751bc14e [WINESYNC] d3dx9: Add a trace to D3DXCreateBuffer.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a172aead8d542b92709545d8bcd992f03ee19d82 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
f2c536f5cc [WINESYNC] d3dx9: WARN when the file doesn't exist in D3DXCreateTextureFromFileExW().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81ababa864229a7e81abca76ef7e6a12fe5b256f by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
4198c58dca [WINESYNC] d3dx9: Compute the correct source rect in D3DXLoadSurfaceFromFileInMemory().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f934ef1a14108aa535e76900b29cba0dd8253f80 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
497d1c4360 [WINESYNC] d3dx9: Don't pass the D3DLOCK_DISCARD flag when mapping a texture.
We aren't necessarily rewriting the whole surface (e.g. rect smaller than
the whole surface, color key).

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 536fce7f3b887fcc087d4c00106ceb2f0ff93c01 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
e219194369 [WINESYNC] d3dx9: Implement DXTn compression for offset destination rect.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a838e144dcaa55e227d7e99566a59f7a31d97227 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
38d868820a [WINESYNC] d3dx9: Handle non-zero source rect position in D3DXLoadSurfaceFromMemory().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41936
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 88d8ae383932ad1c292c74da7dcc19f00d8423f7 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
8c85a63a2b [WINESYNC] d3dx9: Move the source rect alignment check into the condition for simple copy.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a9c158b72aae1efed159d40fde086cdc608bc62e by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
bbf66db254 [WINESYNC] d3dx9/tests: Improve tests to check for DXTn fallback formats.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2f3fc03cb1dbcae77e199f3fd8eb2ccf419cfa5 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
882cc57c66 [WINESYNC] d3dx9: Handle compressed surfaces in D3DXLoadSurfaceFromMemory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=24983
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 376182062ff1ab8e7835fd67bc650da83c2cc75d by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
e639a7847f [WINESYNC] d3dx9: Add traces to filtering functions.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1f9243c757589c6ff2333794c3a44327d64855ae by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
fb4694d510 [WINESYNC] d3dx9/tests: Add even more tests for misaligned block textures.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5472b8b98332400a7ad434ed94bed82b21f622fe by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
7715799cbd [WINESYNC] d3dx9/tests: Add more tests loading misaligned block textures.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c29f770e8bf1da56856b457cf92221e88f6323d4 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
8a753b054f [WINESYNC] d3dx9/tests: Add a test with a larger DXT5 texture.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7656110e6e83866a33418bc6b48984632010e00 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
7cf0e71b4f [WINESYNC] d3dx9/tests: Add a test for loading a texture smaller than the block size.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 426d6776cff537e36bdb7c0fb7963a74e4a3251e by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
7b66aec721 [WINESYNC] d3dx9/tests: Add a test for loading surfaces not divisible by the block size.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f39c726fc91d84d4b26241c3a031381ad9e59cb by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
eaf1129b76 [WINESYNC] d3dx9: Relax a block alignment check.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e371085aaf4424e6ef9b5b76ebf3107121d22f50 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
74df1d450b [WINESYNC] d3dx9: Simplify unsupported format check.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b744a309ace15a8c5494cf7134294c5869d2dade by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
8cce0b9007 [WINESYNC] d3dx9_36/tests: Spelling fixes in ok() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 92c00c51b21594987d342b5ce00c174ab4e84595 by Francois Gouget <fgouget@free.fr>
2021-02-04 16:37:04 +01:00
winesync
3ff51fd68e [WINESYNC] d3dx9: Make qsort() callback functions cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08b569d50599328df1531f20cceb5331bf718524 by Alexandre Julliard <julliard@winehq.org>
2021-02-04 16:37:04 +01:00
winesync
30042a5211 [WINESYNC] d3dx9/tests: Make the pixels array static.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 15dd8e2b981ca32cae94409153627b3300bbeab8 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
3b3672360f [WINESYNC] d3dx9: Get rid of unused unlock_surface() argument.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eadc7b3128afdf59891c6f9a1c568077c4e6d087 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:04 +01:00
winesync
8dcbf4645c [WINESYNC] d3dx9: Pass rectangle to {lock|unlock}_surface().
This fixes regressions introduced by commits
65956ae50a136fe8467a0332c7495f36617a16dc, 092c14b9d86ee1e96e465908cc524ec85988d0ff.
Surface source or destination rectangles were left behind.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47546
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 378204527e1f42ed1373a0cd7356770d235e319d by Paul Gofman <gofmanp@gmail.com>
2021-02-04 16:37:03 +01:00
winesync
224d70bd0c [WINESYNC] d3dx9: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9fb5745a7997bbfe033779650f1193d85369cef2 by Alexandre Julliard <julliard@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
bbc438a5d5 [WINESYNC] include/msvcrt: Add INFINITY and NAN definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a16ef96dc624edf2666aa125fbc1c197f5edcc1b by Alexandre Julliard <julliard@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
7240c0d945 [WINESYNC] d3dx9: Always free samplers (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7dc42119b40ad39165d881dd8d0e410d3e84fe5a by Sven Baars <sven.wine@gmail.com>
2021-02-04 16:37:03 +01:00
winesync
c2b534f4fd [WINESYNC] d3dx9: Release the full parameter name when a parameter is released (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63443f249f4dfe748ce3872e74ecf5c1d8aa55d9 by Sven Baars <sven.wine@gmail.com>
2021-02-04 16:37:03 +01:00
winesync
e4ffc986e5 [WINESYNC] d3dx9: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5c5a8ae23ff7fe9c103de4e3dfce06bf1b8778c1 by Piotr Caban <piotr@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
7fb747193a [WINESYNC] d3dx9: Fix argument type in convert_dib_to_bmp().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bed853c4380ebf86220ffe2fd89d48d98a90921 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
e6deaabfc6 [WINESYNC] d3dx9: Generate ID3DXSkinInfo in D3DXLoadSkinMeshFromXof() when needed.
Based on a patch by Michael Müller.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33904
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70d722340ad546ab988fffe4577e0c0ebe35a982 by Vijay Kiran Kamuju <infyquest@gmail.com>
2021-02-04 16:37:03 +01:00
winesync
50442c0d0b [WINESYNC] d3dx9/tests: Add tests for 32 bpp BMP with alpha.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a30fd8c0e44833b2a6412987a348273bfe42fe2f by Christian Costa <titan.costa@gmail.com>
2021-02-04 16:37:03 +01:00
winesync
65ca5beb3d [WINESYNC] d3dx9/tests: Avoid a test failure on Vista testbot.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ccdb74d81ac4a95aa87414f6459a8b44d451358a by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
9b602dbdc9 [WINESYNC] d3dx9/tests: Improve D3DXMatrixInverse() test a tiny bit.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5c052b699e7ac5c0e4f2324fe31e2d022dcf4bb5 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
b238e9688c [WINESYNC] d3dx9/tests: Add initial tests for dummy skin info interface.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aec8e12a3d71272b31aa8b5b075fe1cd88517c92 by Michael Müller <michael@fds-team.de>
2021-02-04 16:37:03 +01:00
winesync
256cd6a4cb [WINESYNC] include: Fix D3DXF_FILELOADMEMORY definition.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9c74b8b10116c3f0b3bd4d08724963245499a92 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
9add999c51 [WINESYNC] d3dx9: Secure against unsafe iface to COM object transitions.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cd3e5020e4c87f49eb042fff9f607b6d745a5d55 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
13aa089045 [WINESYNC] d3dx9: Get rid of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3b951b77f87ed9102fc7a2ccb0807b5592990147 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
b2df33e579 [WINESYNC] d3dx9: Move flags out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7f16670edc3ed5c8ab5bdd88e88a00f8ba1853dc by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
9fd48117e6 [WINESYNC] d3dx9: Avoid using This in d3dx_effect_Clone().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c56906599cdad729834a6807747ce2c928fc511d by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
2c660479ae [WINESYNC] d3dx9: Merge the two pool fields of struct d3dx_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef974e59856d702523ef04b5e315d0c980097c8d by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
234a3a6389 [WINESYNC] d3dx9: Avoid using 'This' in d3dx_effect_GetPool().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3bd0fc3d6ad75ec723f2268e2d6de79be904de2c by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
eb06082f45 [WINESYNC] d3dx9: Simplify effect init.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9a121f511533abb801ce49011e2a089b15265a44 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
f336e915a2 [WINESYNC] d3dx9: Simplify effect cleanup.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 009279845d9503468d5d3d39e393ad2ffa00181d by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
275bd75bd6 [WINESYNC] d3dx9: Move techniques out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5fa06bbc302c0fdbf8a5e087b7f18445475add2a by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
f8ab5e6bfb [WINESYNC] d3dx9: Move parameters out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4c134a66b0c3c10d4ed334477385a91440069024 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
433f7dc030 [WINESYNC] d3dx9: Use get_version_counter_ptr() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9438d031277cce1a1c21e0739e12d4c37f365467 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
9931b438e9 [WINESYNC] d3dx9: Move technique_count out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 074e3232ee90c94f9a8e7c55988b29b40e1e3f0f by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
515c280579 [WINESYNC] d3dx9: Pass a struct d3dx_effect to d3dx9_create_object().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 92d2f6d99429df4b5f132eca2fa8a2c1eae4a6d0 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
9ed5adb0c1 [WINESYNC] d3dx9: Don't pass a struct d3dx9_base_effect to d3dx9_base_effect_init().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id de59a1297111dfd0be93dccaa2db31865c61b79a by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
a639b63404 [WINESYNC] d3dx9: Don't expose struct d3dx9_base_effect outside effect.c.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baf4aaa359c75715e7840b4c045fdb22adf2bc8a by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
81c4bfa714 [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_parameter_element_by_name().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 09770370c0b9159d3324684146544b6f441e4889 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
ee5b715bde [WINESYNC] d3dx9: Move full_name_tmp_size out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c6345322983ed3df9100b801aaa56367b37a501 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
2493cdf262 [WINESYNC] d3dx9: Move full_name_tmp out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3779ff07b048bfdaf67674db89aedaa1e4b1e810 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
826d5b5fcb [WINESYNC] d3dx9: Move param_tree out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id adc1b5a8bc6bcce427e231485015da43d24ca5cb by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
6d0bce396f [WINESYNC] d3dx9: Avoid double free on effect initialization failure.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cffe35488dc16414c6938e0f1a0169fb59730c97 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
winesync
3b863b3693 [WINESYNC] d3dx9: Pass a struct d3dx_effect to d3dx9_base_effect_cleanup().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2f16d2f4ca86263571797d9544a9534e8aa29c16 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
e60679e844 [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_annotation_by_name().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7738fec56b8d55f006babf4d9fb7a1b79cf363af by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
6ff343ea9a [WINESYNC] d3dx9: Pass a struct d3dx_effect to add_param_to_tree().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 62a26e1ad0e18b8de8ac8154cbce6c6f66f2249b by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
7c212953a7 [WINESYNC] d3dx9: Pass a struct d3dx_effect to the version helpers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f9351bae3e22ac500c237ab5a0b0556561e913d6 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
ce95dc5813 [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_valid_pass().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 956b30dbf3899e3cd0ccccc17d99f01047caf634 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
0c4e3081da [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_valid_parameter().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6ecc2c51b3849d313ad670a4b0ff14ca50aeb26a by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
d14c6a9493 [WINESYNC] d3dx9: Merge the d3dx_effect_GetVertexShader() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 73a05456bf6eb1102c5e3cc361f906e65f62cfcf by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
50aa6ee7ea [WINESYNC] d3dx9: Merge the d3dx_effect_SetVectorArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a4ea70af146850d690e0de64436253aef098a86d by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
492a1837b7 [WINESYNC] d3dx9: Merge the d3dx_effect_SetVector() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6eb69d2cf6a9049a3fedc3ec71146b3745f17e2b by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
329ee4ce80 [WINESYNC] d3dx9: Merge the d3dx_effect_GetVectorArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4d978ec0812cd18960337d5709853d93d98a1f2e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
17776bdd0f [WINESYNC] d3dx9: Merge the d3dx_effect_GetVector() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3754ba683f2d3ccb16354a75b530c317382929d8 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:03 +01:00
winesync
a64947697d [WINESYNC] d3dx9: Merge the d3dx_effect_SetValue() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bd731f6dd12d1e61daf3d6abefb3e01be35f5104 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
fce46567f7 [WINESYNC] d3dx9: Merge the d3dx_effect_GetValue() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d4e39ee1d8a263d91bc291cacfe8938f81d447fc by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
e8b87e3799 [WINESYNC] d3dx9: Merge the d3dx_effect_SetTexture() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 918c13f48cab2fe9391148ae4281015c0e169378 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
13e4a05754 [WINESYNC] d3dx9: Merge the d3dx_effect_GetTexture() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f06d6ab0858db398576e36bf295be581952d6209 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
598c2e03b2 [WINESYNC] d3dx9: Merge the d3dx_effect_SetString() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e288158dec12f4f55aea01fb1e2879c6e9a18028 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
da7f239a06 [WINESYNC] d3dx9: Merge the d3dx_effect_GetString() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ea45ed1751860905daa33af5e45d38cbbeadd0ad by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
6dec261847 [WINESYNC] d3dx9: Merge the d3dx_effect_GetPixelShader() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7ce336969ca4f7adba33c45f5f746a8f656348cc by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
2a0486d854 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterDesc() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 262238d46752700c2041cb9548724c66bd017eca by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
6d27669ad3 [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrixTransposePointerArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f34f13825fd060fda40f0a5b02dc1b420e3a8e1e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
7145cf23a4 [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrixTransposeArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9f1ed4fcdd053647f7e2a7626ab95d0a1e8914eb by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
3f197f6fc7 [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrixTranspose() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81203bdb0462ecce8f2791f1599cf1fedf318ad7 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
b74269badf [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrixTransposePointerArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95a8cfad14f1d87b9f7512f96c5c06edba04ca70 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
e9177cf564 [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrixTransposeArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 29bf6988e3ae7451b46c3c73a4ba95b41c17dea0 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
43bb890af9 [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrixTranspose() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2fdd724a41c137e7f82b9a4b042b68cef32ac281 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
efeffca80e [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrixPointerArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c47355a3dc3685c44982ecb9944c0826c0b03526 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
09e5a68482 [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrixArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 96e2d0e018ba469599d50527f187c53f93b76216 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
3d9993c20a [WINESYNC] d3dx9: Merge the d3dx_effect_SetMatrix() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1621b2c28c57af09064d69e6cbe8573db88b555 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
99c88ea215 [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrixPointerArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e39845ac9a7f363ca824ff6354ade6b6425a35e9 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
644faeeb7e [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrixArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d7430f7143acc9e14cd58d3bc598ca79f7bff5e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
2bbbe62494 [WINESYNC] d3dx9: Merge the d3dx_effect_GetMatrix() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 636a2b5a39f81699bddd289b04de9644611b8987 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
122fe3ff58 [WINESYNC] d3dx9: Merge the d3dx_effect_SetIntArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8ea0f9d4dd3e4d74af51df0a2dc2723f2be0da8c by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
6c31253e62 [WINESYNC] d3dx9: Merge the d3dx_effect_SetInt() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e771d77761a78b1b597144edfd69ae05b31561e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
cdc0089c1c [WINESYNC] d3dx9: Merge the d3dx_effect_GetIntArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 570ae3b2aa2e7da3f14fbd59979a39e8f21763be by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
218bc69a38 [WINESYNC] d3dx9: Merge the d3dx_effect_GetInt() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5015e2a7cf5fa3779fd651817058e03c94807088 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
b1ee53bf49 [WINESYNC] d3dx9: Merge the d3dx_effect_SetFloatArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86dff681fc6c36a77b84ec7ded4dfc3f889e2882 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
b6b435e16c [WINESYNC] d3dx9: Merge the d3dx_effect_SetFloat() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2543e78b828f842813066827b5b2fb4565a51f7e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
0e01a12034 [WINESYNC] d3dx9: Merge the d3dx_effect_GetFloatArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf4c22bd712594f3589070c493fc550770ebc899 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
6450fd6db3 [WINESYNC] d3dx9: Merge the d3dx_effect_GetFloat() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 460fd21ccc6785172167553e6dd124fdec020d11 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
ab91d0f28e [WINESYNC] d3dx9: Merge the d3dx_effect_SetBoolArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e435a1442d6499f358168d8a0ca974b43ccd9140 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
022ce2f70b [WINESYNC] d3dx9: Merge the d3dx_effect_SetBool() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b4bc9ea7b711c03b93d15bb2ba04dfbbb9d70f72 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
3c49040030 [WINESYNC] d3dx9: Merge the d3dx_effect_GetBoolArray() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab7756619c1b16c761618a68d1b6a06ad437cbe8 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
706fd8dde3 [WINESYNC] d3dx9: Merge the d3dx_effect_GetBool() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cca43ca090ccb27c5e3d3564dbe69a424f0c9872 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
9a5e0c591c [WINESYNC] d3dx9: Move objects out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f0d7dd0761fc0b6a45b3d3ae136339d3c3bf8075 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
bd5f74314c [WINESYNC] d3dx9: Merge the d3dx_effect_GetPassDesc() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 52c2092fa92cd06ea2c1074072be4cadd872f083 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
2b9f231acf [WINESYNC] d3dx9: Pass a struct d3dx_effect to d3dx9_copy_data().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 26b9b04e7f40c7a2011684f01ff07be91047b492 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
44ec74a6a4 [WINESYNC] d3dx9: Move object_count out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54bdc66acf4abe1f1fa38238ed824c2372e1ff91 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
8237867116 [WINESYNC] d3dx9: Pass a struct d3dx_effect to the get technique helpers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42839d15e3ec829f939fe1f99ac6b025f64b18de by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
f23b53d642 [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechnique() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a33b20a0604e29c4b502a0d77e8828e926b09a62 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
570dd1c48a [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechniqueByName() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a2e0046fc52c4e08a64cbe76c78f184e7d5b27d2 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
97475aa65c [WINESYNC] d3dx9: Merge the d3dx_effect_GetTechniqueDesc() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 10aa0819138f4aaf0f872de74eaf953326afe997 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
43d0a88291 [WINESYNC] d3dx9: Merge the d3dx_effect_GetPassByName() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 730e44ebe224c1b70e9f6eaf6a9aaeb8bc38a20b by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
862292231b [WINESYNC] d3dx9: Merge the d3dx_effect_GetPass() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e419ac91ba5bd295b596f334951657b54dba3e99 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
3d7d27f805 [WINESYNC] d3dx9: Pass a struct d3dx_effect to get_annotation_from_object().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 89941842affb0fec7068a8bd7adca77d8c036032 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
de908e3bd1 [WINESYNC] d3dx9: Merge the d3dx_effect_GetAnnotationByName() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dd9104724b333fe27c2a1b7e57b31c29a252420 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:02 +01:00
winesync
3a9af49488 [WINESYNC] d3dx9: Merge the d3dx_effect_GetAnnotation() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7a1df2b0069bde1a9a022c6454fb8b3e06181fd0 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
f3d009fd46 [WINESYNC] d3dx9: Remove an unneeded forward declaration.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45e7e2f2d501d92436a00f97edec660a2f7a2927 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
773ed3502e [WINESYNC] d3dx9: Move parameter_count out of struct d3dx9_base_effect.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 58b87b0f3eb156718e297df6a64b96ff1f4e8621 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
aa84d04a66 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterElement() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3899e79fc429b0c668166ccc98efbd60f5c63aa4 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
c45448a2ef [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterBySemantic() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04c838fa605fe586e850b4ef2dd4f9f80d5daa2e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
2573aa0af9 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameter() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2f1ba910d133b93a3da55de4d0b3577936fd8224 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
265ca68eb5 [WINESYNC] d3dx9: Merge the d3dx_effect_GetParameterByName() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 78e067b0d0113f8f37c48366bda88d2454c8f841 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
684130bdd9 [WINESYNC] d3dx9: Pass a struct d3dx_effect to the d3dx_parse helpers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d265afcd8fb15438961d26f0160103846144a58e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
3c75e844c4 [WINESYNC] d3dx9/tests: Remove useless cast to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b0258f5756ed60b334ac20ca2f6e7f64eb5077e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
ed2023fc76 [WINESYNC] d3dx9: Get rid of the ID3DXEffectImpl #define.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d18fb86134d40ccee8df84ce7ccc4e1bdcb2d481 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:01 +01:00
winesync
74a0f6629e [WINESYNC] d3dx9: Merge the d3dx9_effect_GetDesc() helper.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4b85165cdc297f97a3609cfab2d64d87e435397e by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
280deff8df [WINESYNC] d3dx9: Merge the stub ID3DXBaseEffect methods.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 715b932768d1f34815c6b0db18554e0d734bbec6 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
da833f59a6 [WINESYNC] d3dx9: Rename the ID3DXEffect object and methods.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 612196b64c6b17d694831b92e7182afe9b2d9aca by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
0a939c57a8 [WINESYNC] d3dx9: Simplify get_parameter_by_name().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4a9fe7a8a092095420532ae734ebce9978b1e608 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:01 +01:00
winesync
25cd02e501 [WINESYNC] d3dx9/tests: Avoid using the comma operator (coccinellery).
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb0eaf7027797c6a99b4b5ecdb70c5ba336dccc2 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
winesync
393ec322ef [WINESYNC] d3dx9: Remove redundant "not NULL" checks (coccinellery).
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be30aab1e21e5b6811470a351ec0d6100e6e7687 by Michael Stefaniuc <mstefani@winehq.org>
2021-02-04 16:37:01 +01:00
Jérôme Gardou
6760065ef2 [D3DX9_xx] Reduce diff to wine 2021-02-04 16:37:01 +01:00
Jérôme Gardou
ad65e645dc [SDK/WINE] Add debugstr_a in wine/test.h 2021-02-04 16:37:01 +01:00
Jérôme Gardou
fa56912d42 [SPEC2DEF] Allow stubs with parameters, and assume stdcall in that case 2021-02-04 16:37:01 +01:00
Jérôme Gardou
86a0852ffb [SDK/CRT] Provide inline implementation of log2 2021-02-04 16:37:01 +01:00
Jérôme Gardou
edca86dadb [D3DX9_XX] Use a common header for every file 2021-02-04 16:37:01 +01:00
Jérôme Gardou
17fc441b38 [WINESYNC] Add missing file to d3dx9 configuration 2021-02-04 16:37:01 +01:00
Jérôme Gardou
7b1049c8fd [WINESYNC]: revert wine-staging patchset for d3dx9 2021-02-04 16:37:01 +01:00
Jérôme Gardou
79d15a1f37 [WINESYNC] Fix for older versions of PyYAML 2021-02-04 16:37:00 +01:00
Václav Zouzalík
f83c907902 [THEMES] Fix Lunar theme 2021-02-04 13:53:49 +01:00
Nikolay Burshtyn
87a76a3b53 [CDROM_NEW][DISK_NEW] Add Russian translation (#3427) 2021-02-04 14:14:33 +03:00
Hervé Poussineau
90f9666308 [FREELDR] In PXE, do not cache the current file
We can already restart reading the whole file if seeking backward,
and there is currently no more use case of backward seek.

By doing so, we gain 1MB of memory when using PXE.
2021-02-04 11:15:47 +01:00
Hervé Poussineau
ebb7088b02 [CMAKE] Remove unused variables _ELF_
This is not used anymore since r55855 (818418643e)
2021-02-04 11:14:59 +01:00
Jérôme Gardou
d52f937120 [KMTESTS:NTOS_MM] Purge & flush cache when there is a data section object.
Those purge & flush the mapped sections too. That's what fastfat_new & other FS drivers do.
2021-02-04 10:50:59 +01:00
Victor Perevertkin
111e40039e Revert "[CMD_WINETEST] Disable the test until fastfat_new is landed"
This reverts commit 8da0f868c5.
2021-02-03 23:50:55 +03:00
Jérôme Gardou
6f2b94c023 [NTOS:MM] Wake up the balancer as soon as we are low on page.
Fixes installing on a system with 64MB of RAM, if you feel like it.
2021-02-03 13:42:39 +01:00
Jérôme Gardou
cc9607e94e [NTOS:CC] Fix use of uninitialized variable 2021-02-03 13:35:17 +01:00
Jérôme Gardou
b0c143c710 [NTOS:MM][NTOS:CC][FASTFAT][FASTFAT_NEW] Massive overhaul
- Make Cc be a client of Mm
   - Cc now creates a section object for each Shared cache map it creates
   - Some functions where introduced into Mm in order to let Cc make notice of dirtified pages, file flushes & purges, etc.
 - Make Mm the real master of how pages are kept in memory for mapped files (including cached files)
   - Keep track of dirty pages
   - Do not dismiss pages as soon as section object are closed
 - Fine tune the balancer to account for this changes (far from perfect yet)
 - Those changes are incompatbile with fastfat -> enable fastfat_new
   - Make Cc routines compatible with it, esp. regarding file locking, write-behind, etc.
2021-02-03 10:29:45 +01:00
Jérôme Gardou
0699dcb50c [NTOS:EX] Restore sysinfo 2021-02-03 10:29:28 +01:00
Jérôme Gardou
14077e3f4e [NTOS:MM] Simplify a check 2021-02-03 09:41:24 +01:00
Jérôme Gardou
b7eb0fddf3 Address PR review 2021-02-03 09:41:24 +01:00
Jérôme Gardou
c0bf352069 [NTOS:MM] Fix regression of MmCanFileBeTruncated 2021-02-03 09:41:24 +01:00
Jérôme Gardou
7f7abc9838 [NTOS:MM] Simplify code & fix MSVC x64 build 2021-02-03 09:41:23 +01:00
Jérôme Gardou
2ba1926037 [NTOS:MM][NTOS:CC] Performance improvement again
Read files by 64kb chunks instead of page-sized chunks.
2021-02-03 09:41:23 +01:00
Jérôme Gardou
625f273361 [NTOS:MM] More fine-tuning of the memory balancer 2021-02-03 09:41:23 +01:00
Jérôme Gardou
41475dfcd7 [NTOS:CC] Performance improvements
Do not ditch the pages as soon as the section are unmapped
Improve MmBalancer "algorithm" (or whatever you call that)
Various needed fixes to get this going.
2021-02-03 09:41:23 +01:00
Jérôme Gardou
7fbf90d6fd [NTOS:CC] Fix a bug 2021-02-03 09:41:23 +01:00
Jérôme Gardou
ea354c4bc7 [NTOS:MM] Unconditionally purge cache on image section creation. 2021-02-03 09:41:23 +01:00
Jérôme Gardou
c1c51e31e4 [NTOS:MM] Keep a ref on the segment when mapping a page & keep trace of what is the highest offset mapped. 2021-02-03 09:41:23 +01:00
Jérôme Gardou
91a4e62376 [NTOS:MM] Improve MmCanFileBeTruncated 2021-02-03 09:41:23 +01:00
Jérôme Gardou
3e43aa1305 [NTOS:MM] Use 64-bit integer to count references on segments 2021-02-03 09:41:23 +01:00
Jérôme Gardou
cc6bc02b91 [NTOS:CC] Make sure to purge the Mm side in CcPurgeCacheSection 2021-02-03 09:41:23 +01:00
Jérôme Gardou
d0bf98663b [NTOS:CC] Be sure to flush the whole file in CcFlushCache 2021-02-03 09:41:23 +01:00
Jérôme Gardou
90c6a65efe [NTOS:MM] Introduce MmPurgeSegment & MmFlushSegment
Those will back CcFlushCache and CcPurgeCache.
2021-02-03 09:41:23 +01:00
Jérôme Gardou
8a8b4db447 [NTOS:MM] Make the page LRU list a real LRU list.
Also, implement flushing mapped sections to disk on shutdown.
2021-02-03 09:41:23 +01:00
Jérôme Gardou
bde2ee571a [NTOS:FSRTL] Properly leave FsRtl when returning STATUS_CANT_WAIT 2021-02-03 09:41:23 +01:00
Jérôme Gardou
3efc5b1734 [NTOS:MM] Fix unlocking on failure path 2021-02-03 09:41:23 +01:00
Jérôme Gardou
d23dbdda4c [NTOS:MM] Remove unused field 2021-02-03 09:41:23 +01:00
Jérôme Gardou
f201b8af78 [NTOS:MM] Do not acquire Pfn lock in MmGetRmapListHead
All callers already hold it
2021-02-03 09:41:23 +01:00
Jérôme Gardou
727e73f253 |NTOS:MM] Simplify some code 2021-02-03 09:41:23 +01:00
Jérôme Gardou
48e1c8593f [NTOS:PO] Flush dirty pages after flushing volumes 2021-02-03 09:41:23 +01:00
Jérôme Gardou
5949d5095d [NTOS:CC][NTOS:MM] Try respecting ValidDataLength 2021-02-03 09:41:23 +01:00
Jérôme Gardou
bdb73edab7 [NTOS:CC] Flush the whole VACB
Let Mm know what it has to do.
2021-02-03 09:41:23 +01:00
Jérôme Gardou
804f5a41ed [NTOS:CC] Improve trace messages 2021-02-03 09:41:23 +01:00
Jérôme Gardou
20fe42c9e9 [NTOS:CC] Simplify CcFlushCache implementation 2021-02-03 09:41:23 +01:00
Jérôme Gardou
9b6240ee03 [NTOS:CC] Get rid of ROS_VACB:Valid 2021-02-03 09:41:23 +01:00
Jérôme Gardou
e46f1a9af3 [NTOS:MM] Disable APC while performing Paged Read 2021-02-03 09:41:23 +01:00
Jérôme Gardou
02167f2fb3 [NTOS:CC] Properly return the public BCBs 2021-02-03 09:41:23 +01:00
Jérôme Gardou
33cde28312 [NTOS:CC] Simplify CcRosDeleteFileCache 2021-02-03 09:41:23 +01:00
Jérôme Gardou
a9193b5cc2 [NTOS:CC] Remove dead code 2021-02-03 09:41:23 +01:00
Jérôme Gardou
8ed15a49a7 [NTOS:MM] Fix a race 2021-02-03 09:41:23 +01:00
Jérôme Gardou
11eee4eeec [NTOS:MM] Check that we don't add rmap for NULL process 2021-02-03 09:41:23 +01:00
Jérôme Gardou
caf89b9582 [NTOS:MM] Fix a race condition when unmapping sections views 2021-02-03 09:41:23 +01:00
Jérôme Gardou
57ee31ee33 [NTOS:CC] Perform sanity checks before doing anything else 2021-02-03 09:41:23 +01:00
Jérôme Gardou
cff3c399c6 [NTOS:MM] Fix input validation/correction in MmMapViewInSystemSpace 2021-02-03 09:41:23 +01:00
Jérôme Gardou
8287a098b9 [NTOS:CC] Fix potnetial use-after-free 2021-02-03 09:41:23 +01:00
Jérôme Gardou
358d06c47c [NTOS:CC] Always honor WriteThrough parameter in CcUnpinRepinnedBcb 2021-02-03 09:41:23 +01:00
Jérôme Gardou
1505abbc09 [NTOS:CC] Do not write behind concurrently the same file 2021-02-03 09:41:23 +01:00
Jérôme Gardou
347a4f146b [NTOS] Loop again and again until the whole cache is empty when sutting down 2021-02-03 09:41:23 +01:00
Jérôme Gardou
addf824d87 [NTOS:MM] Keep image maps & file maps coherent at the time of creating the image map 2021-02-03 09:41:23 +01:00
Jérôme Gardou
543112008a Fix physical memory section creation 2021-02-03 09:41:22 +01:00
Jérôme Gardou
91f6fa0259 Disable CcScheduleReadAhead call 2021-02-03 09:41:22 +01:00
Jérôme Gardou
6d97d8d2e1 [NTOS:CC] Fix some tests, complain where the current implementation won't let us do the right thing 2021-02-03 09:41:22 +01:00
Jérôme Gardou
674ab3dce3 [NTOS:MM] Remove a check for now 2021-02-03 09:41:22 +01:00
Jérôme Gardou
1f796267bc [NTOS:MM] Do not reference the section when mapping it.
Referencing the segment is enough.
2021-02-03 09:41:22 +01:00
Jérôme Gardou
3c2b1bf59b [NTOS:MM] Save the dirty bit when sharing a segment page 2021-02-03 09:41:22 +01:00
Jérôme Gardou
3141668724 [NTOS:MM] Various fixes.
Fix MmFlushImageSection behaviour
Remove an invalid ASSERT
2021-02-03 09:41:22 +01:00
Jérôme Gardou
30f71c7fc0 [NTOS] Zero data unconditionally after segment end, unless section is created with SEC_RESERVE
Use a SEC_RESERVE section in Cc
2021-02-03 09:41:22 +01:00
Jérôme Gardou
a52bc6d179 [NTOS:CC] Restore read-ahead behaviour in CcCopyRead 2021-02-03 09:41:22 +01:00
Jérôme Gardou
4441b1cd44 [NTOS:CC] Fix some tests for CcCopyRead and CcCopyWrite
Most importantly: raise the right status when provided an invalid buffer.
2021-02-03 09:41:22 +01:00
Jérôme Gardou
aab24ed1b1 [NTOS:MM] Have the legacy Mm be less greedy about the number of pages it wants 2021-02-03 09:41:22 +01:00
Jérôme Gardou
fb07802956 [NTOS:MM] Make the situation about dirty pages in image map a bit clearer 2021-02-03 09:41:22 +01:00
Jérôme Gardou
cd23d6e19a [NTOS:CC] Honor FO_WRITE_THROUGH flag in CcCopyWrite and fix it in CcZeroData 2021-02-03 09:41:22 +01:00
Jérôme Gardou
f8aa14ce4e [NTOS:CC] Acquire file for flush when flushing if necessary 2021-02-03 09:41:22 +01:00
Jérôme Gardou
d9f7459bb1 [NTOS:MM] Fix file object bad referencing 2021-02-03 09:41:22 +01:00
Jérôme Gardou
2d3454a809 [NTOS:IO] VFAT sucks less now 2021-02-03 09:41:22 +01:00
Jérôme Gardou
cbfc04157d [NTOS:CC] File size check fix 2021-02-03 09:41:22 +01:00
Jérôme Gardou
e39fc52d25 [NTOS/MM] Set FSRTL_MOD_WRITE_TOP_LEVEL_IRP top-level IRP when paging-out 2021-02-03 09:41:22 +01:00
Jérôme Gardou
f114209782 [NTOS/MM] Do not zero out the tail of the segment if the mapping is not an image 2021-02-03 09:41:22 +01:00
Jérôme Gardou
7d70af61e8 [NTOS:MM] Acquire file lock when creating section 2021-02-03 09:41:22 +01:00
Jérôme Gardou
76ac898bc5 [SETUPLIB] Lock the volume before writing MBR boot code 2021-02-03 09:41:22 +01:00
Jérôme Gardou
d2fa434cb7 [NTOSKRNL] Address issues raised in PR 3361 review 2021-02-03 09:41:22 +01:00
Jérôme Gardou
70c62aa2c9 [NTOS:CC] Fix Vacb size usage & check 2021-02-03 09:41:22 +01:00
Jérôme Gardou
c74cbf0c0b [NTOS/CC] Be more precise when notifying Mm about dirty pages 2021-02-03 09:41:22 +01:00
Jérôme Gardou
c295d6b229 [NTOS:CC] Fix releasing VACB when an exception is raised in CcZeroData & CcCopyWrite 2021-02-03 09:41:22 +01:00
Jérôme Gardou
7f47f03296 [NTOS:CC] Rewrite the non-cached path of CcZeroData 2021-02-03 09:41:22 +01:00
Jérôme Gardou
36e18aab35 [NTOS:CC] Remove unused functions 2021-02-03 09:41:22 +01:00
Jérôme Gardou
7dab3583cc [NTOS/MM] Force flushing when the page is dirtified in user mode 2021-02-03 09:41:22 +01:00
Jérôme Gardou
91edefa11e [NTOS:MM] Do not limit ourselves in reading or writing the file 2021-02-03 09:41:22 +01:00
Jérôme Gardou
c05f3d8d1c [FASTFAT_NEW] Enable the driver 2021-02-03 09:41:22 +01:00
Jérôme Gardou
774a4c703f [NTOS/MM] Misc fixes
Purge data section object before creating an image mapping
Zero-out the tail of the page after reading from file
Properly map page as read-only when paging-in a COW memory map.
2021-02-03 09:41:22 +01:00
Jérôme Gardou
0933337404 [NTOS/MM] Do not dirtify section pages for system-space maps
Cc does it for itself.
2021-02-03 09:41:22 +01:00
Jérôme Gardou
d440434a8e [NTOS/MM] Do not error when FS returns STATUS_END_OF_FILE for paged read.
Also remove a seemingly invalid ASSERT
2021-02-03 09:41:22 +01:00
Jérôme Gardou
b46173edaf [NTOS/MM] DO not assert when being passed invalid parameters in MmCreateSection 2021-02-03 09:41:22 +01:00
Jérôme Gardou
ba49c39041 [NTOS/MM] Assert there are no RMAP left before freeing the page 2021-02-03 09:41:22 +01:00
Jérôme Gardou
d932bdb950 [NTOS:MM] Fix locking when paging out 2021-02-03 09:41:22 +01:00
Jérôme Gardou
d8cdb89fb0 [NTOSKRNL] Overhaul Cc and Mm relationship
Previously, when creating a file section, Mm requested Cc to cache the file, then Cc would request pages from Mm, then Mm would request them back to serve its file-mapping role
Now, Mm does it all by itself. If file cahcing is requested by the FS driver, then Cc creates a file mapping and uses that to serve its purpose.

This is a rewrite of Cc
2021-02-03 09:41:22 +01:00
Jérôme Gardou
e4047d1521 [NTOS/MM] Introduce MmArePagesResident and MmMakePagesResident 2021-02-03 09:41:22 +01:00
Jérôme Gardou
f1631b44e1 [NTOS/MM] Introduce MmMapViewInSystemSpaceEx 2021-02-03 09:41:22 +01:00
Jérôme Gardou
4f6fd6c42b [NTOS/MM] Infer that the Memory Area is an image mapping from its VAD node 2021-02-03 09:41:21 +01:00
Jérôme Gardou
c3bd70cfd1 [NTOSKRNL/MM] Fix a few wine tests 2021-02-03 09:41:21 +01:00
Jérôme Gardou
4abda863ce [NTOSKRNL/MM] Reduce use of MiIsRosSectionObject 2021-02-03 09:41:21 +01:00
Jérôme Gardou
b7d988ae5b [NTOSKRNL] Get rid of MM_ROS_SECTION_OBJECT 2021-02-03 09:41:21 +01:00
Jérôme Gardou
8b98ff66ea [NTOSKRNL] Store File Object in the segment instead of Section object 2021-02-03 09:41:21 +01:00
Jérôme Gardou
e980efebd4 [NTOSKRNL] Store the MM_IMAGE_SECTION_OBJECT pointer in SECTION::Segment 2021-02-03 09:41:21 +01:00
Jérôme Gardou
c6a87f28bf [NTOSKRNL] Get rid of MEMORY_AREA::Protect
Use the VAD node instead
2021-02-03 09:41:21 +01:00
Jérôme Gardou
c9f924940a [NTOSKRNL/MM] Get rid of useless members of MEMORY_AREA struct 2021-02-03 09:41:21 +01:00
Jérôme Gardou
defbf63416 [NTOSKRNL] Use PSECTION struct where possible 2021-02-03 09:41:21 +01:00
Jérôme Gardou
462d9a0974 [NTOSKRNL] Unload the cargo: We only use tiny bits of "NEWCC" 2021-02-03 09:41:21 +01:00
Jérôme Gardou
25722e647e [NTOSKRNL] Embed a SECTION struct inside MM_ROS_SECTION_OBJECT 2021-02-03 09:41:21 +01:00
Jérôme Gardou
c3ec5d801c [NTOSKRNL] Disable more unused code 2021-02-03 09:41:21 +01:00
Jérôme Gardou
10ac04ff6e [NTOSKRNL] Get rid of ROS_SECTION_OBJECT::AllocationAttributes in favor of MM_SECTION_FLAGS 2021-02-03 09:41:21 +01:00
Jérôme Gardou
819406ac97 [NTOSKRNL] Get rid of pagefile-backed sections support in legacy Mm 2021-02-03 09:41:21 +01:00
Jérôme Gardou
7afecee5eb [NTOSKRNL] Rename MM_ROS_SECTION_OBJECT:SectionPageProtection to InitialPageProtection 2021-02-03 09:41:21 +01:00
Jérôme Gardou
54c760574b [NTOSKRNL] Rename MM_ROS_SECTION_OBJECT:MaximumSize to SizeOfSection
For consistency with the SECTION struct
2021-02-03 09:41:21 +01:00
Jérôme Gardou
073ec9b0d4 [NTOSKRNL][NDK] Get rid of SECTION_OBJECT typedef
We will use the more recent SECTION (already used in ARM3) and this will avoid confusions
2021-02-03 09:41:21 +01:00
Jérôme Gardou
9b74e5ed4f [NTOSKRNL] Do not compile unused code 2021-02-03 09:41:21 +01:00
Václav Zouzalík
6d8aafb6ce [THEMES] Update Czech (cs-CZ) translation 2021-02-03 07:05:57 +01:00
Tibor Lajos Füzi
2608f280ea [TRANSLATION] update hungarian translation of cpl/timedate, cpl/main, cpl/desk 2021-02-03 06:52:45 +01:00
Jérôme Gardou
fe5e23e470 [KMTESTS:NTOS_CC] Fix a test format 2021-02-02 10:18:52 +01:00
Jérôme Gardou
857dd4ae36 [NTOS:MM] Properly handle the 1-offset of paging files 2021-02-02 10:17:28 +01:00
Jérôme Gardou
a46ee7dafe [KMTEST:NTOS_CC] Fix buffer size calculation 2021-02-02 10:15:19 +01:00
Serge Gautherie
fa47d6f852 [CMIPCI][DOC] Fix 4 DriverVer values
And add entry to '3rd Party Files.txt'.

Addendum to 4b4d95d (r39827) and ee4368d (r58644).
2021-02-02 01:56:50 +03:00
Serge Gautherie
c2a83d56a0 [GREEN][INF] Fix format of 3 DriverVer date values
GetVersionInformationFromInfFile() expects a 10-character date.
2021-02-02 01:56:50 +03:00
George Bișoc
1903b568b6 [NTOS:SE] Implement SECURITY_TOKEN_PROXY_DATA, SECURITY_TOKEN_AUDIT_D… (#3432)
ProxyData and AuditData are pointers to an arbitrary data, which instead, they should point to their respective data structures. This serves as preparation for SepFreeProxyData and SepCopyProxyData functions implementations in the future (regarding the proxy data stuff specifically).

For further details:
https://www.vergiliusproject.com/kernels/x86/Windows%202003/SP2/_TOKEN
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_AUDIT_DATA.html
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_PROXY_DATA.html
https://www.nirsoft.net/kernel_struct/vista/PROXY_CLASS.html
2021-02-02 01:55:42 +03:00
Stanislav Motylkov
34914ca220 [INF] Fix the date in DriverVer directive for HAL
CORE-17212
2021-02-02 01:54:06 +03:00
Stanislav Motylkov
df0261e799 [SCSIPORT] Append GEN_SCSIADAPTER compatible ID for legacy adapters (#3441)
Fixes UniATA root SCSI devices detection in the Device Manager.

Based on the description of GEN_SCSIADAPTER from Windows pnpscsi.inf:
- https://community.osr.com/discussion/41967/installing-isa-scsi-miniport-driver-through-f6-on-fresh-install-of-windows-2000-problem
- https://chat.reactos.org/reactos/pl/qii1w36wu7yrxyukh9b5dzwnje
- https://chat.reactos.org/reactos/pl/f5tanc9nfjdb5m17nhrq33994a

CORE-17398
2021-02-02 01:38:06 +03:00
George Bișoc
e4dd39f1a9 [BOOTDATA] Link the Accessibility Utility Manager for LiveCD builds (#3443) 2021-02-02 01:37:37 +03:00
Joachim Henze
d0c237a6ab [SYSDM] Fix sunrise regression CORE-17451
This fixes a regression with the AlphaBlending on single left-click
on the ros logo in general tab.
That regression was introduced by
0.4.15-dev-178-g d635ce0cc0

So it can be seen as an addendum to (#2707).

We luckily did not have any affected releases yet.
2021-02-01 21:13:59 +01:00
Hervé Poussineau
bfedf9760c [FREELDR] Disable SSE instructions for GCC x64
Even if all x64 CPUs can handle SSE instructions, prevent GCC x64 to
generate them, as FreeLoader is not ready to handle them.
2021-02-01 19:57:12 +01:00
Hervé Poussineau
bbf7b5b72a [CRT/x64] Correctly implement fabs for GCC
Note that MSVC does not recognize 'fabs' as a valid label name.
See fee844b6ff and 2f7cf157d8
2021-02-01 19:57:12 +01:00
Hervé Poussineau
349e0ddde8 [PSEH] Fix test on non-existent variable, so GCC x64 now always uses native SEH instead of PSEH 2021-02-01 19:57:12 +01:00
Jérôme Gardou
158235bdd5 [NTOS:KE] Fix EIP only when the breakpoint is a break
Fixes ntdll:exception winetest crash
ROSTESTS-80
2021-02-01 16:39:39 +01:00
Joachim Henze
2a321f6e3f [SYSDM] Fix a glitch in ja-JP that was introduced by (#3442)
Remove an unintended control that was
introduced by 0.4.15-dev-1676-g 50a01ed170
2021-02-01 16:14:39 +01:00
Serge Gautherie
511134ec91 [CMIPCI] Compile it as NT5.2, not NT6.0
Addendum to ba2ab59 (r61334).
2021-02-01 09:43:31 +01:00
Jérôme Gardou
d712c895fd [RTL] Fix a typo & remove useless cast 2021-02-01 09:09:19 +01:00
Colin Finck
1509f0e536 [SYSDM] Increase label width for all languages 2021-02-01 07:32:14 +01:00
Colin Finck
50a01ed170 [SYSDM] Introduce KERNEL_VERSION_REVISION_RC and align system uptime string 2021-02-01 07:32:14 +01:00
Colin Finck
39b6643030 [SYSDM] Move IDS_DEVS to the LANG_NEUTRAL resources to deduplicate it.
It should still be updated at some point, maybe automatically, but this should serve us well for the moment.

Use UTF-8 for the deduplicated string.
2021-02-01 07:32:14 +01:00
Colin Finck
1adbae9bae [SYSDM] Restore actual fix from 9a0246ef65 2021-02-01 07:32:14 +01:00
Colin Finck
c1356e8d47 Revert "[SYSDM] Fix version string cutoff CORE-17429"
This reverts commit be2518704e.
2021-02-01 07:32:14 +01:00
Hermès Bélusca-Maïto
3405cab9dd [USETUP] Only check whether the system partition is of recognized type and if not, install FreeLdr on floppy/removable media. 2021-02-01 01:48:15 +01:00
Hermès Bélusca-Maïto
74c0a37e2f [SETUPLIB][REACTOS][USETUP] Move partition types information to its dedicated file; update MBR partition types and add GPT GUID partition types. 2021-02-01 01:48:14 +01:00
Hermès Bélusca-Maïto
8f61f5c004 [USETUP] Add partition and disk description helpers to get standardized description strings. Replace and simplify USETUP code. 2021-02-01 01:48:10 +01:00
Victor Perevertkin
8248f02ff4 [HALX86] Restore Windows compatibility on reporting device IDs
And forwarding IRPs from FDO to PDO

This along with 8aff2c9de7 reverts the commit 74b889b397
2021-01-31 05:37:27 +03:00
Joachim Henze
f91efe1502 [SYSDM] Delete 2 forgotten defines
Addendum to 0.4.15-dev-1630-g be25187 (CORE-17429)
2021-01-30 20:07:30 +01:00
Eric Kohl
86a65fccb6 [SYSSETUP] Refactor ApplyAccountSettings() and add NewAdministratorName and NewGuestName options 2021-01-30 13:52:14 +01:00
Eric Kohl
cddc57431f [INF] defltwk.inf: Reset NewGuestName to default value 2021-01-30 13:49:21 +01:00
Eric Kohl
0edaeba452 [SYSSETUP][INF] Add account settings
- Add EnableAdminAccount and EnableGuestAccount options
- Fix typo: TICKS_PER_SECOND --> TICKS_PER_MINUTE
2021-01-30 09:38:00 +01:00
Jérôme Gardou
6a4c6ea5d0 [RTL] Implement RtlTryAcquireSRWLockExclusive & RtlTryAcquireSRWLockShared 2021-01-29 18:42:54 +01:00
Jérôme Gardou
2486558ae1 [RTL] Do not mess with critical section lock when there is no reason to.
- When process is shutting down.
 - When the caller is so drunk that they leave twice the pub altough they entered it only once.
2021-01-29 18:18:09 +01:00
Jérôme Gardou
6d697561f0 [RTL] Fix heap usage flags
- Use Heap->ForceFlags where needed
 - Use passed-in flags instead of the heap flags in some places
 - Do not recursively acquire the heap lock
2021-01-29 09:42:13 +01:00
Hervé Poussineau
d74df8af74 [SDK x64] Fix MSVC x64 compilation after 5d7dd4a3b5 2021-01-29 08:36:04 +01:00
Hervé Poussineau
db35a7861f [FREELDR] Fix MSVC x64 compilation after d2f73877b7 2021-01-29 07:46:13 +01:00
Hervé Poussineau
d2f73877b7 [FREELDR/x64] Change syntax to be compatible with GAS x64 2021-01-28 23:10:01 +01:00
Hervé Poussineau
ec7d874c18 [FREELDR/x64] Merge x64 and x86 versions, to fix compilation with GAS x64
Upper bits of rcx are already checked to be 0. So, we can only take care of lower bits.
This also generates smaller code.
2021-01-28 23:10:01 +01:00
Hervé Poussineau
2a6d8465d6 [KDVBOX] Fix compilation with GAS x64 2021-01-28 23:10:01 +01:00
Hervé Poussineau
794f15e45f [NTOSKRNL] Fix link with GCC x64
KeLowerIrql/KeRaiseIrqlToDpcLevel/KfRaiseIrql are defined as FORCEINLINE in ntoskrnl/ke/amd64/irql.c
Use KxLowerIrql/KxRaiseIrqlToDpcLevel/KxRaiseIrql instead, which call their respective Ke*/Kf* counterparts.
2021-01-28 23:10:01 +01:00
Hervé Poussineau
5904361a54 [FREELDR] In PE loader, use cache to not load twice the start of the file
This is especially important in PXE boot, where a seek backwards requires reloading the file from start.
2021-01-28 20:45:44 +01:00
Hervé Poussineau
9d110db433 [NTOS:KDBG] Support KDBG on x64 2021-01-28 20:44:21 +01:00
Hervé Poussineau
457b83f76a [PSEH] When using GCC x64, use native SEH support instead of PSEH 2021-01-28 20:44:21 +01:00
Hervé Poussineau
5d7dd4a3b5 [ASM x64] Prevent having same label multiple times in ntoskrnl/ke/amd64/trap.S 2021-01-28 20:31:17 +01:00
Hervé Poussineau
c345f7f137 [ASM x64] Make UNIMPLEMENTED macro self-suffisant
This fixes link errors with MsgUnimplemented not defined on binaries not linking to CRT.
2021-01-28 20:31:16 +01:00
Hervé Poussineau
ae4ce99e00 [ASM x64] Fix usage of macro .allocstack
.allocstack only accepts one 'size' parameter."
2021-01-28 20:31:16 +01:00
Victor Perevertkin
a7cb59728d [GITHUB] Fix PATH setting for Flex and Bison 2021-01-28 06:57:33 +03:00
Victor Perevertkin
5375e33490 [CMAKE] Generate Flex and Bison files at build time
We have Flex and Bison distributed along with RosBE 2.2 so this should
not be a problem
2021-01-28 06:43:05 +03:00
Victor Perevertkin
91fceab36e [NTOS:IO][NTOS:PNP] Add PiActionAddBootDevices device action
During the boot process, it makes possible to initalize the driver's
devices right after the driver is loaded. Moreover, this way one can be
sure that all critical devices are initialized before the
IopMarkBootPartition call (because we explicitly call the driver's
AddDevice routine now, after each driver is loaded)

CORE-7826
2021-01-27 05:15:16 +03:00
Victor Perevertkin
b0c931ac91 [PARTMGR] Remove hacks as PnP manager should not send bogus IRPs anymore 2021-01-27 05:15:16 +03:00
Victor Perevertkin
d14d7e5b8c [USBHUB] Add a delay hack for USB boot
CORE-7826
2021-01-27 05:15:15 +03:00
Victor Perevertkin
6f389a35db [SETUPLIB] Add a workaround for installing from USB drives 2021-01-27 05:15:15 +03:00
Victor Perevertkin
798fc13b48 [NTOS:PNP] Implement NT5.2-like DEVICE_NODE state management
- Use DeviceNode->State field and its values, instead of
  DeviceNode->Flags for tracking current node state
- Change DNF_* flags to the ones compatible with Windows XP+
- Simplify state changes for device nodes and encapsulate all the logic
  inside the PiDevNodeStateMachine routine. This makes the ground for
  future improvements in the device removal sequence and
  resource management
- Now values inside DeviceNode->State and ->Flags are compatible with
  the windbg !devnode macro and can be tracked using it
- BUGFIX: fixed cases where IRP_MN_START_DEVICE or
  IRP_MN_QUERY_DEVICE_RELATIONS may be sent to a device after a
  IRP_MN_REMOVE_DEVICE

CORE-7826
2021-01-27 05:15:15 +03:00
Victor Perevertkin
b704292808 [NTOS:IO] Add more enumeration requests during the boot process
This is to ensure that all needed devices are initialized during the
early boot

CORE-7826
2021-01-27 05:15:15 +03:00
Victor Perevertkin
e468da06be [SETUPAPI] Set the CONFIGFLAG_FAILEDINSTALL flag in SetupDiInstallDevice
The code follows the comment now. The fix may be wrong, but DNF_DISABLED
is a kernel flag and should definitely not be used in a dll.
2021-01-27 05:15:14 +03:00
Victor Perevertkin
942f2e43c1 [BOOTDATA] Don't remove critical device DB for the setup
We need the CDDB during the setup, so don't delete it for now.
The "proper" way for filling it is yet to be decided, Windows does that
from the data in txtsetup.sif file. Our final approach may be different
2021-01-27 05:15:14 +03:00
Victor Perevertkin
0b81691806 [DEVMGR] Remove no longer needed hack CORE-5643
This reverts commit f9739601b3.
2021-01-27 05:15:03 +03:00
Eric Kohl
c0caa5c0ae [SYSSETUP][INF] Add lockout setup to the security profile 2021-01-24 21:35:33 +01:00
Eric Kohl
83f3bd8bd6 [SYSSETUP][INF] Add password setup to the security profile 2021-01-24 15:28:23 +01:00
Jérôme Gardou
f63401060d [NTOS:MM] Fix compilation for amd64 port.
Addendum to 0919324772
2021-01-22 10:34:20 +01:00
Jérôme Gardou
0919324772 [NTOS:MM] Get rid of "compatibility layer" for hyper space mappings
Let's call that a bug layer instead.
2021-01-22 09:33:06 +01:00
Jérôme Gardou
57e8684bc6 [NTOS:MM] Allow "creating" a PDE in legacy Mm for foreign process 2021-01-22 09:32:36 +01:00
Jérôme Gardou
af3527d4d2 [MSVCRTEX] Do not include _CI* math functions
They are exported by msvcrt
CORE-17423
2021-01-21 09:43:43 +01:00
Joachim Henze
4e289ce0cc [SYSDM] Addendum CORE-17429
This define in resource.h is also not needed anymore.
2021-01-20 03:42:39 +01:00
Joachim Henze
9a0246ef65 [SYSDM] Improve de-DE Uptime format translation
I tried initially to use Tag(e) but that does look too
crowded with the stuff after it. Since Windows is also not
consistent with the () for singular vs plural, I did chose
always plural "Tage".
Most often people will see "0 Tage" anyway, and that fits well.
2021-01-20 03:16:07 +01:00
Joachim Henze
be2518704e [SYSDM] Fix version string cutoff CORE-17429
The version string cutoff started to happen when we switched from SVN
with its short revision number to git with the longer hashes.
0.4.7-dev-502-gc2c66af was the first git-only rev (2017-Oct-03)

This brings the dialogs layout closer to XP.
Also fixes some other truncations for specific languages.
And unifies the touched text controls sizes for all languages.

The credits have been moved to readme.txt where they are more present and
we can avoid having to groom all languages files each time we want to add
a new dev (and sysdm.cpl to grow each time). Less maintenance.

0.4.15-dev-1629-g9aa73da gcc 8.4.0 dbg RosBE2.2.1 I18N=all binary size
sysdm.cpl before: 925.696bytes  after: 705.024bytes
readme.txt still fits into a single NTFS cluster afterwards with 3702bytes
2021-01-20 02:45:44 +01:00
Hermès Bélusca-Maïto
9aa73da948 [XDK] Even the DBG_UNREFERENCED_PARAMETER() should use (void)P. Addendum to 46ca069e. 2021-01-18 22:23:24 +01:00
Victor Perevertkin
46ca069e42 [XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Victor Perevertkin
af0f8581ad [HDAUDBUS] Return failure from HDA_SendVerbs on a timeout
Addendum to 48b3c61b5d
2021-01-18 04:02:32 +03:00
Eric Kohl
497ca54205 [INF] Add default security settings for ReactOS Server 2021-01-17 15:12:18 +01:00
Eric Kohl
9011382e28 [SYSSETUP][INF] Add audit events setup 2021-01-17 11:46:34 +01:00
Eric Kohl
37cf6e109d [INF] Fix typos in defltwk.inf 2021-01-17 11:33:08 +01:00
Victor Perevertkin
66cf1d20f4 [SCSIPORT] Use pointer alignment for MiniPortDeviceExtension
This seems logical and some miniport drivers (uniata) actually rely on
that.

CORE-17424
2021-01-17 01:46:35 +03:00
Eric Kohl
e5c27b2fd6 [INF] Add 'Group Membership' section, missing Guest user rights and translated strings 2021-01-16 15:55:41 +01:00
Stanislav Motylkov
a5db1718cc [INF] Add Russian (ru-RU) translation to defltwk.inf
Addendum to baf9ff45.
2021-01-16 15:24:52 +03:00
Eric Kohl
baf9ff45bb [SYSETUP][INF] Add name support for account privilege setup 2021-01-16 13:18:08 +01:00
Mark Jansen
69dffed3f7 [CMAKE] Fix MSVC configuring 2021-01-15 20:43:10 +01:00
Reinhart Previano Koentjoro
9c8ed68544 [CMD] Improve Indonesian (id-ID) translation (#3417) 2021-01-12 13:14:08 +03:00
Stanislav Motylkov
f77f5a30cf [RAPPS] Fix pinned certificate issuer check 2021-01-11 19:16:16 +03:00
Alex Henrie
35f3034879 [NDK] "Reserved" member in SYSTEM_PROCESSOR_INFORMATION is "MaximumProcessors" for Windows 8+ (#3421)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-01-09 23:15:36 +01:00
Mark Jansen
b1bf3aae50 [CMAKE] Fix host-tools path for MSVC IDE 2021-01-08 21:12:11 +01:00
Hermès Bélusca-Maïto
1303a7dc1c [PSDK] Whoopsie... Fix "PPPARTITION_INFORMATION_GPT" typo (extra 'P'), caught by BieHDC :)
Addendum to 8a6ed591.
2021-01-08 17:12:21 +01:00
Stanislav Motylkov
795c9c439c [PARTINFO] Fix GCC build on GitHub Actions
Addendum to c087487b.
2021-01-08 16:36:48 +03:00
Hermès Bélusca-Maïto
c087487b1c [PARTINFO] Further improvements to the Partition Information Tool.
- Migrate all the IOCTL calls to NtDeviceIoControlFile() calls in
  order to know the actual returned data and Status values.

- Add support for displaying information retrieved from:
  * IOCTL_DISK_GET_DRIVE_GEOMETRY_EX ,
  * IOCTL_DISK_GET_PARTITION_INFO and IOCTL_DISK_GET_PARTITION_INFO_EX
    for "partition 0" (aka. the whole disk).

- Compactify the drive layouts after getting these from
  IOCTL_DISK_GET_DRIVE_LAYOUT(_EX).

- Fix the HexDump() when displaying a buffer whose size is not a
  multiple of 16.
2021-01-08 01:37:05 +01:00
Hermès Bélusca-Maïto
8a6ed59156 [PSDK] Add missing PPARTITION_INFORMATION_GPT, PPARTITION_INFORMATION_MBR, PPARTITION_INFORMATION_EX definitions.
Addendum to commit 7ae3d530.
2021-01-08 01:36:58 +01:00
Hervé Poussineau
0cce1348c6 [CRT/x64] Make _fpreset/_logb public, as they are exported using the .spec file 2021-01-07 21:12:11 +01:00
Hervé Poussineau
a644e7f5fd [CRT/x64] Disable MSVCRT__setjmp function, which references non-existent function __wine_setjmpex
_setjmp is already defined in sdk/lib/crt/setjmp/amd64/setjmp.s
2021-01-07 21:12:11 +01:00
Hervé Poussineau
ff7035d940 [ASM x64] Change ; by /* */ for comments
Syntax with semi-colon is not supported by gas.
2021-01-07 21:12:11 +01:00
Hervé Poussineau
4bb7bd1f50 [FRAMEDYN] Fix an x64 export (probably wrong copy/paste from x86 version) 2021-01-07 21:12:11 +01:00
Mas Ahmad Muhammad
4ca7926093 [TRANSLATION] Fix format for Indonesian translation (#3418)
- USETUP: Fix alignment on translation.
- SHELL32: Update and fix translation.
2021-01-07 18:47:10 +01:00
Joachim Henze
ab45955a5a [CMD] Consume only one line for the version header CORE-17420
Necessary because our version string got longer during 0.4.15-dev'ing.
We added the target platform.
2021-01-06 01:34:54 +01:00
Joachim Henze
1e9547e0d0 [SHELL32] Improve German (de-DE) translation 2021-01-06 00:41:45 +01:00
Joachim Henze
232c45fcd7 [WIN32SS][COMCTL32] Commit Flip_Fix_9.patch
flip_fix_9.patch fixes:
CORE-16984 " 'SPINA Thrulg' / 'SPINA Thyr' / 'Sim Thyr' have images flipped"
CORE-17194 "StretchDIBits test" isn't work correctly"
           "Output of 'Project 3 Test'"
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
CORE-14671 "'Peazip' shows icons in buttons and menubar vertically flipped"
           "Double Commander shoes icons flipped in buttons, menubar, listview and the treeview"
CORE-13273 "Welcome to Lazarus" icon shows flipped
CORE-13026 "'CudaText app' icon shows flipped"

Not all of those are duplicates, although they appear to be at first glance.
It affects different controls and some of those tickets do have different 'guilty revs' than others.

The patch does consist of 3 parts:

1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now.

2.) The hack in comctl32.h redefining the version:
We used that in the past to appease some, but not all of the issues listed above.
But it does hide additional issues, e.g. in DvDStyler, therefore we seem to still need that appeasement even today.
Most likely it would make sense to aim to avoid this part in the future.
part 2.) was committed as first appeasement on its own already into
0.4.14-RC-24-g 198b61e
0.4.13-RC-7-g 67211fa
0.4.12-RC-5-g 8449527
0.4.11-RC-16-g b906163
0.4.10-RC-7-g f1e80fe
0.4.9-RC-34-g 9d758ae

3.) toolbar.c change
That part fixes at least the toolbar case for DvDStyler
without relying on the comctl32.h hack any longer,
but it was still not enough to completely get rid of part 2.) yet.

Many thanks to all contributors: 'I_kill_Bugs', Doug Lyons and also 'Julenuri' for testing.

The patch gave nice testbot results:
KVM:  https://reactos.org/testman/compare.php?ids=75704,75714
VBox: https://reactos.org/testman/compare.php?ids=75705,75715

and we also created a summary of manual test-results:
https://jira.reactos.org/browse/CORE-17415?focusedCommentId=126668&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-126668

If you read this comment via git blame and your goal is to get rid of the hack in comctl32.h, I would highly recommend
to redo the tests of that testing table, and if that is asked too much, then please test at least the following cases:
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
           "DVDStyler 3.0.4 erroneously black/transparent within comboboxes of properties of VMGM menu"
and try to add what might be needed to fix them, and double-check again:
           "DoubleCommander optionsDlg the most complex testcase, contains flip-prone icons in treeview, listview, menubar, buttons, statics". Only some of its flipped icons were impacted by the comctl32.h change before.
2021-01-05 20:30:40 +01:00
Hervé Poussineau
5112776b2b [SDK] Fix _SEH2_GetExceptionInformation() macro in dummy SEH, to return the right structure 2021-01-05 19:24:23 +01:00
Hervé Poussineau
e581123c35 [NTOSKRNL] Correctly use SEH2 macros (fixes GCC x64 compilation) 2021-01-05 19:24:23 +01:00
Hervé Poussineau
80b1b0b294 [CRT] Fix hack for GCC x64, when CRT is linking against RosBE libstdc++ 2021-01-05 19:24:23 +01:00
David Abelenda
a4a0626f83 [KEYBOARD] Add Swiss French keyboard layout (#3408) 2021-01-05 17:48:53 +03:00
Piotr Hetnarowicz
74082ec644 [INF] Add missing Polish (pl-PL) translation to machine.inf (#3413) 2021-01-05 17:06:18 +03:00
Hervé Poussineau
31fd1ba0c6 [ACPI] Fix compilation with GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
e3cbdcf2e9 [CRT] Use correct prototypes for GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
de647b4155 [CRT] Remove bad define of _int128 in GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
d0b46c6c43 [INCLUDE/WINE] Always define interlocked_* aliases
This was already true for MSVC and GCC x86, make it true for GCC x64.
2021-01-05 14:19:45 +01:00
Hervé Poussineau
3468e27cfe [SDK] Fix hack for GCC, so that it works on GCC x86 and GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau
3187e2a00b [ASM:X64] Remove XSAVE_ALIGN variable (as already done on x86) 2021-01-05 14:19:45 +01:00
Hervé Poussineau
39545c3385 [CMAKE] Use -Wno-error when compiling with GCC x64 2021-01-05 14:19:45 +01:00
Jérôme Gardou
5f3d3d7d48 [PSDK] Add more safe integer routines for LONGLONGs 2021-01-05 13:40:35 +01:00
Jérôme Gardou
c8d07514c8 [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
Jérôme Gardou
a853102a7b [MEDIA] Update Winesync doc 2021-01-05 11:03:13 +01:00
Jérôme Gardou
c590d6ddad [WINESYNC]: wininet is now in sync with wine-staging wine-6.0-rc1 2021-01-05 11:03:13 +01:00
winesync
208ef143d3 [WINESYNC] wininet: Replacing header fields should fail if they do not exist yet.
A lot of details are not properly covered by tests yet and were
marked with FIXME comments. The implementation was written in such
a way that it behaves identical to the old code in such situations.

wine-staging patch by Michael Müller <michael@fds-team.de>
2021-01-05 11:03:13 +01:00
winesync
aa27aac08b [WINESYNC] wininet: Strip filename if no path is set in cookie.
The order of the stored cookies doesn't match in /testC, so
be a bit less strict in the test.

wine-staging patch by Michael Müller <michael@fds-team.de>
2021-01-05 11:03:13 +01:00
winesync
ff5fa7aea4 [WINESYNC] wininet/tests: Check cookie behaviour when overriding host.
wine-staging patch by Michael Müller <michael@fds-team.de>
2021-01-05 11:03:13 +01:00
winesync
0adc3ed6ba [WINESYNC] wininet/tests: Test auth credential reusage with host override.
wine-staging patch by Michael Müller <michael@fds-team.de>
2021-01-05 11:03:13 +01:00
winesync
45c19ac584 [WINESYNC] wininet/tests: Add more tests for cookies.
wine-staging patch by Michael Müller <michael@fds-team.de>
2021-01-05 11:03:13 +01:00
winesync
e152f78aa3 [WINESYNC] wininet: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e88abf0dc4ae7ec6b2fd21130be09dadc478b9fc by Michael Stefaniuc <mstefani@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
cde08ff2b7 [WINESYNC] wininet: Use wide-char string literals in struct initialization.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 085f3738a86e6fa0e12b3f59fa4a9ca86826bb60 by Michael Stefaniuc <mstefani@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
23e96deb0b [WINESYNC] wininet: Correctly return error status from InternetSetFilePointer() stub.
Fixes Freestyle 2: Street Basketball update check failure.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 67295a7844b94ccbfce85dbee22a76f12c9f5b36 by Paul Gofman <pgofman@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
ef9a828ef8 [WINESYNC] wininet: Prevent use after free in logging.
Make logs which show values that are unmapped by cache_container_unlock_index()
go before it's called.

Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bcdb58cc7959afd5fa35ab039e6564934888b4c0 by Jan Sikorski <jsikorski@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
8bf2b3cf2c [WINESYNC] wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05 by Daniel Lehman <dlehman25@gmail.com>
2021-01-05 11:03:13 +01:00
Jérôme Gardou
81c312d3e0 [WINESYNC] Properly handle the case when the file doesn't exist on ReactOS side 2021-01-05 11:03:13 +01:00
winesync
5a47b6e97b [WINESYNC] winapi_test: Restore horizontal alignment of macro defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99c0ab2ea1f912ee699e307a77f26822dfef7b06 by Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2021-01-05 11:03:13 +01:00
winesync
b89a2ee634 [WINESYNC] winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c26d7470cc5b2dabf9c8b91d2b313eb0041bebae by Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2021-01-05 11:03:13 +01:00
winesync
c1394ae71a [WINESYNC] wininet: Move INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT handling to helper.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a41cb33afaee0adc6fdf3b8c69b9fb545dc15a96 by Daniel Lehman <dlehman25@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
94e13ca59b [WINESYNC] wininet: Handle empty expires for cookie setting.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c06e00ee6a15fd77faf66b28edac5e84ad30b550 by Jactry Zeng <jzeng@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
9982fa3c75 [WINESYNC] wininet: Get rid of user buffer in create_cookie_url().
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d2a1c906dc4979eeabe256f77a58d67290da372d by Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2021-01-05 11:03:13 +01:00
winesync
e0e6d419c7 [WINESYNC] wininet/tests: Update for new WineHQ certificate.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ccd6b205fa99360e7437f1c5bc63e0075f8e6760 by Alexandre Julliard <julliard@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
94937754ed [WINESYNC] wininet: Use stricmp() instead of _strnicmp(..., -1).
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id de5d147de8b3d9c2f65bcb6d5646320ef1d92e58 by Paul Gofman <gofmanp@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
9b564981ba [WINESYNC] wininet: Use _ltow instead of sprintf for port number in InternetCreateUrl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9fe900532eb310d114c04d15a8d0b986ec831552 by Jacek Caban <jacek@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
6d133af41e [WINESYNC] tools: Remove 0x0501 API versions forced by winapi_test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa384d36429110970aa72acbc5043158de6aff03 by Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2021-01-05 11:03:13 +01:00
winesync
82be999d2f [WINESYNC] wininet: Add stub for INTERNET_OPTION_IGNORE_OFFLINE.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48739
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6fcd1378b2516165468bcbd71263c1b18c6be491 by Roman Pišl <rpisl@seznam.cz>
2021-01-05 11:03:13 +01:00
winesync
d7743a2c91 [WINESYNC] wininet/tests: Fix test failures on Windows XP.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4c640f24c9901ccaf8706de31e22149130c57be6 by Hans Leidekker <hans@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
2ee9150c95 [WINESYNC] wininet/tests: Make a check for available data less strict.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3a22407396bfe18ef9bdab69ef192be10306142e by Hans Leidekker <hans@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
f64bdd0732 [WINESYNC] wininet/tests: Fix some test failures with Windows 10.
Windows 10 1607+ no longer validates a NULL window handle, so remove that test.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b839a0f85236aac2cc794d5d586f1ba371866b1 by Zebediah Figura <z.figura12@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
d4ceb8c619 [WINESYNC] wininet/tests: Simplify test_InternetErrorDlg().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id af9d246952b7aaf8f557ec1b85cbb4bce1245227 by Zebediah Figura <z.figura12@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
4e286e01e6 [WINESYNC] wininet/tests: Don't test that the URL cache is used for persistent cookies.
This seems to be an implementation detail, which is no longer true in Windows
1709+.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4928c623dc7f3b7f2355cf61c9f97784ff2380fe by Zebediah Figura <z.figura12@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
1fb556935e [WINESYNC] wininet: Don't set default gopher protocol in InternetCrackUrlW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4335be346271072f440419b9234883aef187d857 by Jacek Caban <jacek@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
9eddd0f193 [WINESYNC] wininet: Add missing schemes to url_schemes.
Fixes res URL scheme handling.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31399
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 64cb9425da43271109bc1df8df4aa32132f257ae by Jacek Caban <jacek@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
1e7b402584 [WINESYNC] wininet: Fix the spelling of a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 84069679a407cf0b5b8d185b5d98e9afdb933c45 by Francois Gouget <fgouget@free.fr>
2021-01-05 11:03:13 +01:00
winesync
0a44ccfa80 [WINESYNC] wininet: Handle http_proxy variable entirely in Unicode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cadad89d106186a9d0377607096a58677496ec50 by Alexandre Julliard <julliard@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
5f12c8d726 [WINESYNC] wininet: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c31cc5836026b45a40818ec874bbbcc4d6ad982 by Alexandre Julliard <julliard@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
4eead52783 [WINESYNC] wininet: Import zlib inflate code.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cee281a036cf5e9017d5a25e0cbe75c2bcd2c146 by Alexandre Julliard <julliard@winehq.org>
2021-01-05 11:03:13 +01:00
winesync
33fde115eb [WINESYNC] wininet: Add support for detecting the proxy config URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a4357043ff9aa14f086207c239f0fc29c0a24b83 by Hans Leidekker <hans@codeweavers.com>
2021-01-05 11:03:13 +01:00
winesync
3e2348037b [WINESYNC] wininet/tests: Skip some FTP tests when no connection can be made.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 237d5636271a1a78b02a0eb7feaab7dfb9dfed57 by Sven Baars <sven.wine@gmail.com>
2021-01-05 11:03:13 +01:00
winesync
d9efda8225 [WINESYNC] wininet/tests: Fix some test failures on Windows.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8b2d3857136c50d56c706a7f880fc605b325e334 by Sven Baars <sven.wine@gmail.com>
2021-01-05 11:03:13 +01:00
Jérôme Gardou
4a3f32ff30 [WINESYNC]: revert wine-staging patchset for wininet 2021-01-05 11:03:13 +01:00
Jérôme Gardou
f997acf8e3 [WINESYNC] Add wininet entry 2021-01-05 11:03:13 +01:00
Stanislav Motylkov
8cf363feb1 [UNIATA] Fix one of INF sections that made device unrecognized
In fact, UniATA todo.txt file mentions it implicitly:
- 159.fix bug with invalid INF section under XP+    (43e2)

CORE-17398
2021-01-05 02:58:04 +03:00
Hermès Bélusca-Maïto
68182b2a52 [USETUP] Partial revert of 8b94515b for the ESCAPE key in the UpgradeRepairPage() screen.
The AsciiChar of the ESCAPE key should be 0x1B instead of zero; however
this is not the case due to the hacked keyboard layout currently being
used. This will be fixed later ...
2021-01-04 16:13:28 +01:00
Victor Perevertkin
06bff99edb [I8042PRT][RAMDISK] Fix usage of the RegistryPath in DriverEntry
We can't rely on it being zero-terminated, so ensure that it's
duplicated first before usage in RtlQueryRegistryValues
2021-01-04 17:19:12 +03:00
Victor Perevertkin
e12233daf6 [USETUP] Do not put ImagePath to the service registry entry
It is supposed to be there already
2021-01-04 16:50:33 +03:00
Victor Perevertkin
e5254974d2 [NTOS:IO] Start loading drivers from the disk only after SystemRoot is initialized
Add another PnPBootDriversInitialized variable to indicate a point where
both disk subsystem and SystemRoot symlink are initialized, and use it
in a PiCallDriverAddDevice call.
2021-01-04 16:50:33 +03:00
Victor Perevertkin
c4c0585f96 [NTOS:IO][NTOS:PNP] Implement PiCallDriverAddDevice
- Move the driver's name obtaining logic into the IopGetDriverNames
  function
- Create a new PiCallDriverAddDevice instead of PipCallDriverAddDevice
  and move it to pnpmgr/devaction.c file. Move around all its internal
  helpers too
- Support a proper Windows-compatible driver loading order for a PDO
  (lower filters, main service, upper filters, etc.)
- Set a correct Problem for the DeviceNode, in case of an error during
  driver loading
- Check the Start Type for all drivers before loading
- Do not try to load drivers during the early boot stage when there is
  no disk subsystem initialized
2021-01-04 16:50:33 +03:00
Victor Perevertkin
4c95339da0 [NTOS:IO] Refactoring of the driver initialization code (2)
- Do not hold the IopDriverLoadResource while trying to reference a
  driver object (but still acquire it when we actually need to load a
  driver)
- Change IopLoadDriver and IopInitializeDriverModule to use registry
  handle instead of a service name string and/or full registry path
- Do not try to reference a driver object inside IopLoadDriver. It's
  supposed to be done before the function call
2021-01-04 16:50:33 +03:00
Victor Perevertkin
a6a3aa0f0d [NTOS:IO] Refactor IopLoadUnloadDriver
- Split IopLoadUnloadDriver into IopLoadDriver and calling DriverUnload
- Schedule the worker for (un)loading driver in a separate routine
  (IopDoLoadUnloadDriver) this allows IopLoadDriver to be called
  separately (if we are sure that we're in the system process)
2021-01-04 16:50:32 +03:00
Victor Perevertkin
e18a32df3a [NTOS:IO] Refactoring of the driver initialization code
- Remove IopCreateDriver and put its code into IoCreateDriver and
  IopInitializeDriverModule. It's hard to extract a meaningful common
  part from it
- Refactor IopInitializeDriverModule. Extend and put the DriverName
  generation logic into it. Now this function frees the ModuleObject in
  case of failure and returns STATUS_FAILED_DRIVER_ENTRY in case of
  DriverInit failure (will be used later)
2021-01-04 16:50:32 +03:00
Victor Perevertkin
edb425d89e [CMAKE] Use consolidated registry.inf for generating SETUPREG.HIV
This way all registry data generated by add_registry_inf goes there.
SETUPREG.HIV increased by about 12KiB after that
2021-01-04 16:50:32 +03:00
Victor Perevertkin
6f0e37b042 [NTOS:PNP][NTOS:IO] Do not create a device object + node on every driver load
- Remove the usage of IopCreateDeviceNode and change it to
  PipAllocateDeviceNode where required
2021-01-04 16:50:32 +03:00
Victor Perevertkin
4f91354092 [HIVESYS] Add CDROM device class 2021-01-04 16:50:31 +03:00
Victor Perevertkin
b1c460d34e [I8042PRT] Add service registry entry for the driver 2021-01-04 16:50:31 +03:00
Victor Perevertkin
9029f51d8c [UNIATA] Reduce the stack usage in AtapiDmaInit 2021-01-04 16:43:23 +03:00
Piotr Hetnarowicz
eb5972010a [SHELL32] Improve Polish (pl-PL) translation (#3410) 2021-01-03 18:24:18 +03:00
Piotr Hetnarowicz
df7b892d97 [COMDLG32] Improve Polish (pl-PL) translation (#3411) 2021-01-03 15:54:10 +03:00
Eric Kohl
54d6fab0e1 [SAMSRV] Add 'Print Operators', 'Performance Monitor Users' and 'Performance Log Users' aliases to servers 2021-01-03 06:17:48 +01:00
Victor Perevertkin
e394a1312a [CMAKE] Replace CMAKE_AR with CMAKE_LINKER /LIB for msvc
Render the command to a variable for dealing with quotes properly

Addendum to ca1b2ada34 and b96e88894a
2021-01-03 04:06:51 +03:00
Victor Perevertkin
ca1b2ada34 [CMAKE] Replace DIVISION_SLASH unicode character with SOLIDUS
This fixes the build on some machines. In addition, replace
the hardcoded "LINK /LIB" with ${CMAKE_AR}

Addendum to b96e88894a
2021-01-03 03:46:12 +03:00
Hermès Bélusca-Maïto
0abff65a55 [USETUP] Minor improvements when initializing the console.
- Use NT values for uninitialized handle values.
- Cache the STD_INPUT_HANDLE.
- Free the console if GetConsoleScreenBufferInfo() fails in CONSOLE_Init().
2021-01-03 00:27:54 +01:00
Hermès Bélusca-Maïto
8b94515bd3 [USETUP] Fix handling of the ESCAPE key.
Its AsciiChar is not zero in Console-compatible code.
2021-01-03 00:27:50 +01:00
Eric Kohl
16532170de [SYSSETUP][INF] Add event log settings to the default security settings and apply them on setup 2021-01-02 21:18:18 +01:00
Thomas Faber
9587fe1c36 [ACPICA] Update to version 20201217. CORE-17410 2021-01-01 16:20:53 +01:00
Eric Kohl
8de143e058 [SYSSETUP] Rename defltws.inf to defltwk.inf 2021-01-01 11:14:28 +01:00
Eric Kohl
1627e44637 [INF] Rename defltws.inf to defltwk.inf 2021-01-01 11:12:36 +01:00
Eric Kohl
f1e768c070 [SAMSRV][INF] Add missing aliases and privileges
- Add the 'Backup Operators', 'Replicator', 'RemoteDesktop Users' and 'Network Configuration Operators' aliases.
- Add missing privileges for the aliases.

Happy new year 2021! :-)
2021-01-01 10:24:36 +01:00
Hermès Bélusca-Maïto
b570fac18b Happy New Year 2021 to the ReactOS Community!!
⚛️ 🍾 🥳 🎆 ☢️
2021-01-01 00:00:00 +01:00
Stanislav Motylkov
88d36c93a2 [UNIATA] Properly mark ReactOS diff from upstream
Addendum to 4b9cf2e (r71252), d14a872 (r73324), 7d65f2a (r71262), and 6c0ff7b.

CORE-11157 CORE-16078
2020-12-31 22:14:39 +03:00
Jérôme Gardou
c9f1501373 [FASTFAT_NEW] Fix callback calling convention 2020-12-31 17:14:04 +01:00
Serge Gautherie
685f15e253 [ACPI] acpi_create_registry_table(): Close the key handle, on errors (#3372)
Addendum to 44f1cf1 (r74559). CORE-12942
2020-12-31 17:42:42 +03:00
Serge Gautherie
309ed0d1fe [ACPI] AcpiRegOpenKey(): Add a missing OBJ_KERNEL_HANDLE (#3370)
CORE-10207
2020-12-31 17:42:03 +03:00
Stanislav Motylkov
0ed5db45a4 [UNIATA] Emulate SCSI INQUIRY to properly recognize Xbox DVD drives
CORE-16692
2020-12-31 15:54:42 +03:00
George Bișoc
c11d342f42 [OSK] Adjust the resource size, width and heigh properties of buttons (#3403)
For French (fr-FR) and French Canadian (fr-CA) translations.

CORE-17039
2020-12-31 01:48:34 +03:00
Tibor Lajos Füzi
82f0061ddc [TRANSLATION] Hungarian (hu-HU) translation update (#3388)
For mspaint, notepad, wordpad, cmd, cmdutils/help, appwiz, devmgr, newdev

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-12-31 01:42:34 +03:00
Erdem Ersoy
8a92b55649 [TRANSLATION] Update Turkish (tr-TR) translations of Control Panel applets (#3367) 2020-12-31 00:46:05 +03:00
Václav Zouzalík
d40f29601d [SHIMGVW] Update Czech (cs-CZ) translation (#3409)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-12-31 00:06:48 +03:00
Jérôme Gardou
8a6d653044 [CRT] Fix _onexit
Avoid calling malloc in CR initialisation code.
Have executables call msvcrt implementation, while the DLLs keep their own function tables

CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
6c6d9bee68 [CRT] Do not call atexit at process initialization
There is no guarantee that the underlying APIs are initialized at this point

CORE-17362
2020-12-30 19:03:52 +01:00
Jérôme Gardou
26863538a4 [CRT] Format source a bit.
This is horrendous.
2020-12-30 19:03:52 +01:00
Stanislav Motylkov
f234cb6e59 [NTOS:CM] Do not create ProcessorNameString value if there is no Brand String
If the CPU does support CPUID instruction but does not have the Brand String,
the legacy name detection should be performed either in CIM_Processor (WMI),
in the Processor device driver, or in the application itself.

The deleted Intel CPU name detection code can go to the WMI at some point.
In fact Windows XP and 2003 kernels do not have any strings of that kind.

This effectively reverts the hack committed 6 years ago in 7a985425 (r63798)
that was intended to workaround CORE-7952.

CORE-17413
2020-12-30 19:38:41 +03:00
Stanislav Motylkov
c57d0b7b98 [ACPI] Do not panic if ProcessorNameString does not exist
Windows does not create this value in the registry if the processor core
does not expose the Brand String. It's an optional value and existing code
accessing it already has proper NULL checks:
https://git.reactos.org/?p=reactos.git;a=blob;f=drivers/bus/acpi/buspdo.c;hb=b96e88894a4d55f5e8b94430deeb0f086151b24f#l748

This is the proper fix for regression in CORE-7952.
Addendum to 48912992 (r61666) and 4d992804 (r62642).

CORE-17413
2020-12-30 19:38:33 +03:00
Stanislav Motylkov
740beb65e6 [DXDIAG] If ProcessorNameString not found, fall back to Identifier
It also should have its own routine for detecting CPU name, add a comment.
Windows XP and 2003 does have CPU name strings in dxdiagn.dll.

CORE-17413
2020-12-30 19:38:26 +03:00
Stanislav Motylkov
e9f9f83c0a [SYSDM] If ProcessorNameString not found, fall back to Identifier
Also add a comment about CIM_Processor. CORE-17413
2020-12-30 19:38:14 +03:00
Jérôme Gardou
b96e88894a [CMAKE] Turn import libs into regular C static libs
Embed msvcrtex into libmsvcrt

Idea taken from Thomas Faber
2020-12-28 12:13:30 +01:00
Jérôme Gardou
cad583967b [GITHUB] Get LLVM latest version from chocolatey repository
Also, explicitly set target in toolchain file to help CMake getting things right.
2020-12-28 12:13:30 +01:00
Jérôme Gardou
56e56f8ecc [CMAKE] Use -fcommon when using CLang 2020-12-28 12:13:30 +01:00
Jérôme Gardou
5387a7ccb2 [SPEC2DEF] Work-around a bug in MS linker handling of extern forwarders 2020-12-28 12:13:30 +01:00
Jérôme Gardou
d53b03e676 [MSVCRT_WINETEST] Unconditionally link against oldnames 2020-12-28 12:13:30 +01:00
Jérôme Gardou
6fcd9f3184 [FTP] Always link agains oldnames 2020-12-28 12:13:30 +01:00
Victor Perevertkin
8ee88d3bd5 [NTOS:PNP] Send removal IRPs to a file system device object for mounted devices
If a DeviceObject has VPB attached, it should be treated in a special way

CORE-16106
2020-12-27 18:40:33 +03:00
Victor Perevertkin
62a4f9d42b [MOUNTMGR] Do not handle device removal notification
Do not treat target device change notification as
DEVICE_INTERFACE_CHANGE_NOTIFICATION. The notification have to be
unregistered while handling GUID_DEVICE_INTERFACE_REMOVAL, so
GUID_TARGET_DEVICE_REMOVE_COMPLETE should never be sent to mountmgr in a
normal case.

CORE-16106
2020-12-27 18:35:52 +03:00
Hermès Bélusca-Maïto
89f36bcfc8 [CONSRV] Less hardcoded magic values. 2020-12-27 00:52:01 +01:00
Hermès Bélusca-Maïto
a748350fc9 [NTOS:IO] Fail if the driver name passed to NtLoadDriver() is an empty string.
Otherwise an assertion on the driver name is hit later on.
Can be reproduced by calling NtLoadDriver with a valid UNICODE_STRING
of Length == 0.
2020-12-27 00:52:00 +01:00
Hermès Bélusca-Maïto
44511f0809 [NTOS:IO] Minor formatting only.
Making IopLoadUnloadDriver() looking similar to IopUnloadDriver().
2020-12-27 00:51:59 +01:00
Hermès Bélusca-Maïto
8be5f73255 [SAC] Fix the HeadlessInformation.PortType checks in DriverEntry(). 2020-12-27 00:51:58 +01:00
Hermès Bélusca-Maïto
5214d2fab7 [SAC] Use NULL for null pointer in last argument in HeadlessDispatch() calls. 2020-12-27 00:51:58 +01:00
Hermès Bélusca-Maïto
5dd0b32799 [FREELDR] EMS boot options: Parse NT kernel load options in a consistent manner. Addendum to d887308b.
In particular the parsing should not care about the letter case.
2020-12-27 00:51:57 +01:00
Hermès Bélusca-Maïto
fb9d8e5239 [PSDK][XDK] Add newer FILE_DEVICE_xxx DEVICE_TYPE defines. 2020-12-27 00:51:57 +01:00
Hermès Bélusca-Maïto
e8c9a73bb8 [USETUP] Free allocated memory after loading the new text-mode font from the .CAB file. 2020-12-27 00:51:56 +01:00
Hermès Bélusca-Maïto
4ab49bc276 [BLUE] IOCTL_CONSOLE_DRAW: Fix ConsoleDraw.SizeX/Y boundary checks. Always set the cursor position before possibly refreshing screen. 2020-12-27 00:51:42 +01:00
Baruch Rutman
f6de3342bf [GDI32_APITEST] Add tests for SetLayout and its effects (#3203)
As part of the efforts to fix mirroring (Right-to-left UI), this API test
should help determine what is wrong currently in how certain functions behave
when the DC is mirrored. It focuses mostly on BitBlt, StretchBlt and LPtoDP.
Inspired by PR #3109.

CORE-17298
2020-12-26 19:48:21 +03:00
Eric Kohl
7b20065211 [WIDL] Fix a deprecation message and hints on how to build a new scanner and parser 2020-12-26 14:22:43 +01:00
Eric Kohl
f9220ea444 [WIDL] Port ALLOCATE attribute support to our WIDL 2020-12-26 14:00:26 +01:00
Eric Kohl
65646a75a2 [DEVMGR] Report property changes by the device manager to the installer 2020-12-25 19:14:09 +01:00
Serge Gautherie
bb01b94f83 [SHELL32] spec: Fix SHGetAttributesFromDataObject() parameter types (#3317)
Addendum to cdb48b8. CORE-17337
2020-12-23 15:20:37 +03:00
Jérôme Gardou
b805a7dd50 [UMANDLG] Define Globals variable in only one translation unit 2020-12-22 13:15:01 +01:00
Jérôme Gardou
fab4e82647 [INCLUDE/IDL] Give implicit handles a more unique name
This avoids duplicated symbols when linking DLLs using more than one client or server stub
2020-12-22 13:14:13 +01:00
Jérôme Gardou
762f3b9d2a [CMAKE] Add missing dependencies on PSDK 2020-12-22 13:14:00 +01:00
Jérôme Gardou
988c682e8c [LIBXSLT] Fix public variable declarations when using clang-cl 2020-12-22 12:25:55 +01:00
Jérôme Gardou
bd0445dbf2 [NTOS/FSRTL] Implement FsRtlAcquireToCreateMappedSection using filter callbacks 2020-12-22 11:37:53 +01:00
Jérôme Gardou
6929451500 [KMTEST] Test what happens when CcSetFileSizes is called with data still mapped at the tail od the file 2020-12-22 11:35:30 +01:00
Jérôme Gardou
9e6866402b [FASTFAT_NEW] Fix ReactOS compiler workaround 2020-12-22 11:08:21 +01:00
Jérôme Gardou
57cf5cdc5d [FASTFAT_NEW] Tune compile options and definitions for debugging 2020-12-22 11:08:06 +01:00
Jérôme Gardou
db34250b03 [FASTFAT_NEW] Fix build 2020-12-22 11:07:54 +01:00
Jérôme Gardou
ef4c7ae978 [NTOS:IO] Validate input parameters in NtQueryDirectoryFile
It turns out this is not the job of the FS driver
2020-12-22 11:06:38 +01:00
Jérôme Gardou
1d1dba51db [NTOS:IO] Do not set Shared property of the file if we are failing in IoCheckShareAccess 2020-12-22 11:05:00 +01:00
Jérôme Gardou
115b8290cd [KMTESTS] Add more tests for CcMapData & CcPinRead
Those show the shortcomings of the current implementation in ReactOS
2020-12-22 11:03:51 +01:00
Jérôme Gardou
a6c0af2e21 [NTOS:IO] Do not pass bogus file offset to the FS in NtReadFile & NtWriteFile 2020-12-22 11:02:33 +01:00
Eric Kohl
94f01f5b64 [WINLOGON] Add hidden logon/logoff SFC notification 2020-12-21 20:42:40 +01:00
Oleg Dubinskiy
9de8787187 [REGEDIT] Display search finished messagebox when using Find Next (F3) menu item (#3371)
This repeats behaviour of Windows Regedit. CORE-17368
2020-12-21 20:48:52 +03:00
Dmitry Borisov
bc90cbbb88 [WIN32K:NTUSER] Fix gradient caption bars with low color depth (#3338)
This fixes a problem when the window title bar is dithered down
to the 16- or 256-color palette. See also commit 0705f30.
2020-12-20 23:12:30 +03:00
Dmitry Borisov
2e6c9ee1ca [USER32_APITEST] Add a test for SPI_GETGRADIENTCAPTIONS (#3338) 2020-12-20 23:12:20 +03:00
Oleg Dubinskiy
d5132f5ce3 [BROWSEUI][PSDK] Stubplement ShellTaskScheduler (#3326)
Required by MS Picture and Fax Viewer (shimgvw.dll).
Now it starts properly without replacing any other system files.

CORE-17337
2020-12-20 22:06:16 +03:00
Oleg Dubinskiy
1f5e0f3fa7 [BROWSEUI][PSDK] Stubplement UserAssist
Initial implementation of `CUserAssist` class, which contains `IUserAssist` interface.
See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm.
Required by MS shell32.dll.

CORE-17345 CORE-17393
2020-12-20 17:32:11 +03:00
Eric Kohl
bb209e9010 [INTL] Broadcast a WM_SETTINGCHANGED message when settings have been changed. 2020-12-20 11:21:10 +01:00
Eric Kohl
497fe0a884 [INTL] Implement the selection of a property page by command line 2020-12-20 10:47:08 +01:00
Victor Perevertkin
97cf947919 [CDROM_NEW] Add the registry file to CMakeLists.txt
Addendum to 2f6abcc4c3
2020-12-19 21:41:52 +03:00
Victor Perevertkin
2f6abcc4c3 [CDROM_NEW] Add a registry file for use on livecd and setup 2020-12-19 21:24:24 +03:00
Victor Perevertkin
971cf12c9a [VBE] Enable the driver start in the registry 2020-12-19 21:00:06 +03:00
Victor Perevertkin
9bf65730ba [BOOTDATA] Enable loading of the pci.sys driver 2020-12-19 20:52:54 +03:00
Victor Perevertkin
85cb8a897d [BOOTDATA] Do not explicitly load driver libraries in txtsetup.sif
If any driver depends on them, they will be loaded automatically
2020-12-19 20:44:38 +03:00
Joachim Henze
449a341786 [WIN32SS] Trim EOL white-space
Addendum to 0.4.15-dev-1457-g 870aa1254f
2020-12-19 17:51:37 +01:00
Joachim Henze
870aa1254f [WIN32SS] Fix BSOD 0x1E nullptr deref via Git-bash CORE-16586
Thanks to the patches author Doug Lyons!
2020-12-19 17:47:33 +01:00
Joachim Henze
889eab78ca [CDFS] Fix a macro-copy-paste and shrink the binary size CORE-17405 2020-12-18 04:48:31 +01:00
Joachim Henze
b0d136ffcf [RTL] Fix build on MSVC bots part 2
Then stick with your stupid PCH on master already.
Addendum to 0.4.15-dev-1453-g 4ad7b6d
2020-12-17 15:01:50 +01:00
Joachim Henze
dd3c540928 [RDBSSLIB][RTL] Fix build on MSVC bots
Addendum to 0.4.15-dev-1453-g 4ad7b6d
Looks like CMake on master does not longer understand the syntax of
replace_compile_flags().
Will investigate that later again, when other issues have been
solved that do currently prevent me from testing that locally at all.
Most likely remove_target_compile_option() has to be used instead now.
2020-12-17 14:33:26 +01:00
Joachim Henze
4ad7b6d634 [APISETS][RDBSSLIB][RTL] Fix some build issues for MSVC Rls-config CORE-17402
A subset of the patch that is intended to fix all build issues in releases/0.4.14
for compiler MSVC 2010SP1 16.0.40219.1 with RosBE 2.1.6
I left out the changes for disk_new in master because the drivers sources
were replaced since the branching.

Thanks to Mark Jansen for providing the apisets part.

VBox https://reactos.org/testman/compare.php?ids=75522,75524
KVM https://reactos.org/testman/compare.php?ids=75521,75523
2020-12-17 13:31:43 +01:00
Victor Perevertkin
784725143e [KMTESTS:IO] Remove ReactOS-specific workaround in IoVolume test
ReactOS is now more compatible, and names volume devices as
"\Device\HarddiskVolume%u"
2020-12-16 01:25:08 +03:00
Victor Perevertkin
8da0f868c5 [CMD_WINETEST] Disable the test until fastfat_new is landed 2020-12-16 01:15:00 +03:00
Victor Perevertkin
f9f5a78715 [MOUNTMGR] Fix bugs in MountMgrQueryDosVolumePath
- Do not access uninitialized SymlinkInformation on failure case
  and just return
- Do not make an assumption that MOUNTMGR_TARGET_NAME has a zero-string
2020-12-16 01:13:57 +03:00
Jérôme Gardou
96ae15ac4b [NTOS:MM] Fix more 64 bit arithmetics 2020-12-15 10:08:25 +01:00
Victor Perevertkin
6bab72f69a [CMAKE] Fix RUNTIME_CHECKS dependent option
Addendum to 92dfec219d and a2a6038e56
2020-12-14 21:09:14 +03:00
Jérôme Gardou
abcbd44641 [NTOS:MM] Fix passing section size to MiCreatePagingFileMap & fix maximum size check
Also return the right status instead of stupidly asserting when failing to allocate memory.
2020-12-14 18:22:18 +01:00
Jérôme Gardou
cb196d1e39 [APITESTS] Do not compile SEH tests in when using dummy PSEH 2020-12-14 18:22:07 +01:00
Jérôme Gardou
003ad0ec07 [PSDK] define __analysis_noreturn for clang static analyzer 2020-12-14 18:22:07 +01:00
Eric Kohl
f095ff418b [SCSIPORT] Append the missing "SCSI <device type> Device" string to the device description 2020-12-13 16:24:58 +01:00
Eric Kohl
b71df06211 [INF] Include volume.inf in the build 2020-12-13 01:22:52 +01:00
Eric Kohl
fb500b884a [INF] Add an inf file for the volume device class 2020-12-13 01:21:22 +01:00
6289 changed files with 809239 additions and 436314 deletions

15
.github/labeler.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
# Labelling by the files touched
drivers:
- drivers/**
- sdk/lib/drivers/**
- any: ["win32ss/drivers/**", "!win32ss/drivers/font/**"]
freeldr:
- boot/freeldr/**
"kernel&hal":
- hal/**
- ntoskrnl/**
ROSTESTS:
- modules/rostests/**

View File

@@ -2,197 +2,273 @@ name: Build
on: [push, pull_request]
jobs:
build-gcc-i386:
name: GCC (i386)
build-linux:
strategy:
matrix:
compiler: [gcc, clang]
arch: [i386, amd64]
config: [Debug, Release]
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Install RosBE
run: |
wget https://svn.reactos.org/storage/vperevertkin/rosbe-ci.tar.zst
mkdir ${{github.workspace}}/rosbe
tar -I zstd -xvf rosbe-ci.tar.zst --directory ${{github.workspace}}/rosbe
- name: Install other packages
run: sudo apt install ccache
- uses: actions/checkout@v2
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v2
with:
path: ccache
key: ccache-gcc-i386-${{github.sha}}
restore-keys: |
ccache-gcc-i386-
- name: Set ccache settings
run: |
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
echo "CCACHE_DIR=${{github.workspace}}/ccache" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV
echo "CCACHE_SLOPPINESS=time_macros" >> $GITHUB_ENV
- name: Configure
run: |
mkdir build
echo 'cd ${{github.workspace}}/build && ${{github.workspace}}/src/configure.sh -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1' > commands
${{github.workspace}}/rosbe/RosBE.sh < commands
- name: Build
run: |
echo 'cd ${{github.workspace}}/build && cmake --build .' > commands
${{github.workspace}}/rosbe/RosBE.sh < commands
- name: Generate ISOs
run: |
echo 'cd ${{github.workspace}}/build && cmake --build . --target bootcd && cmake --build . --target livecd' > commands
${{github.workspace}}/rosbe/RosBE.sh < 'commands'
- name: Print ccache statistics
run: ccache -s
- name: Upload bootcd
uses: actions/upload-artifact@v2
with:
name: reactos-gcc-i386-${{github.sha}}
path: build/bootcd.iso
- name: Upload livecd
uses: actions/upload-artifact@v2
with:
name: reactos-gcc-i386-${{github.sha}}
path: build/livecd.iso
- name: Get RosBE build specifics
id: get_rosbe_spec
run: |
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
echo ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
echo ::set-output name=git-sha::$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}')
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
- name: Get RosBE
id: get_rosbe
uses: actions/cache@v2
with:
path: RosBE-CI
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
- name: Compile RosBE
if: ${{ steps.get_rosbe.outputs.cache-hit != 'true' }}
run: |
chmod +x build_rosbe_ci.sh
./build_rosbe_ci.sh ${{github.workspace}}/RosBE-CI
- name: Install ccache
run: sudo apt install ccache
- name: Install LLVM
if: ${{ matrix.compiler == 'clang' }}
run: |
export LLVM_VERSION=13
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh $LLVM_VERSION
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
- name: Source checkout
uses: actions/checkout@v2
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v2
with:
path: ccache
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
restore-keys: |
ccache-${{matrix.compiler}}-${{matrix.arch}}-
- name: Set ccache settings
run: |
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
echo "CCACHE_DIR=${{github.workspace}}/ccache" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV
echo "CCACHE_SLOPPINESS=time_macros" >> $GITHUB_ENV
- name: Ease ccache compiler check (GCC)
if: ${{ matrix.compiler == 'gcc' }}
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
- name: Configure
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Build
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Generate ISOs
run: echo 'cmake --build ${{github.workspace}}/build --target bootcd --target livecd' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Print ccache statistics
run: ccache -s
- name: Upload ISOs
uses: actions/upload-artifact@v2
with:
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
build-clang-i386:
name: Clang (i386)
runs-on: ubuntu-latest
steps:
- name: Install RosBE
run: |
wget https://svn.reactos.org/storage/vperevertkin/rosbe-ci.tar.zst
mkdir ${{github.workspace}}/rosbe
tar -I zstd -xvf rosbe-ci.tar.zst --directory ${{github.workspace}}/rosbe
- name: Install other packages
run: |
sudo apt install ccache
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
sudo apt install clang-11
- uses: actions/checkout@v2
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v2
with:
path: ccache
key: ccache-clang-i386-${{github.sha}}
restore-keys: |
ccache-clang-i386-
- name: Set ccache settings
run: |
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
echo "CCACHE_DIR=${{github.workspace}}/ccache" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=1G" >> $GITHUB_ENV
echo "CCACHE_SLOPPINESS=time_macros" >> $GITHUB_ENV
- name: Configure
run: |
mkdir build
echo 'cd ${{github.workspace}}/build && cmake ${{github.workspace}}/src -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-clang.cmake -DARCH:STRING=i386 -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DCLANG_VERSION=11' > commands
${{github.workspace}}/rosbe/RosBE.sh < commands
- name: Build
run: |
echo 'cd ${{github.workspace}}/build && cmake --build .' > commands
${{github.workspace}}/rosbe/RosBE.sh < commands
- name: Print ccache statistics
run: ccache -s
build-clang-cl-i386:
name: Clang-CL (i386)
build-msvc:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
arch: [i386, amd64]
config: [Debug, Release]
include:
- arch: i386 # Not compiling on amd64 prompt
toolset: '14.0' # VS 2015
fail-fast: false
runs-on: windows-latest
steps:
- name: Install packages
run: choco install ninja -y
- name: Install Flex and Bison
- name: Install ninja
run: choco install -y ninja
- name: Install Flex & Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" >> $GITHUB_PATH
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" >> $GITHUB_ENV
echo "M4=${{github.workspace}}\bin\m4.exe" >> $GITHUB_ENV
- name: Add CL to PATH
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (x86)
if: ${{ matrix.arch == 'i386' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v2
with:
path: src
- name: Configure
run: |
mkdir build
cd build
$env:PATH = "$env:VCToolsInstallDir\..\..\Llvm\bin;$env:PATH"
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=1 ${{github.workspace}}\src
- name: Build
working-directory: ${{github.workspace}}\build
run: cmake --build .
- name: Generate ISOs
working-directory: ${{github.workspace}}\build
run: |
cmake --build . --target bootcd
cmake --build . --target livecd
build-msvc-i386:
name: MSVC (i386)
runs-on: windows-latest
steps:
- name: Install packages
run: choco install ninja -y
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" >> $GITHUB_PATH
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" >> $GITHUB_ENV
echo "M4=${{github.workspace}}\bin\m4.exe" >> $GITHUB_ENV
- name: Add CL to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v2
with:
path: src
- name: Configure
run: |
mkdir build
cd build
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
- name: Build
working-directory: ${{github.workspace}}\build
run: cmake --build .
- name: Generate ISOs
working-directory: ${{github.workspace}}\build
run: |
cmake --build . --target bootcd
cmake --build . --target livecd
- name: Upload bootcd
uses: actions/upload-artifact@v2
with:
name: reactos-msvc-i386-${{github.sha}}
path: build/bootcd.iso
- name: Upload livecd
uses: actions/upload-artifact@v2
with:
name: reactos-msvc-i386-${{github.sha}}
path: build/livecd.iso
build-msvc-amd64:
name: MSVC (amd64)
runs-on: windows-latest
steps:
- name: Install packages
run: choco install ninja -y
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" >> $GITHUB_PATH
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" >> $GITHUB_ENV
echo "M4=${{github.workspace}}\bin\m4.exe" >> $GITHUB_ENV
- name: Add CL to PATH
toolset: ${{matrix.toolset}}
- name: Activate VS cmd (amd64)
if: ${{ matrix.arch == 'amd64' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msvc-arm:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
arch: [arm]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
steps:
- name: Install ninja
run: choco install -y ninja
- name: Install Flex & Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (arm)
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86_arm
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build applications
run: cmake --build build --target base/applications/all
- name: Build control panel applets
run: cmake --build build --target dll/cpl/all
- name: Build rosapps
run: cmake --build build --target modules/rosapps/all
- name: Upload compiled binaries
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/base/applications
build/dll/cpl
build/modules/rosapps
!**/CMakeFiles
!**/cmake_install.cmake
!**/*.asm
!**/*.bin
!**/*.c
!**/*.def
!**/*.exp
!**/*.h
!**/*.lib
!**/*.mc
!**/*.obj
!**/*.rc
!**/*.tlb
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-clang-cl:
strategy:
matrix:
arch: [i386, amd64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
steps:
- name: Install ninja
run: choco install -y ninja
- name: Install LLVM
run: |
choco install -y llvm
echo "LLVM_PATH=${env:PROGRAMFILES}\llvm\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Flex & Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (x86)
if: ${{ matrix.arch == 'i386' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
toolset: '14.1' # latest masm build known to make bootable builds
- name: Activate VS cmd (amd64)
if: ${{ matrix.arch == 'amd64' }}
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
toolset: '14.1' # latest masm build known to make bootable builds
- name: Add LLVM to PATH
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Source checkout
uses: actions/checkout@v2
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 -DUSE_CLANG_CL:BOOL=TRUE
- name: Build
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v2
with:
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v2
with:
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msbuild-i386:
name: MSBuild (i386)
runs-on: windows-latest
steps:
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Add CL to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v2
with:
path: src
@@ -200,23 +276,6 @@ jobs:
run: |
mkdir build
cd build
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=amd64 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
- name: Build
working-directory: ${{github.workspace}}\build
run: |
cmake --build .
- name: Generate ISOs
working-directory: ${{github.workspace}}\build
run: |
cmake --build . --target bootcd
cmake --build . --target livecd
- name: Upload bootcd
uses: actions/upload-artifact@v2
with:
name: reactos-msvc-amd64-${{github.sha}}
path: build/bootcd.iso
- name: Upload livecd
uses: actions/upload-artifact@v2
with:
name: reactos-msvc-amd64-${{github.sha}}
path: build/livecd.iso
run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd

11
.github/workflows/labeler.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

2
.gitignore vendored
View File

@@ -1,3 +1,4 @@
compile_commands.json
output-*
modules/optional
modules/bootcd_extras
@@ -5,6 +6,7 @@ modules/livecd_extras
modules/hybridcd_extras
modules/3rdparty
modules/[Aa][Hh][Kk]_[Tt]ests
.cache
.cproject
.project
.settings

View File

@@ -4,9 +4,9 @@
# [MODULE] A short but descriptive summary (#pr-num)
#
# A comprehensible description of WHY you did this work. Do not limit
# yourself here.
# The width of the description is arbitary, but it is a good idea to
# wrap the text by 72 chars.
# yourself here.
# The width of the description is arbitary, but it is a good idea to
# wrap the text by 72 chars.
#
# CORE-XXXX CIDXXXXX
# ----------------------
@@ -17,6 +17,6 @@
# * Description of a commit should explain WHY a change was made.
# * JIRA, Coverity ID references should be placed at the bottom row.
# * There must be a newline between summary, description and bug IDs.
# * GitHub Pull Request ID should be referenced in the summary in
# parens. If the resulting summary is longer than 70 chars it may
# * GitHub Pull Request ID should be referenced in the summary in
# parens. If the resulting summary is longer than 70 chars it may
# be placed last in the ID row to prevent hard wrapping on GitHub.

5
.gitpod.Dockerfile vendored
View File

@@ -1,5 +1,5 @@
FROM gitpod/workspace-full-vnc
USER gitpod
# Install custom tools, runtime, etc. using apt-get
@@ -14,8 +14,7 @@ RUN sudo apt-get -q update && \
sudo rm -rf /var/lib/apt/lists/*
RUN wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz && \
sudo tar -xzf RosBEBinFull.tar.gz -C /usr/local && \
sudo mv /usr/local/RosBEBinFull /usr/local/RosBE && \
sudo tar -xzvf RosBEBinFull.tar.gz -C /usr/local --one-top-level=RosBE --strip-components 1 && \
rm -f RosBEBinFull.tar.gz
RUN echo 'export PATH=/usr/local/RosBE/i386/bin:$PATH' >> /home/gitpod/.profile

View File

@@ -7,6 +7,13 @@ endif()
include(CMakeDependentOption)
# CMAKE_CROSSCOMPILING and MSVC_IDE are not set until project() is called, so let's test this instead
if ((DEFINED CMAKE_TOOLCHAIN_FILE) AND (CMAKE_GENERATOR MATCHES "Visual Studio.*"))
# Do not use MSVC_RUNTIME_LIBRARY target property. We use our own flags instead
message(WARNING "Setting policy CMP0091 to OLD behaviour")
cmake_policy(SET CMP0091 OLD)
endif()
project(REACTOS)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -21,8 +28,9 @@ set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 11)
#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
# check that the ARCH (target architecture) variable is defined
if(NOT ARCH)
set(ARCH i386)
message(FATAL_ERROR "Target architecture (ARCH) is not defined. Please, choose one of: i386, amd64, arm, arm64")
endif()
# Now the ARCH variable will be in lowercase.
# It is needed because STREQUAL comparison
@@ -31,6 +39,9 @@ endif()
# for more information.
string(TOLOWER ${ARCH} ARCH)
# set possible values for cmake GUI
set_property(CACHE ARCH PROPERTY STRINGS "i386" "amd64" "arm" "arm64")
# Alternative WinNT-compatible architecture string
if(ARCH STREQUAL "i386")
set(WINARCH "x86")
@@ -38,17 +49,21 @@ else()
set(WINARCH ${ARCH})
endif()
# set CMAKE_BUILD_TYPE if not set
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to Debug as none was specified.")
set(CMAKE_BUILD_TYPE "Debug" CACHE
STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
# Versioning
include(sdk/include/reactos/version.cmake)
# Compile options
if(ARCH STREQUAL "i386")
include(sdk/cmake/config.cmake)
elseif(ARCH STREQUAL "amd64")
include(sdk/cmake/config-amd64.cmake)
elseif(ARCH STREQUAL "arm")
include(sdk/cmake/config-arm.cmake)
endif()
include(sdk/cmake/config.cmake)
# Compiler flags handling
include(sdk/cmake/compilerflags.cmake)
@@ -74,7 +89,43 @@ if(MSVC_IDE)
endif()
# Bison and Flex support
# include(sdk/cmake/bison-flex.cmake)
find_package(BISON REQUIRED)
find_package(FLEX REQUIRED)
if(MSVC_IDE)
# Bison needs M4 and BISON_PKGDATADIR set at build time,
# but visual studio is hardly ever opened from the configure-time environment.
# Since cmake does not support setting env variables for a custom command,
# we have to write a wrapper that sets the variables and then executes bison.
# Idea taken from https://stackoverflow.com/a/35032051/4928207
if(DEFINED ENV{M4})
# Store this environment variable for configure re-runs from withing visual studio.
SET(ROS_SAVED_M4 "$ENV{M4}" CACHE INTERNAL "")
endif()
if(DEFINED ENV{BISON_PKGDATADIR})
SET(ROS_SAVED_BISON_PKGDATADIR "$ENV{BISON_PKGDATADIR}" CACHE INTERNAL "")
endif()
# Tell the user about a misconfigured environment
if("x${ROS_SAVED_M4}x" STREQUAL "xx" OR "x${ROS_SAVED_BISON_PKGDATADIR}x" STREQUAL "xx")
message(FATAL_ERROR "\nM4 or BISON_PKGDATADIR environment variables not set, cannot continue!\n"
"See https://reactos.org/wiki/Visual_Studio for more information!")
endif()
file(WRITE "${CMAKE_BINARY_DIR}/bison_wrapper.cmd"
"@ECHO OFF\n"
"set M4=${ROS_SAVED_M4}\n"
"set BISON_PKGDATADIR=${ROS_SAVED_BISON_PKGDATADIR}\n"
"${BISON_EXECUTABLE} %*\n")
set(BISON_EXECUTABLE "${CMAKE_BINARY_DIR}/bison_wrapper.cmd")
# And the same hacks for FLEX
file(WRITE "${CMAKE_BINARY_DIR}/flex_wrapper.cmd"
"@ECHO OFF\n"
"set M4=${ROS_SAVED_M4}\n"
"set BISON_PKGDATADIR=${ROS_SAVED_BISON_PKGDATADIR}\n"
"${FLEX_EXECUTABLE} %*\n")
set(FLEX_EXECUTABLE "${CMAKE_BINARY_DIR}/flex_wrapper.cmd")
endif()
if(NOT CMAKE_CROSSCOMPILING)
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
@@ -89,10 +140,6 @@ if(NOT CMAKE_CROSSCOMPILING)
if(MSVC_VERSION GREATER 1699)
add_definitions(/D_ALLOW_KEYWORD_MACROS)
endif()
if(NOT USE_CLANG_CL)
# FIXME: Inspect
add_definitions(/Dinline=__inline)
endif()
endif()
add_subdirectory(sdk/include/host)
@@ -116,8 +163,21 @@ else()
# We don't need CMake importlib handling.
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
# Print build type
message("-- Build Type: ${CMAKE_BUILD_TYPE}")
# Print build type(s)
if(CMAKE_CONFIGURATION_TYPES)
# Multi-config generators, like Visual Studio (MSBuild).
message("-- Configuration types: ${CMAKE_CONFIGURATION_TYPES}")
else()
# Single-configuration generators, like Ninja.
message("-- Build type: ${CMAKE_BUILD_TYPE}")
endif()
# Always add /MT in VS CMAKE_GENERATOR and define _SBCS otherwise VS thinks it's a multi-byte or whatever project
if (MSVC_IDE)
add_compile_options("/MT")
add_compile_definitions(_SBCS)
endif()
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
@@ -192,13 +252,20 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_definitions(-DSARCH_PC98)
endif()
elseif(ARCH STREQUAL "amd64")
add_definitions(-D_M_AMD64 -D_AMD64_ -D__x86_64__ -D_WIN64)
# clang-cl defines this one for itself
if (NOT (MSVC AND CMAKE_C_COMPILER_ID STREQUAL "Clang"))
add_compile_definitions(_M_AMD64)
endif()
add_definitions(-D_AMD64_ -D__x86_64__ -D_WIN64)
elseif(ARCH STREQUAL "arm")
# _M_ARM is already defined by toolchain
add_definitions(-D_ARM_ -D__arm__ -DWIN32)
if(SARCH STREQUAL "omap-zoom2")
if(SARCH STREQUAL "omap3-zoom2")
add_definitions(-D_ZOOM2_)
endif()
elseif(ARCH STREQUAL "arm64")
# GNU tools refer to arm64 as aarch64
add_definitions(-D_ARM64_ -D__arm64__ -D__aarch64__ -D_WIN64)
endif()
# Other
@@ -206,13 +273,17 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
if(ARCH STREQUAL "i386")
add_definitions(-DUSE_COMPILER_EXCEPTIONS -D_USE_32BIT_TIME_T)
elseif(ARCH STREQUAL "amd64")
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
elseif(ARCH STREQUAL "arm")
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
add_compile_definitions(USE_COMPILER_EXCEPTIONS)
endif()
# Activate support for assembly source files
enable_language(ASM)
if (MSVC)
enable_language(ASM_MASM)
else()
enable_language(ASM)
endif()
# Activate language support for resource files
enable_language(RC)

View File

@@ -39,7 +39,7 @@
## As responsible, he may refuse a local patch if you did not try to
## upstream your changes.
## If you want to get listed in that file, either put yourself in the
## If you want to get listed in this file, either put yourself in the
## file and push it, or open a pull request. You can also ask a person
## who has push access to add yourself.
@@ -121,8 +121,8 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/sdk/cmake/ @learn-more @ThFabba
*.cmake @learn-more @ThFabba
/sdk/cmake/ @learn-more
*.cmake @learn-more
# File Patch API
# M: learn-more, learn_more, Mark Jansen
@@ -225,7 +225,7 @@
# R: learn-more, learn_more, Mark Jansen
# R: ThFabba, Thomas Faber
# S: Maintained
/modules/rostests/apitests/ @learn-more @ThFabba
/modules/rostests/apitests/ @learn-more
# ReactOS Kernel-Mode Tests
# M: ThFabba, Thomas Faber
@@ -246,6 +246,12 @@
# S: Maintained
/sdk/lib/rtl/ @HeisSpiter @learn-more @ThFabba @tkreuzer
# Security Manager
# M: GeoB99, George Bișoc
# S: Maintained
/modules/rostests/kmtests/ntos_se/ @GeoB99
/ntoskrnl/se/ @GeoB99
# Shell Extensions
# M:
# R: learn-more, learn_more, Mark Jansen
@@ -267,9 +273,7 @@
/drivers/filesystems/cdfs/ @HeisSpiter
/drivers/filesystems/ext2/ @HeisSpiter
/drivers/filesystems/fastfat_new/ @HeisSpiter
/drivers/filesystems/ffs/ @HeisSpiter
/drivers/filesystems/nfs/ @HeisSpiter
/drivers/filesystems/reiserfs/ @HeisSpiter
/media/doc/README.FSD @HeisSpiter
/sdk/lib/fslib/btrfslib/ @HeisSpiter
/sdk/lib/fslib/ext2lib/ @HeisSpiter
@@ -345,4 +349,5 @@ ru-RU.* @reactos/lang-russian
tr-TR.* @reactos/lang-turkish
uk-UA.* @reactos/lang-ukrainian
zh-CN.* @reactos/lang-chinese
zh-HK.* @reactos/lang-chinese
zh-TW.* @reactos/lang-chinese

View File

@@ -1,12 +1,12 @@
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
Copyright 2008 ReactOS Portable Systems Group. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE REACTOS PORTABLE SYSTEMS GROUP ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND

View File

@@ -7,8 +7,8 @@
---
<p align=center>
<a href="https://reactos.org/project-news/reactos-0413-released/">
<img alt="ReactOS 0.4.13 Release" src="https://img.shields.io/badge/release-0.4.13-0688CB.svg">
<a href="https://reactos.org/project-news/reactos-0414-released/">
<img alt="ReactOS 0.4.14 Release" src="https://img.shields.io/badge/release-0.4.14-0688CB.svg">
</a>
<a href="https://reactos.org/download/">
<img alt="Download ReactOS" src="https://img.shields.io/badge/download-latest-0688CB.svg">
@@ -38,7 +38,7 @@
## What is ReactOS?
ReactOS™ is an Open Source effort to develop a quality operating system that is compatible with applications and drivers written for the Microsoft® Windows™ NT family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
ReactOS™ is an Open Source effort to develop a quality operating system that is compatible with applications and drivers written for the Microsoft® Windows™ NT family of operating systems (NT4, 2000, XP, 2003, Vista, 7).
The ReactOS project, although currently focused on Windows Server 2003 compatibility, is always keeping an eye toward compatibility with Windows Vista and future Windows NT releases.

View File

@@ -35,6 +35,7 @@ add_subdirectory(regedit)
add_subdirectory(regedt32)
add_subdirectory(sc)
add_subdirectory(screensavers)
add_subdirectory(sdbinst)
add_subdirectory(setup16)
add_subdirectory(shutdown)
add_subdirectory(sndrec32)

View File

@@ -60,6 +60,9 @@
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
@@ -75,6 +78,9 @@
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif
#ifdef LANGUAGE_SR_SP
#include "lang/sr-SP.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
@@ -84,6 +90,9 @@
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -1,4 +1,4 @@
/*
/*
* FILE: base/applications/cacls/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2008-02-29

View File

@@ -1,4 +1,4 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
STRINGTABLE
BEGIN

View File

@@ -0,0 +1,74 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_HELP "Mostra ou modifica as listas de controle de acesso (ACLs) de ficheiros\n\n\
CACLS nome-ficheiro [/T] [/E] [/C] [/G utilizador:perm] [/R utilizador [...]]\n\
[/P utilizador:perm [...]] [/D utilizador [...]]\n\
nome-ficheiro Mostra ACLs.\n\
/T Altera ACLs de ficheiros especificados\n\
na pasta actual e em todas as subpastas.\n\
/E Edita ACL em vez de substituí-la.\n\
/C Continua ao encontrar erros de acesso negado.\n\
/G utilizador:perm Concede os direitos de acesso ao utilizador especificado.\n\
Perm pode ser: R Ler\n\
W Gravar\n\
C Alterar (gravar)\n\
F Controle total\n\
/R utilizador Revoga os direitos de acesso do utilizador especificado\n\
(válido somente com /E).\n\
/P utilizador:perm Substitui os direitos de acesso do utilizador especificado.\n\
Perm pode ser: N Nenhum\n\
R Ler\n\
W Gravar\n\
C Alterar (gravar)\n\
F Controle total\n\
/D utilizador Nega o acesso ao utilizador especificado.\n\
Caracteres curinga podem ser usados para especificar mais de um ficheiro\n\
num comando.\n\
Pode especificar mais de um utilizador num comando.\n\n\
Abreviaçäes:\n\
CI - Herança de recipiente.\n\
O ACE será herdado pelas pastas.\n\
OI - Herança de objeto.\n\
O ACE será herdado pelos ficheiros.\n\
IO - Somente herança.\n\
O ACE não se aplica ao ficheiro/pasta actual.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END

View File

@@ -0,0 +1,149 @@
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
STRINGTABLE
BEGIN
IDS_HELP "Прикажи или измени листе за управљање приступима фајловима.\n\
(access control lists ACLs)\n\n\
CACLS имефајла [/T] [/E] [/C] [/G корисник:дозвола [...]] [/R корисник [...]]\n\
[/P корисник:дозвола [...]] [/D корисник [...]]\n\
имефајла Прикажи листе приступа.\n\
/T Измени листе приступа задатих фајлова у\n\
текућем и свим поддиректоријумима.\n\
/E Измени постојећу листу приступа уместо да је замениш.\n\
/C Настави након грешке о забрањеном приступу.\n\
/G корисник:дозвола Додели наведена права корисничког приступа.\n\
Дозвола може бити: R Читање\n\
W Писање\n\
C Измена (писање)\n\
F Потпуно управљање\n\
/R корисник Повуци дозволе приступа наведеног корисника\n\
(исправно једино уз /E).\n\
/P корисник:дозвола Замени дозволе приступа наведеног корисника.\n\
Дозвола може бити: N Без приступа\n\
R Читање\n\
W Писање\n\
C Измена (писање)\n\
F Потпуно управљање\n\
/D корисник Онемогући приступ наведеном кориснику.\n\
У команди се могу користити џокер знаци ради задавања више од једног фајла.\n\
У команди се може навести више од једног корисника.\n\n\
Скраћенице:\n\
CI - Наслеђивање по контејнерима (Container Inherit).\n\
Нови упис (ACE) наслеђују директоријуми.\n\
OI - Наслеђивање по објекту (Object Inherit).\n\
Нови упис (ACE) наслеђују фајлови.\n\
IO - Само наслеђивање (Inherit Only).\n\
Упис не важи за текући фајл/директоријум.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
STRINGTABLE
BEGIN
IDS_HELP "Prikaži ili izmeni liste za upravljanje pristupima fajlovima.\n\
(access control lists ACLs)\n\n\
CACLS imefajla [/T] [/E] [/C] [/G korisnik:dozvola [...]] [/R korisnik [...]]\n\
[/P korisnik:dozvola [...]] [/D korisnik [...]]\n\
imefajla Prikaži liste pristupa.\n\
/T Izmeni liste pristupa zadatih fajlova u\n\
tekućem i svim poddirektorijumima.\n\
/E Izmeni postojeću listu pristupa umesto da je zameniš.\n\
/C Nastavi nakon greške o zabranjenom pristupu.\n\
/G korisnik:dozvola Dodeli navedena prava korisničkog pristupa.\n\
Dozvola može biti: R Čitanje\n\
W Pisanje\n\
C Izmena (pisanje)\n\
F Potpuno upravljanje\n\
/R korisnik Povuci dozvole pristupa navedenog korisnika\n\
(ispravno jedino uz /E).\n\
/P korisnik:dozvola Zameni dozvole pristupa navedenog korisnika.\n\
Dozvola može biti: N Bez pristupa\n\
R Čitanje\n\
W Pisanje\n\
C Izmena (pisanje)\n\
F Potpuno upravljanje\n\
/D korisnik Onemogući pristup navedenom korisniku.\n\
U komandi se mogu koristiti džoker znaci radi zadavanja više od jednog fajla.\n\
U komandi se može navesti više od jednog korisnika.\n\n\
Skraćenice:\n\
CI - Nasleđivanje po kontejnerima (Container Inherit).\n\
Novi upis (ACE) nasleđuju direktorijumi.\n\
OI - Nasleđivanje po objektu (Object Inherit).\n\
Novi upis (ACE) nasleđuju fajlovi.\n\
IO - Samo nasleđivanje (Inherit Only).\n\
Upis ne važi za tekući fajl/direktorijum.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END

View File

@@ -1,41 +1,44 @@
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_HELP "Kütüklerin erişim denetim dizelgelerini (ACL'lerini) görüntüler ya da değiştirir.\n\n\
CACLS kütük adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
IDS_HELP "Dosyaların erişim kontrol listelerini (ACL'ler) görüntüler veya değiştirir.\n\n\
CACLS dosya adı [/T] [/E] [/C] [/G kullanıcı:izin [...]] [/R kullanıcı [...]]\n\
[/P kullanıcı:izin [...]] [/D kullanıcı [...]]\n\
kütük adı ACL'leri görüntüler.\n\
dosya adı ACL'leri görüntüler.\n\
/T Şimdiki dizin ve alt dizinlerin içinde\n\
belirtilen kütülerin ACL'lerini değiştirir.\n\
/E ACL'yi yenisiyle değiştirme yerine onu düzenle.\n\
/C Erişim engellendi yanlışlıklarıyla sürdür.\n\
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini ver.\n\
İzin şu olabilir: R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri al\n\
belirtilen dosyaların ACL'lerini değiştirir.\n\
/E ACL'yi yenisiyle değiştirmek yerine onu düzenler.\n\
/C Erişim engellendi hatalarına rağmen devam eder.\n\
/G kullanıcı:izin Belirtilen kullanıcı erişim yetkilerini verir.\n\
Yetkilerin biri şu olabilir: R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/R kullanıcı Belirtilen kullanıcının erişim yetkilerini geri alır.\n\
(yalnızca /E ile geçerli).\n\
/P kullanıcı:izin Belirtilen kullanıcının erişim yetkilerini yenileriyle\n\
değiştir.\n\
İzin şu olabilir: N Yok\n\
R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
değiştirir.\n\
Yetkilerin biri şu olabilir: N Yok\n\
R Okuma\n\
W Yazma\n\
C Değiştirme (yazma)\n\
F Tüm denetim\n\
/D kullanıcı Belirtilen kullanıcı erişimini verme.\n\
Umûmî arama damgaları, bir komutta birden çok kütük belirtmek için kullanılabilir.\n\
Bir komutta birden çok kullanıcı belirtebilirsiniz.\n\n\
Özel semboller, bir komutta birden fazla dosya belirtmek için kullanılabilir.\n\
Bir komutta birden fazla kullanıcı belirtebilirsiniz.\n\n\
Kısaltmalar:\n\
CI - Kapsayıcı Devral.\n\
CI - Kapsayıcı Devralma.\n\
ACE dizinlerle devralınacak.\n\
OI - Nesne Devral.\n\
ACE kütüklerle devralınacak.\n\
OI - Nesnel Devralma.\n\
ACE dosyalarla devralınacak.\n\
IO - Yalnızca Devral.\n\
ACE'yi şimdiki kütüğe ya da dizine uygulama.\n"
ACE'yi şimdiki dosyaya ya da dizine uygulama.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
@@ -45,8 +48,8 @@ Kısaltmalar:\n\
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(VERME)"
IDS_SPECIAL_ACCESS "(husûsî erişim:)"
IDS_DENY "(REDDET)"
IDS_SPECIAL_ACCESS "(özel erişim:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"

View File

@@ -0,0 +1,80 @@
/*
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
STRINGTABLE
BEGIN
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 顯示 ACLs。\n\
/T 更改目前目錄及其所有子目錄\n\
指定文件的 ACL。\n\
/E 編輯 ACL 而不替換。\n\
/C 在出現拒絕存取錯誤時繼續。\n\
/G user:perm 賦予指定使用者存取權限。\n\
perm 可以是: R 讀取\n\
W 寫入\n\
C 更改 (寫入)\n\
F 完全控制\n\
/R user 撤銷指定使用者的存取權限 (與 /E 一齊使用時才會有效)。\n\
/P user:perm 更改指定使用者的存取權限。\n\
perm 可以是: N 無\n\
R 讀取\n\
W 寫入\n\
C 更改 (寫入)\n\
F 完全控制\n\
/D user 拒絕指定使用者的存取。\n\
在命令中可以使用通配符指定多個檔案。\n\
您亦可以在命令中指定多個使用者。\n\n\
縮寫:\n\
CI - 容器繼承。\n\
ACE會由目錄繼承。\n\
OI - 對象繼承。\n\
ACE 會由文件繼承。\n\
IO - 只繼承。\n\
ACE 不適用於目前檔案/目錄。\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
IDS_ABBR_FULL "F"
IDS_ABBR_READ "R"
IDS_ABBR_WRITE "W"
IDS_ABBR_CHANGE "C"
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(特殊存取:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"
IDS_GENERIC_ALL "GENERIC_ALL"
IDS_FILE_GENERIC_EXECUTE "FILE_GENERIC_EXECUTE"
IDS_FILE_GENERIC_READ "FILE_GENERIC_READ"
IDS_FILE_GENERIC_WRITE "FILE_GENERIC_WRITE"
IDS_FILE_READ_DATA "FILE_READ_DATA"
IDS_FILE_WRITE_DATA "FILE_WRITE_DATA"
IDS_FILE_APPEND_DATA "FILE_APPEND_DATA"
IDS_FILE_READ_EA "FILE_READ_EA"
IDS_FILE_WRITE_EA "FILE_WRITE_EA"
IDS_FILE_EXECUTE "FILE_EXECUTE"
IDS_FILE_DELETE_CHILD "FILE_DELETE_CHILD"
IDS_FILE_READ_ATTRIBUTES "FILE_READ_ATTRIBUTES"
IDS_FILE_WRITE_ATTRIBUTES "FILE_WRITE_ATTRIBUTES"
IDS_MAXIMUM_ALLOWED "MAXIMUM_ALLOWED"
IDS_ACCESS_SYSTEM_SECURITY "ACCESS_SYSTEM_SECURITY"
IDS_SPECIFIC_RIGHTS_ALL "SPECIFIC_RIGHTS_ALL"
IDS_STANDARD_RIGHTS_REQUIRED "STANDARD_RIGHTS_REQUIRED"
IDS_SYNCHRONIZE "SYNCHRONIZE"
IDS_WRITE_OWNER "WRITE_OWNER"
IDS_WRITE_DAC "WRITE_DAC"
IDS_READ_CONTROL "READ_CONTROL"
IDS_DELETE "DELETE"
IDS_STANDARD_RIGHTS_ALL "STANDARD_RIGHTS_ALL"
END

View File

@@ -1,36 +1,36 @@
/*
* PROJECT: ReactOS CACLS
* FILE: base/applications/cacls/lang/zh-TW.rc
* LICENSE: LGPL - See COPYING.LIB in the top level directory
* PURPOSE: TRADITIONAL Chinese resource file
* TRANSLATOR: jauming <jauming.tw@gmail.com>
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2007 Chaoming Tseng <jauming.tw@gmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_HELP "顯示或修改文件的訪問控制表\n\n\
IDS_HELP "顯示或修改文件的存取控制串列\n\n\
CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
[/P user:perm [...]] [/D user [...]]\n\
filename 顯示 ACLs。\n\
/T 更改前目錄及其所有子目錄\n\
/T 更改前目錄及其所有子目錄\n\
指定文件的 ACL。\n\
/E 編輯 ACL 而不替換。\n\
/C 在出現拒絕訪問錯誤時繼續。\n\
/G user:perm 賦予指定使用者訪問權限。\n\
Perm 可以是: R 讀取\n\
/C 在出現拒絕存取錯誤時繼續。\n\
/G user:perm 賦予指定使用者存取權限。\n\
perm 可以是: R 讀取\n\
W 寫入\n\
C 更改(寫入)\n\
F 完全控制\n\
/R user 撤銷指定使用者的訪問權限(僅在 /E 一起使用時合法)。\n\
/P user:perm 替換指定使用者的訪問權限。\n\
Perm 可以是: N 無\n\
/R user 撤銷指定使用者的存取權限 (僅在 /E 一起使用時才有效)。\n\
/P user:perm 替換指定使用者的存取權限。\n\
perm 可以是: N 無\n\
R 讀取\n\
W 寫入\n\
C 更改(寫入)\n\
F 完全控制\n\
/D user 拒絕指定使用者的訪問。\n\
/D user 拒絕指定使用者的存取。\n\
在命令中可以使用通配符指定多個文件。\n\
您也可以在命令中指定多個使用者。\n\n\
縮寫:\n\
@@ -39,7 +39,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
OI - 對象繼承。\n\
ACE 會由文件繼承。\n\
IO - 只繼承。\n\
ACE 不適用於前文件/目錄。\n"
ACE 不適用於前文件/目錄。\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"
@@ -50,7 +50,7 @@ CACLS filename [/T] [/E] [/C] [/G user:perm [...]] [/R user [...]]\n\
IDS_ABBR_NONE "N"
IDS_ALLOW ""
IDS_DENY "(DENY)"
IDS_SPECIAL_ACCESS "(special access:)"
IDS_SPECIAL_ACCESS "(特殊存取:)"
IDS_GENERIC_READ "GENERIC_READ"
IDS_GENERIC_WRITE "GENERIC_WRITE"
IDS_GENERIC_EXECUTE "GENERIC_EXECUTE"

View File

@@ -512,7 +512,7 @@ static const conv_t conv_VOLUME[] = {
1 chang = 20 tamlung
1 tamlung = 4 baht
1 baht = 4 saloung
1 saloung =
1 saloung =
1 chang = 6/5 kg = 1200 g
1 tamlung = 1/20 chang = 60 g

View File

@@ -55,7 +55,7 @@ double acosh(double x)
{
// must be x>=1, if not return Nan (Not a Number)
if(!(x>=1.0)) return sqrt(-1.0);
// return only the positive result (as sqrt does).
return log(x+sqrt(x*x-1.0));
}
@@ -64,7 +64,7 @@ double atanh(double x)
{
// must be x>-1, x<1, if not return Nan (Not a Number)
if(!(x>-1.0 && x<1.0)) return sqrt(-1.0);
return log((1.0+x)/(1.0-x))/2.0;
}
@@ -372,7 +372,7 @@ static __int64 cbrti(__int64 x) {
s = 60;
y = 0;
while(s >= 0) {
while(s >= 0) {
y = 2*y;
b = (3*y*(y + 1) + 1) << s;
s = s - 3;

View File

@@ -1,6 +1,6 @@
/* Translation and UTF-8 Conversion by mkbu95 <mkbu95@gmail.com> (August, 2011) */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
/* Dialogs */

View File

@@ -0,0 +1,711 @@
/* Translation and UTF-8 Conversion by Gabriel Aguiar <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> (July, 2021) */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Graus", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radianos", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Grados", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Apagar", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
PUSHBUTTON "Converter", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Categoria:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Converter de:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Converter para:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Apagar", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Caixa de estatísticas"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Graus\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "Radianos\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Grados\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Hex\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "Decimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "Binário\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "Editar"
BEGIN
MENUITEM "Copiar\tCtrl+C", IDM_EDIT_COPY
MENUITEM "Colar\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "Visualizar"
BEGIN
MENUITEM "Padrão", IDM_VIEW_STANDARD
MENUITEM "Científica", IDM_VIEW_SCIENTIFIC
MENUITEM "Conversão", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED
END
POPUP "Ajuda"
BEGIN
MENUITEM "Tópicos de ajuda", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "Sobre Calculadora ReactOS", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Erro"
IDS_QUICKHELP "Ajuda rápida"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Calcuadora ReactOS"
IDS_AUTHOR "Escrita por Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "Ângulo"
IDS_CONV_AREA "Área"
IDS_CONV_CONSUMPTION "Consumo (veículos)"
IDS_CONV_CURRENCY "Monetária"
IDS_CONV_ENERGY "Energia"
IDS_CONV_LENGTH "Distância"
IDS_CONV_POWER "Potência"
IDS_CONV_PRESSURE "Pressão"
IDS_CONV_TEMPERATURE "Temperatura"
IDS_CONV_TIME "Tempo"
IDS_CONV_VELOCITY "Velocidade"
IDS_CONV_VOLUME "Volume"
IDS_CONV_WEIGHT "Peso"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Graus"
IDS_ANGLE_GRADIANS "Grados"
IDS_ANGLE_RADIANS "Radianos"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "Acres"
IDS_AREA_ACRES_BRAZIL "Acres (Brasil)"
IDS_AREA_ACRES_FRANCE "Acres (França)"
IDS_AREA_ACRES_SCOTS "Acres (Escócia)"
IDS_AREA_ACRES_US "Acres (EUA)"
IDS_AREA_ARES "Ares"
IDS_AREA_CHOU "Chou"
IDS_AREA_DANBO "Danbo"
IDS_AREA_HECTARES "Hectares"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "Morgen (Hungária)"
IDS_AREA_MU "Mu"
IDS_AREA_PING "Ping"
IDS_AREA_PYEONG "Pyeong"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "Rai"
IDS_AREA_SE "Se"
IDS_AREA_SQUARE_CENTIMETERS "Centímetros quadrados"
IDS_AREA_SQUARE_CHR "Chr quadradas"
IDS_AREA_SQUARE_FATHOMS "Braças quadradas"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Braças quadradas (Hungária)"
IDS_AREA_SQUARE_FEET "Pés quadrados"
IDS_AREA_SQUARE_INCHES "Polegadas quadradas"
IDS_AREA_SQUARE_KILOMETERS "Quilômetros quadrados"
IDS_AREA_SQUARE_LAR "Lar quadradas"
IDS_AREA_SQUARE_METER "Metros quadrados"
IDS_AREA_SQUARE_MILES "Milhas quadradas"
IDS_AREA_SQUARE_MILLIMETERS "Milímetros quadrados"
IDS_AREA_SQUARE_SHAKU "Shaku quadradas"
IDS_AREA_SQUARE_TSUEN "Tsuen quadrados"
IDS_AREA_SQUARE_VA "Va quadrados"
IDS_AREA_SQUARE_YARD "Jardas quadradas"
IDS_AREA_TAN "Tan"
IDS_AREA_TSUBO "Tsubo"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "Quilômetros/litro"
IDS_CONSUMPTION_L_PER_100_KM "Litros/100 quilômetros"
IDS_CONSUMPTION_MILES_GALLON_UK "Milhas/galão (UK)"
IDS_CONSUMPTION_MILES_GALLON_US "Milhas/galão (EUA)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "Xelim austríaco"
IDS_CURRENCY_BELGIAN_FRANC "Franco belga"
IDS_CURRENCY_CYPRIOT_POUND "Libra cipriota"
IDS_CURRENCY_CZECH_KORUNA "Coroa checa"
IDS_CURRENCY_DEUTSCHE_MARK "Marco alemão"
IDS_CURRENCY_DUTCH_GUILDER "Florim neerlandês"
IDS_CURRENCY_ESTONIAN_KROON "Estonian kroon"
IDS_CURRENCY_EURO "Euro"
IDS_CURRENCY_FINNISH_MARKKA "Marco finlandês"
IDS_CURRENCY_FRENCH_FRANC "Franco francês"
IDS_CURRENCY_GREEK_DRACHMA "Dracma"
IDS_CURRENCY_IRISH_POUND "Libra irlandesa"
IDS_CURRENCY_ITALIAN_LIRA "Lira italiana"
IDS_CURRENCY_LATVIAN_LATS "Latvian lats"
IDS_CURRENCY_LITHUANIAN_LITAS "Lithuanian litas"
IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburguês"
IDS_CURRENCY_MALTESE_LIRA "Lira maltesa"
IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo português"
IDS_CURRENCY_SLOVAK_KORUNA "Coroa eslovaca"
IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar"
IDS_CURRENCY_SPANISH_PESETA "Peseta"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C calorias"
IDS_ENERGY_BTUS "British Thermal Unit"
IDS_ENERGY_ERGS "Ergs (Cgs)"
IDS_ENERGY_EVS "Elétron-volt"
IDS_ENERGY_FOOT_POUNDS "Foot-Pounds"
IDS_ENERGY_IT_CALORIES "Tabela Internacional de calorias"
IDS_ENERGY_IT_KILOCALORIES "Tabela Internacional de quilocalorias"
IDS_ENERGY_JOULES "Joules"
IDS_ENERGY_KILOJOULES "Quilojoules"
IDS_ENERGY_KILOWATT_HOURS "Quilowatt-hora"
IDS_ENERGY_NUTRITION_CALORIES "Calorias nutritivas"
IDS_ENERGY_TH_CALORIES "Caloria termoquímica"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "Ångström"
IDS_LENGTH_ASTRONOMICAL_UNITS "Unidade astronômica"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "Centímetros"
IDS_LENGTH_CHAINS_UK "Correntes (UK)"
IDS_LENGTH_CHI "Chi"
IDS_LENGTH_CHOU "Chou"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "Cun"
IDS_LENGTH_FATHOMS "Braças"
IDS_LENGTH_FATHOMS_HUNGARY "Braças (Hungária)"
IDS_LENGTH_FEET "Pés"
IDS_LENGTH_FURLONGS "Furlongs"
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Mãos"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Polegadas"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "Quilômetors"
IDS_LENGTH_LAR "Lar"
IDS_LENGTH_LIGHT_YEARS "Anos-luz"
IDS_LENGTH_LINKS_UK "Links (UK)"
IDS_LENGTH_METERS "Metros"
IDS_LENGTH_MICRONS "Micrômetro"
IDS_LENGTH_MILES "Milhas"
IDS_LENGTH_MILLIMETERS "Milímetros"
IDS_LENGTH_NAUTICAL_MILES "Milhas náuticas"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "Parsecs"
IDS_LENGTH_PICAS "Paicas"
IDS_LENGTH_RI_JAPAN "Ri (Japão)"
IDS_LENGTH_RI_KOREA "Ri (Coreia)"
IDS_LENGTH_RODS "Varas"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "Shaku"
IDS_LENGTH_SPAN "Span"
IDS_LENGTH_SUN "Sun"
IDS_LENGTH_TSUEN "Tsuen"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "Jardas"
IDS_LENGTH_YOTE "Yote"
IDS_LENGTH_ZHANG "Zhang"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "British Thermal Units por minuto"
IDS_POWER_FPS_PER_MINUTE "Foot-Pounds por minuto"
IDS_POWER_HORSEPOWER "Cavalos de potência"
IDS_POWER_KILOWATTS "Quilowatts"
IDS_POWER_MEGAWATTS "Megawatts"
IDS_POWER_WATTS "Watts"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "Atmosferas"
IDS_PRESSURE_BARS "Bars"
IDS_PRESSURE_HECTOPASCALS "Hectopascais"
IDS_PRESSURE_KILOPASCALS "Quilopascais"
IDS_PRESSURE_MM_OF_MERCURY "Milímetros de mercúrio"
IDS_PRESSURE_PASCALS "Pascais"
IDS_PRESSURE_PSI "Pounds-force per square inch (PSI)"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "Celsius"
IDS_TEMPERATURE_FAHRENHEIT "Fahrenheit"
IDS_TEMPERATURE_KELVIN "Kelvin"
IDS_TEMPERATURE_RANKINE "Rankine"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "Dias"
IDS_TIME_HOURS "Horas"
IDS_TIME_NANOSECONDS "Nanosegundos"
IDS_TIME_MICROSECONDS "Microsegundos"
IDS_TIME_MILLISECONDS "Milisegundos"
IDS_TIME_MINUTES "Minutos"
IDS_TIME_SECONDS "Segundos"
IDS_TIME_WEEKS "Semanas"
IDS_TIME_YEARS "Anos"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "Centímetros/hora"
IDS_VELOCITY_FEET_HOUR "Pés/hora"
IDS_VELOCITY_FEET_SECOND "Pés/segundo"
IDS_VELOCITY_KILOMETERS_HOUR "Quilômetros/hora"
IDS_VELOCITY_KNOTS "Nós"
IDS_VELOCITY_MACH "Mach"
IDS_VELOCITY_METERS_SECOND "Metros/segundo"
IDS_VELOCITY_MILES_HOUR "Milhas/hora"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "Barris (UK)"
IDS_VOLUME_BARRELS_OIL "Barris de petróleo"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "Celemim (UK)"
IDS_VOLUME_BUSHELS_US "Celemim (EUA)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centímetros cúbicos"
IDS_VOLUME_CUBIC_FEET "Pés cúbicos"
IDS_VOLUME_CUBIC_INCHES "Polegadas cúbicas"
IDS_VOLUME_CUBIC_METERS "Metros cúbicos"
IDS_VOLUME_CUBIC_YARDS "Jardas cúbicas"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "Onças líquidas (UK)"
IDS_VOLUME_FLUID_OUNCES_US "Onças líquidas (EUA)"
IDS_VOLUME_GALLONS_UK "Galões (EUA)"
IDS_VOLUME_GALLONS_DRY_US "Galões secos (EUA)"
IDS_VOLUME_GALLONS_LIQUID_US "Galões líquidos (EUA)"
IDS_VOLUME_GOU "Gou"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "Litros"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "Milímetros"
IDS_VOLUME_PINTS_UK "Pintos (UK)"
IDS_VOLUME_PINTS_DRY_US "Pintos secos (EUA)"
IDS_VOLUME_PINTS_LIQUID_US "Pints líquidos (EUA)"
IDS_VOLUME_QUARTS_UK "Quartos (UK)"
IDS_VOLUME_QUARTS_DRY_US "Quartos secos (EUA)"
IDS_VOLUME_QUARTS_LIQUID_US "Quartos líquidos (EUA)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "To"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "Baht"
IDS_WEIGHT_CARATS "Quilate"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "Gramas"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "Jin (China)"
IDS_WEIGHT_JIN_TAIWAN "Jin (Taiwan)"
IDS_WEIGHT_KAN "Kan"
IDS_WEIGHT_KILOGRAMS "Quilogramas"
IDS_WEIGHT_KIN "Kin"
IDS_WEIGHT_LIANG_CHINA "Liang (China)"
IDS_WEIGHT_LIANG_TAIWAN "Liang (Taiwan)"
IDS_WEIGHT_MONME "Monme"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Onças avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Onças troy"
IDS_WEIGHT_POUNDS "Libras"
IDS_WEIGHT_QUINTAL_METRIC "Quintal (métrico)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Pedras"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Toneladas"
IDS_WEIGHT_TONS_UK "Toneladas (UK)"
IDS_WEIGHT_TONS_US "Toneladas (EUA)"
END

View File

@@ -1,4 +1,7 @@
/* TRANSLATOR: 2013-2014, 2016, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2013-2014, 2016, 2019 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -16,11 +19,11 @@ BEGIN
CONTROL "Sekizlik", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "İkilik", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Ters", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "ırı", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "İst", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ort", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
@@ -30,9 +33,9 @@ BEGIN
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ekle", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "DDS", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -60,13 +63,13 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BS", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BK", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BE", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -112,39 +115,39 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Veya", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sola", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ve", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ya da", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Değil", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Tam", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Dörtlü Sözcük", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "İkili Sözcük", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Sözcük", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "Bayt", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "Derece", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "Radyan", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradyan", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
CONTROL "Radian", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "Gradian", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sil", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -158,9 +161,9 @@ CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
PUSHBUTTON "Baştan", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sil", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Geri", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -197,7 +200,7 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Karekök", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
@@ -206,13 +209,13 @@ BEGIN
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "BS", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BG", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BK", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "BE", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
@@ -229,13 +232,13 @@ BEGIN
LTEXT "Kategori:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Şundan Dönüştür:", IDC_STATIC, 5, 49, 56, 8
LTEXT "Şundan dönüştür:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "Şuna Dönüştür:", IDC_STATIC, 5, 76, 56, 8
CONTROL "Baştan", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "Sil", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Geri", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
@@ -272,7 +275,7 @@ BEGIN
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Karekök", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
@@ -281,13 +284,13 @@ BEGIN
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "BS", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "BG", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "BK", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "BE", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
@@ -298,10 +301,10 @@ CAPTION "İstatistik Kutusu"
FONT 8, "MS Shell Dlg"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Geri Dön", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "&Yükle", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "&Sil", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "&Tümünü Sil", IDC_BUTTON_CAD, 124, 48, 36, 16
PUSHBUTTON "RET", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "LOAD", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "CD", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "CAD", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
@@ -586,7 +589,7 @@ STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "Dakikadaki İngiliz Isı Birimi"
IDS_POWER_FPS_PER_MINUTE "Dakikadaki ayak pond kuvveti"
IDS_POWER_HORSEPOWER "At gücü"
IDS_POWER_HORSEPOWER "Beygir gücü"
IDS_POWER_KILOWATTS "Kilovat"
IDS_POWER_MEGAWATTS "Megavat"
IDS_POWER_WATTS "Vat"

View File

@@ -0,0 +1,717 @@
/*
* PROJECT: ReactOS Calc
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Simplified) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "位元組", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體"
BEGIN
PUSHBUTTON "轉換", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "類別:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "從...轉換:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "轉換為:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "統計框"
FONT 9, "新細明體"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "載入", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "清除", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "全清", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "角度\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "弧度\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "梯度\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "位元組\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計數機", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "錯誤"
IDS_QUICKHELP "快速說明"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "ReactOS 計數機"
IDS_AUTHOR "作者 Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "角度"
IDS_CONV_AREA "面積"
IDS_CONV_CONSUMPTION "油耗(引擎)"
IDS_CONV_CURRENCY "貨幣"
IDS_CONV_ENERGY "能量"
IDS_CONV_LENGTH "長度"
IDS_CONV_POWER "功率"
IDS_CONV_PRESSURE "壓力"
IDS_CONV_TEMPERATURE "溫度"
IDS_CONV_TIME "時間"
IDS_CONV_VELOCITY "速度"
IDS_CONV_VOLUME "體積"
IDS_CONV_WEIGHT "質量"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "角分"
IDS_ANGLE_ARCSECONDS "角秒"
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "英畝"
IDS_AREA_ACRES_BRAZIL "英畝(巴西)"
IDS_AREA_ACRES_FRANCE "英畝(法國)"
IDS_AREA_ACRES_SCOTS "英畝(蘇格蘭)"
IDS_AREA_ACRES_US "英畝(美國)"
IDS_AREA_ARES "公畝"
IDS_AREA_CHOU "疇"
IDS_AREA_DANBO "大畝"
IDS_AREA_HECTARES "公頃"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "摩根(匈牙利)"
IDS_AREA_MU "畝"
IDS_AREA_PING "坪"
IDS_AREA_PYEONG "坪(韓國)"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "萊"
IDS_AREA_SE "畝(日本)"
IDS_AREA_SQUARE_CENTIMETERS "平方厘米"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "平方英尋"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英尋(匈牙利)"
IDS_AREA_SQUARE_FEET "平方英尺"
IDS_AREA_SQUARE_INCHES "平方英寸"
IDS_AREA_SQUARE_KILOMETERS "平方公里"
IDS_AREA_SQUARE_LAR "平方拉爾"
IDS_AREA_SQUARE_METER "平方米"
IDS_AREA_SQUARE_MILES "平方英里"
IDS_AREA_SQUARE_MILLIMETERS "平方毫米"
IDS_AREA_SQUARE_SHAKU "平方尺"
IDS_AREA_SQUARE_TSUEN "平方寸"
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "平方碼"
IDS_AREA_TAN "段"
IDS_AREA_TSUBO "坪(日本)"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "公里/升"
IDS_CONSUMPTION_L_PER_100_KM "升100 公里"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加侖(英國)"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加侖(美國)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "奥地利先令"
IDS_CURRENCY_BELGIAN_FRANC "比利時法郎"
IDS_CURRENCY_CYPRIOT_POUND "賽普勒斯鎊"
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
IDS_CURRENCY_DEUTSCHE_MARK "德國馬克"
IDS_CURRENCY_DUTCH_GUILDER "荷蘭盾"
IDS_CURRENCY_ESTONIAN_KROON "愛沙尼亞克朗"
IDS_CURRENCY_EURO "歐元"
IDS_CURRENCY_FINNISH_MARKKA "芬蘭馬克"
IDS_CURRENCY_FRENCH_FRANC "法郎"
IDS_CURRENCY_GREEK_DRACHMA "希臘德拉克馬"
IDS_CURRENCY_IRISH_POUND "愛爾蘭鎊"
IDS_CURRENCY_ITALIAN_LIRA "義大利里拉"
IDS_CURRENCY_LATVIAN_LATS "拉脫維亞拉特"
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯庫多"
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C 卡路里"
IDS_ENERGY_BTUS "英制熱量單位"
IDS_ENERGY_ERGS "爾格"
IDS_ENERGY_EVS "電子伏特"
IDS_ENERGY_FOOT_POUNDS "英尺-磅"
IDS_ENERGY_IT_CALORIES "國際蒸汽表卡路里"
IDS_ENERGY_IT_KILOCALORIES "國際蒸汽表千卡路里"
IDS_ENERGY_JOULES "焦耳"
IDS_ENERGY_KILOJOULES "千焦耳"
IDS_ENERGY_KILOWATT_HOURS "千瓦時"
IDS_ENERGY_NUTRITION_CALORIES "營養卡路里"
IDS_ENERGY_TH_CALORIES "熱化學卡路里"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "埃"
IDS_LENGTH_ASTRONOMICAL_UNITS "天文單位"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "釐米"
IDS_LENGTH_CHAINS_UK "鏈(英國)"
IDS_LENGTH_CHI "尺"
IDS_LENGTH_CHOU "疇"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "寸"
IDS_LENGTH_FATHOMS "英尋"
IDS_LENGTH_FATHOMS_HUNGARY "英尋(匈牙利)"
IDS_LENGTH_FEET "英尺"
IDS_LENGTH_FURLONGS "化朗"
IDS_LENGTH_GAN "杆"
IDS_LENGTH_HANDS "掌寬"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "英尺"
IDS_LENGTH_JA "尺(韓國)"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "公里"
IDS_LENGTH_LAR "拉爾"
IDS_LENGTH_LIGHT_YEARS "光年"
IDS_LENGTH_LINKS_UK "Links英國"
IDS_LENGTH_METERS "米"
IDS_LENGTH_MICRONS "微米"
IDS_LENGTH_MILES "英里"
IDS_LENGTH_MILLIMETERS "毫米"
IDS_LENGTH_NAUTICAL_MILES "海里"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "秒差距"
IDS_LENGTH_PICAS "派卡"
IDS_LENGTH_RI_JAPAN "里(日本)"
IDS_LENGTH_RI_KOREA "里(韓國)"
IDS_LENGTH_RODS "杆"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "尺(日本)"
IDS_LENGTH_SPAN "拃"
IDS_LENGTH_SUN "寸(日本)"
IDS_LENGTH_TSUEN "寸"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "碼"
IDS_LENGTH_YOTE "約特"
IDS_LENGTH_ZHANG "丈"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "英制熱量單位每分鐘"
IDS_POWER_FPS_PER_MINUTE "英尺-磅每分鐘"
IDS_POWER_HORSEPOWER "馬力"
IDS_POWER_KILOWATTS "千瓦"
IDS_POWER_MEGAWATTS "兆瓦"
IDS_POWER_WATTS "瓦"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "大氣壓"
IDS_PRESSURE_BARS "巴"
IDS_PRESSURE_HECTOPASCALS "百帕"
IDS_PRESSURE_KILOPASCALS "千帕"
IDS_PRESSURE_MM_OF_MERCURY "毫米汞柱"
IDS_PRESSURE_PASCALS "帕斯卡"
IDS_PRESSURE_PSI "英磅-力每平方英尺"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "攝氏度"
IDS_TEMPERATURE_FAHRENHEIT "華氏度"
IDS_TEMPERATURE_KELVIN "開爾文"
IDS_TEMPERATURE_RANKINE "蘭金度"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "日"
IDS_TIME_HOURS "小時"
IDS_TIME_NANOSECONDS "納秒"
IDS_TIME_MICROSECONDS "微秒"
IDS_TIME_MILLISECONDS "毫秒"
IDS_TIME_MINUTES "分"
IDS_TIME_SECONDS "秒"
IDS_TIME_WEEKS "周"
IDS_TIME_YEARS "年"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "厘米/小時"
IDS_VELOCITY_FEET_HOUR "英尺/小時"
IDS_VELOCITY_FEET_SECOND "英尺/秒"
IDS_VELOCITY_KILOMETERS_HOUR "公里/小時"
IDS_VELOCITY_KNOTS "節"
IDS_VELOCITY_MACH "馬赫"
IDS_VELOCITY_METERS_SECOND "米/秒"
IDS_VELOCITY_MILES_HOUR "英里/小時"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "桶(英國)"
IDS_VOLUME_BARRELS_OIL "桶油"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "蒲式耳(英國)"
IDS_VOLUME_BUSHELS_US "蒲式耳(美國)"
IDS_VOLUME_CUBIC_CENTIMETERS "立方釐米"
IDS_VOLUME_CUBIC_FEET "立方英尺"
IDS_VOLUME_CUBIC_INCHES "立方英寸"
IDS_VOLUME_CUBIC_METERS "立方米"
IDS_VOLUME_CUBIC_YARDS "立方碼"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "液安士(英國)"
IDS_VOLUME_FLUID_OUNCES_US "液安士(美國)"
IDS_VOLUME_GALLONS_UK "加侖(英國)"
IDS_VOLUME_GALLONS_DRY_US "乾量加侖(美國)"
IDS_VOLUME_GALLONS_LIQUID_US "濕量加侖(美國)"
IDS_VOLUME_GOU "合"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "升"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "毫升"
IDS_VOLUME_PINTS_UK "品脱(英國)"
IDS_VOLUME_PINTS_DRY_US "乾量品脱(美國)"
IDS_VOLUME_PINTS_LIQUID_US "濕量品脱(美國)"
IDS_VOLUME_QUARTS_UK "夸脫(英國)"
IDS_VOLUME_QUARTS_DRY_US "乾量夸脫(美國)"
IDS_VOLUME_QUARTS_LIQUID_US "濕量夸脫(美國)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "斗(日本)"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "銖"
IDS_WEIGHT_CARATS "克拉"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "克"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "斤(中國)"
IDS_WEIGHT_JIN_TAIWAN "斤(台灣)"
IDS_WEIGHT_KAN "貫(日本)"
IDS_WEIGHT_KILOGRAMS "千克"
IDS_WEIGHT_KIN "斤(日本)"
IDS_WEIGHT_LIANG_CHINA "兩(中國)"
IDS_WEIGHT_LIANG_TAIWAN "兩(台灣)"
IDS_WEIGHT_MONME "兩(日本)"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡安士"
IDS_WEIGHT_OUNCES_TROY "金衡安士"
IDS_WEIGHT_POUNDS "英磅"
IDS_WEIGHT_QUINTAL_METRIC "公擔"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "石"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "噸"
IDS_WEIGHT_TONS_UK "噸(英國)"
IDS_WEIGHT_TONS_US "噸(美國)"
END

View File

@@ -0,0 +1,711 @@
// Traditional Chinese translation by 2021 Chan Chilung <eason066@gmail.com>
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_SCIENTIFIC_1
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
GROUPBOX "", IDC_STATIC, 5 ,14, 141, 20
CONTROL "Hex", IDC_RADIO_HEX, "Button", BS_AUTORADIOBUTTON, 8, 21, 30, 10
CONTROL "Dec", IDC_RADIO_DEC, "Button", BS_AUTORADIOBUTTON, 41, 21, 30, 10
CONTROL "Oct", IDC_RADIO_OCT, "Button", BS_AUTORADIOBUTTON, 74, 21, 30, 10
CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10
GROUPBOX "", IDC_STATIC, 5, 34, 84, 20
CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10
CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10
CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Ave", IDC_BUTTON_AVE, 5, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sum", IDC_BUTTON_SUM, 5, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "s", IDC_BUTTON_S, 5, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Dat", IDC_BUTTON_DAT, 5, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | WS_DISABLED | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F-E", IDC_BUTTON_FE, 38, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "dms", IDC_BUTTON_DMS, 38, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "sin", IDC_BUTTON_SIN, 38, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "cos", IDC_BUTTON_COS, 38, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "tan", IDC_BUTTON_TAN, 38, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "(", IDC_BUTTON_LEFTPAR, 64, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Exp", IDC_BUTTON_EXP, 64, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^y", IDC_BUTTON_XeY, 64, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^2", IDC_BUTTON_Xe2, 64, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "x^3", IDC_BUTTON_Xe3, 64, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ")", IDC_BUTTON_RIGHTPAR, 90, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "ln", IDC_BUTTON_LN, 90, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "log", IDC_BUTTON_LOG, 90, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "n!", IDC_BUTTON_NF, 90, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 90, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MC", IDC_BUTTON_MC, 123, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 123, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 123, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 123, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "pi", IDC_BUTTON_PI, 123, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "7", IDC_BUTTON_7, 156, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 156, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 156, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 156, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "A", IDC_BUTTON_A, 156, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 182, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 182, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 182, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 182, 120, 24, 18,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "B", IDC_BUTTON_B, 182, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 208, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 208, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 208, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 208, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "C", IDC_BUTTON_C, 208, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 234, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 234, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 234, 100, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 234, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "D", IDC_BUTTON_D, 234, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Mod", IDC_BUTTON_MOD, 260, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Or", IDC_BUTTON_OR, 260, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Lsh", IDC_BUTTON_LSH, 260, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 260, 120, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "E", IDC_BUTTON_E, 260, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "And", IDC_BUTTON_AND, 286, 60, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Xor", IDC_BUTTON_XOR, 286, 80, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Not", IDC_BUTTON_NOT, 286, 100, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Int", IDC_BUTTON_INT, 286, 120, 24, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "F", IDC_BUTTON_F, 286, 140, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
GROUPBOX "", IDC_STATIC, 147, 14, 163, 20
CONTROL "Qword", IDC_RADIO_QWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 150, 21, 38, 10
CONTROL "Dword", IDC_RADIO_DWORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 190, 21, 38, 10
CONTROL "Word", IDC_RADIO_WORD, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 230, 21, 38, 10
CONTROL "位元組", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON |
NOT WS_VISIBLE, 270, 21, 38, 10
CONTROL "角度", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10
CONTROL "弧度", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10
CONTROL "梯度", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10
PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體", 0, 0, 0x1
BEGIN
PUSHBUTTON "C", IDC_BUTTON_CANC, 123, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Back", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "4", IDC_BUTTON_4, 36, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1", IDC_BUTTON_1, 36, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "0", IDC_BUTTON_0, 36, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "8", IDC_BUTTON_8, 62, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "5", IDC_BUTTON_5, 62, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "2", IDC_BUTTON_2, 62, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+/-", IDC_BUTTON_SIGN, 62, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "9", IDC_BUTTON_9, 88, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "6", IDC_BUTTON_6, 88, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "3", IDC_BUTTON_3, 88, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON ",", IDC_BUTTON_DOT, 88, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "/", IDC_BUTTON_DIV, 114, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "*", IDC_BUTTON_MULT, 114, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "-", IDC_BUTTON_SUB, 114, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "+", IDC_BUTTON_ADD, 114, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Sqrt", IDC_BUTTON_SQRT, 140, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "%", IDC_BUTTON_PERCENT, 140, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "1/x", IDC_BUTTON_RX, 140, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "=", IDC_BUTTON_EQU, 140, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
CTEXT "", IDC_TEXT_MEMORY, 8, 24, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "MC", IDC_BUTTON_MC, 5, 45, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MR", IDC_BUTTON_MR, 5, 65, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "MS", IDC_BUTTON_MS, 5, 85, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "M+", IDC_BUTTON_MP, 5, 105, 24, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD
FONT 9, "新細明體"
BEGIN
PUSHBUTTON "轉換", IDC_BUTTON_CONVERT, 35, 105, 76, 17
COMBOBOX IDC_COMBO_CATEGORY, 5, 31, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "類別:", IDC_STATIC, 5, 20, 56, 8
COMBOBOX IDC_COMBO_FROM, 5, 60, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "從...轉換:", IDC_STATIC, 5, 49, 56, 8
COMBOBOX IDC_COMBO_TO, 5, 87, 140, 168, CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP | CBS_SORT
LTEXT "轉換為:", IDC_STATIC, 5, 76, 56, 8
CONTROL "C", IDC_BUTTON_CANC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 48, 24, 18
CONTROL "4", IDC_BUTTON_4, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 67, 24, 18
CONTROL "1", IDC_BUTTON_1, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 86, 24, 18
CONTROL "0", IDC_BUTTON_0, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 105, 24, 18
CONTROL "8", IDC_BUTTON_8, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 48, 24, 18
CONTROL "5", IDC_BUTTON_5, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 67, 24, 18
CONTROL "2", IDC_BUTTON_2, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 86, 24, 18
CONTROL "+/-", IDC_BUTTON_SIGN, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 214, 105, 24, 18
CONTROL "9", IDC_BUTTON_9, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 48, 24, 18
CONTROL "6", IDC_BUTTON_6, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 67, 24, 18
CONTROL "3", IDC_BUTTON_3, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 86, 24, 18
CONTROL ",", IDC_BUTTON_DOT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 240, 105, 24, 18
CONTROL "/", IDC_BUTTON_DIV, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 48, 24, 18
CONTROL "*", IDC_BUTTON_MULT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 67, 24, 18
CONTROL "-", IDC_BUTTON_SUB, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 86, 24, 18
CONTROL "+", IDC_BUTTON_ADD, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 266, 105, 24, 18
CONTROL "Sqrt", IDC_BUTTON_SQRT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 48, 24, 18
CONTROL "%", IDC_BUTTON_PERCENT, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 67, 24, 18
CONTROL "1/x", IDC_BUTTON_RX, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 86, 24, 18
CONTROL "=", IDC_BUTTON_EQU, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 292, 105, 24, 18
CTEXT "", IDC_TEXT_MEMORY, 152, 24, 24, 18, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "MC", IDC_BUTTON_MC, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 48, 24, 18
CONTROL "MR", IDC_BUTTON_MR, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 67, 24, 18
CONTROL "MS", IDC_BUTTON_MS, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 86, 24, 18
CONTROL "M+", IDC_BUTTON_MP, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 152, 105, 24, 18
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STAT DIALOGEX 0, 0, 163, 85
STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "統計框"
FONT 9, "新細明體"
BEGIN
LISTBOX IDC_LIST_STAT, 4, 4, 156, 40, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "返回", IDC_BUTTON_RET, 4, 48, 36, 16
PUSHBUTTON "載入", IDC_BUTTON_LOAD, 44, 48, 36, 16
PUSHBUTTON "清除", IDC_BUTTON_CD, 84, 48, 36, 16
PUSHBUTTON "全清", IDC_BUTTON_CAD, 124, 48, 36, 16
CTEXT "n=0", IDC_TEXT_NITEMS, 4, 68, 156, 12, SS_CENTERIMAGE | SS_SUNKEN
END
/* Menus */
IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "角度\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "弧度\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "梯度\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
END
END
IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "十六進制\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "十進制\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "八進制\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "二進制\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "Qword\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "Dword\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "位元組\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
END
END
IDR_MENU_STANDARD MENU
BEGIN
POPUP "編輯"
BEGIN
MENUITEM "複製\tCtrl+C", IDM_EDIT_COPY
MENUITEM "貼上\tCtrl+V", IDM_EDIT_PASTE
END
POPUP "查看"
BEGIN
MENUITEM "標準型", IDM_VIEW_STANDARD
MENUITEM "工程型", IDM_VIEW_SCIENTIFIC
MENUITEM "轉換", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "數字分組", IDM_VIEW_GROUP, CHECKED
END
POPUP "說明"
BEGIN
MENUITEM "說明主題", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "關於 ReactOS 計算機", IDM_HELP_ABOUT
END
END
/* String Tables */
STRINGTABLE
BEGIN
IDS_MATH_ERROR "錯誤"
IDS_QUICKHELP "快速說明"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "ReactOS 計算機"
IDS_AUTHOR "作者 Carlo Bramini"
END
/* Types of conversion */
STRINGTABLE
BEGIN
IDS_CONV_ANGLE "角度"
IDS_CONV_AREA "面積"
IDS_CONV_CONSUMPTION "油耗 (引擎)"
IDS_CONV_CURRENCY "貨幣"
IDS_CONV_ENERGY "能量"
IDS_CONV_LENGTH "長度"
IDS_CONV_POWER "功率"
IDS_CONV_PRESSURE "壓力"
IDS_CONV_TEMPERATURE "溫度"
IDS_CONV_TIME "時間"
IDS_CONV_VELOCITY "速度"
IDS_CONV_VOLUME "體積"
IDS_CONV_WEIGHT "質量"
END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "角分"
IDS_ANGLE_ARCSECONDS "角秒"
IDS_ANGLE_DEGREES "角度"
IDS_ANGLE_GRADIANS "梯度"
IDS_ANGLE_RADIANS "弧度"
END
/* Areas */
STRINGTABLE
BEGIN
IDS_AREA_ACRES "英畝"
IDS_AREA_ACRES_BRAZIL "英畝 (巴西)"
IDS_AREA_ACRES_FRANCE "英畝 (法國)"
IDS_AREA_ACRES_SCOTS "英畝 (蘇格蘭)"
IDS_AREA_ACRES_US "英畝 (美國)"
IDS_AREA_ARES "公畝"
IDS_AREA_CHOU "疇"
IDS_AREA_DANBO "大畝"
IDS_AREA_HECTARES "公頃"
IDS_AREA_JEONGBO "Jeongbo"
IDS_AREA_MORGEN_HUNGARY "摩根 (匈牙利)"
IDS_AREA_MU "畝"
IDS_AREA_PING "坪"
IDS_AREA_PYEONG "坪 (韓國)"
IDS_AREA_PYEONGBANGJA "Pyeongbangja"
IDS_AREA_RAI "萊"
IDS_AREA_SE "畝 (日本)"
IDS_AREA_SQUARE_CENTIMETERS "平方釐米"
IDS_AREA_SQUARE_CHR "Square chr"
IDS_AREA_SQUARE_FATHOMS "平方英尋"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "平方英尋 (匈牙利)"
IDS_AREA_SQUARE_FEET "平方英尺"
IDS_AREA_SQUARE_INCHES "平方英寸"
IDS_AREA_SQUARE_KILOMETERS "平方公里"
IDS_AREA_SQUARE_LAR "平方拉爾"
IDS_AREA_SQUARE_METER "平方米"
IDS_AREA_SQUARE_MILES "平方英里"
IDS_AREA_SQUARE_MILLIMETERS "平方毫米"
IDS_AREA_SQUARE_SHAKU "平方尺"
IDS_AREA_SQUARE_TSUEN "平方寸"
IDS_AREA_SQUARE_VA "Square va"
IDS_AREA_SQUARE_YARD "平方碼"
IDS_AREA_TAN "段"
IDS_AREA_TSUBO "坪 (日本)"
END
/* Consumptions */
STRINGTABLE
BEGIN
IDS_CONSUMPTION_KM_PER_L "公里/升"
IDS_CONSUMPTION_L_PER_100_KM "升/100 公里"
IDS_CONSUMPTION_MILES_GALLON_UK "英里/加侖 (英國)"
IDS_CONSUMPTION_MILES_GALLON_US "英里/加侖 (美國)"
END
/* Currencies */
STRINGTABLE
BEGIN
IDS_CURRENCY_AUSTRIAN_SCHILLING "奥地利先令"
IDS_CURRENCY_BELGIAN_FRANC "比利時法郎"
IDS_CURRENCY_CYPRIOT_POUND "賽普勒斯鎊"
IDS_CURRENCY_CZECH_KORUNA "捷克克朗"
IDS_CURRENCY_DEUTSCHE_MARK "德國馬克"
IDS_CURRENCY_DUTCH_GUILDER "荷蘭盾"
IDS_CURRENCY_ESTONIAN_KROON "愛沙尼亞克朗"
IDS_CURRENCY_EURO "歐元"
IDS_CURRENCY_FINNISH_MARKKA "芬蘭馬克"
IDS_CURRENCY_FRENCH_FRANC "法郎"
IDS_CURRENCY_GREEK_DRACHMA "希臘德拉克馬"
IDS_CURRENCY_IRISH_POUND "愛爾蘭鎊"
IDS_CURRENCY_ITALIAN_LIRA "義大利里拉"
IDS_CURRENCY_LATVIAN_LATS "拉脫維亞拉特"
IDS_CURRENCY_LITHUANIAN_LITAS "拉脫維亞拉分"
IDS_CURRENCY_LUXEMBOURG_FRANC "盧森堡法郎"
IDS_CURRENCY_MALTESE_LIRA "馬爾他里拉"
IDS_CURRENCY_PORTOGUESE_ESCUDO "葡萄牙埃斯庫多"
IDS_CURRENCY_SLOVAK_KORUNA "斯洛伐克克朗"
IDS_CURRENCY_SLOVENIAN_TOLAR "斯洛維尼亞拖拉"
IDS_CURRENCY_SPANISH_PESETA "西班牙比塞塔"
END
/* Energies */
STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "15 °C 卡路里"
IDS_ENERGY_BTUS "英制熱量單位"
IDS_ENERGY_ERGS "爾格"
IDS_ENERGY_EVS "電子伏特"
IDS_ENERGY_FOOT_POUNDS "英尺-磅"
IDS_ENERGY_IT_CALORIES "國際蒸汽表卡路里"
IDS_ENERGY_IT_KILOCALORIES "國際蒸汽表千卡路里"
IDS_ENERGY_JOULES "焦耳"
IDS_ENERGY_KILOJOULES "千焦耳"
IDS_ENERGY_KILOWATT_HOURS "千瓦時"
IDS_ENERGY_NUTRITION_CALORIES "營養卡路里"
IDS_ENERGY_TH_CALORIES "熱化學卡路里"
END
/* Lengths */
STRINGTABLE
BEGIN
IDS_LENGTH_ANGSTROMS "埃"
IDS_LENGTH_ASTRONOMICAL_UNITS "天文單位"
IDS_LENGTH_BARLEYCORNS "Barleycorns"
IDS_LENGTH_CENTIMETERS "釐米"
IDS_LENGTH_CHAINS_UK "鏈 (英國)"
IDS_LENGTH_CHI "尺"
IDS_LENGTH_CHOU "疇"
IDS_LENGTH_CHR "Chr"
IDS_LENGTH_CUN "寸"
IDS_LENGTH_FATHOMS "英尋"
IDS_LENGTH_FATHOMS_HUNGARY "英尋 (匈牙利)"
IDS_LENGTH_FEET "英尺"
IDS_LENGTH_FURLONGS "化朗"
IDS_LENGTH_GAN "杆"
IDS_LENGTH_HANDS "掌寬"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "英尺"
IDS_LENGTH_JA "尺 (韓國)"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
IDS_LENGTH_KEN "Ken"
IDS_LENGTH_KEUB "Keub"
IDS_LENGTH_KILOMETERS "公里"
IDS_LENGTH_LAR "拉爾"
IDS_LENGTH_LIGHT_YEARS "光年"
IDS_LENGTH_LINKS_UK "Links (英國)"
IDS_LENGTH_METERS "米"
IDS_LENGTH_MICRONS "微米"
IDS_LENGTH_MILES "英里"
IDS_LENGTH_MILLIMETERS "毫米"
IDS_LENGTH_NAUTICAL_MILES "海里"
IDS_LENGTH_NIEU "Nieu"
IDS_LENGTH_PARSECS "秒差距"
IDS_LENGTH_PICAS "派卡"
IDS_LENGTH_RI_JAPAN "里 (日本)"
IDS_LENGTH_RI_KOREA "里 (韓國)"
IDS_LENGTH_RODS "杆"
IDS_LENGTH_SAWK "Sawk"
IDS_LENGTH_SEN "Sen"
IDS_LENGTH_SHAKU "尺 (日本)"
IDS_LENGTH_SPAN "拃"
IDS_LENGTH_SUN "寸 (日本)"
IDS_LENGTH_TSUEN "寸"
IDS_LENGTH_VA "Va"
IDS_LENGTH_YARDS "碼"
IDS_LENGTH_YOTE "約特"
IDS_LENGTH_ZHANG "丈"
END
/* Powers */
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "英制熱量單位每分鐘"
IDS_POWER_FPS_PER_MINUTE "英尺-磅每分鐘"
IDS_POWER_HORSEPOWER "馬力"
IDS_POWER_KILOWATTS "千瓦"
IDS_POWER_MEGAWATTS "兆瓦"
IDS_POWER_WATTS "瓦"
END
/* Pressures */
STRINGTABLE
BEGIN
IDS_PRESSURE_ATMOSPHERES "大氣壓"
IDS_PRESSURE_BARS "巴"
IDS_PRESSURE_HECTOPASCALS "百帕"
IDS_PRESSURE_KILOPASCALS "千帕"
IDS_PRESSURE_MM_OF_MERCURY "毫米汞柱"
IDS_PRESSURE_PASCALS "帕斯卡"
IDS_PRESSURE_PSI "英磅-力每平方英尺"
END
/* Temperatures */
STRINGTABLE
BEGIN
IDS_TEMPERATURE_CELSIUS "攝氏度"
IDS_TEMPERATURE_FAHRENHEIT "華氏度"
IDS_TEMPERATURE_KELVIN "開爾文"
IDS_TEMPERATURE_RANKINE "蘭金度"
END
/* Time */
STRINGTABLE
BEGIN
IDS_TIME_DAYS "日"
IDS_TIME_HOURS "小時"
IDS_TIME_NANOSECONDS "納秒"
IDS_TIME_MICROSECONDS "微秒"
IDS_TIME_MILLISECONDS "毫秒"
IDS_TIME_MINUTES "分"
IDS_TIME_SECONDS "秒"
IDS_TIME_WEEKS "周"
IDS_TIME_YEARS "年"
END
/* Velocities */
STRINGTABLE
BEGIN
IDS_VELOCITY_CMS_SECOND "釐米/小時"
IDS_VELOCITY_FEET_HOUR "英尺/小時"
IDS_VELOCITY_FEET_SECOND "英尺/秒"
IDS_VELOCITY_KILOMETERS_HOUR "公里/小時"
IDS_VELOCITY_KNOTS "節"
IDS_VELOCITY_MACH "馬赫"
IDS_VELOCITY_METERS_SECOND "米/秒"
IDS_VELOCITY_MILES_HOUR "英里/小時"
END
/* Volumes */
STRINGTABLE
BEGIN
IDS_VOLUME_BARRELS_UK "桶 (英國)"
IDS_VOLUME_BARRELS_OIL "桶油"
IDS_VOLUME_BUN "Bun"
IDS_VOLUME_BUSHELS_UK "蒲式耳 (英國)"
IDS_VOLUME_BUSHELS_US "蒲式耳 (美國)"
IDS_VOLUME_CUBIC_CENTIMETERS "立方釐米"
IDS_VOLUME_CUBIC_FEET "立方英尺"
IDS_VOLUME_CUBIC_INCHES "立方英寸"
IDS_VOLUME_CUBIC_METERS "立方米"
IDS_VOLUME_CUBIC_YARDS "立方碼"
IDS_VOLUME_DOE "Doe"
IDS_VOLUME_FLUID_OUNCES_UK "液盎司 (英國)"
IDS_VOLUME_FLUID_OUNCES_US "液盎司 (美國)"
IDS_VOLUME_GALLONS_UK "加侖 (英國)"
IDS_VOLUME_GALLONS_DRY_US "乾量加侖 (美國)"
IDS_VOLUME_GALLONS_LIQUID_US "濕量加侖 (美國)"
IDS_VOLUME_GOU "合"
IDS_VOLUME_HOP "Hop"
IDS_VOLUME_ICCE "Icce"
IDS_VOLUME_KWIAN "Kwian"
IDS_VOLUME_LITERS "升"
IDS_VOLUME_MAL "Mal"
IDS_VOLUME_MILLILITERS "毫升"
IDS_VOLUME_PINTS_UK "品脱 (英國)"
IDS_VOLUME_PINTS_DRY_US "乾量品脱 (美國)"
IDS_VOLUME_PINTS_LIQUID_US "濕量品脱 (美國)"
IDS_VOLUME_QUARTS_UK "夸脫 (英國)"
IDS_VOLUME_QUARTS_DRY_US "乾量夸脫 (美國)"
IDS_VOLUME_QUARTS_LIQUID_US "濕量夸脫 (美國)"
IDS_VOLUME_SEKI "Seki"
IDS_VOLUME_SYOU "Syou"
IDS_VOLUME_TANANLOUNG "Tananloung"
IDS_VOLUME_TANG "Tang"
IDS_VOLUME_TO "斗 (日本)"
END
/* Weights */
STRINGTABLE
BEGIN
IDS_WEIGHT_BAHT "銖"
IDS_WEIGHT_CARATS "克拉"
IDS_WEIGHT_CHUNG "Chung"
IDS_WEIGHT_DON "Don"
IDS_WEIGHT_GEUN "Geun"
IDS_WEIGHT_GRAMS "克"
IDS_WEIGHT_GWAN "Gwan"
IDS_WEIGHT_HARB "Harb"
IDS_WEIGHT_JIN_CHINA "斤 (中國)"
IDS_WEIGHT_JIN_TAIWAN "斤 (臺灣)"
IDS_WEIGHT_KAN "貫 (日本)"
IDS_WEIGHT_KILOGRAMS "千克"
IDS_WEIGHT_KIN "斤 (日本)"
IDS_WEIGHT_LIANG_CHINA "兩 (中國)"
IDS_WEIGHT_LIANG_TAIWAN "兩 (臺灣)"
IDS_WEIGHT_MONME "兩 (日本)"
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "常衡盎司"
IDS_WEIGHT_OUNCES_TROY "金衡盎司"
IDS_WEIGHT_POUNDS "英磅"
IDS_WEIGHT_QUINTAL_METRIC "公擔"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "石"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "噸"
IDS_WEIGHT_TONS_UK "噸 (英國)"
IDS_WEIGHT_TONS_US "噸 (美國)"
END

View File

@@ -84,6 +84,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
@@ -111,3 +114,9 @@ IDI_CALC ICON DISCARDABLE "res/calc.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -133,7 +133,7 @@
* "DOT" function can be used for starting a number (integer part will be zero).
* Added repeat function.
* If the number is greater than maximum resolution, it will be displayed with exponential notation.
* Removed mouse and keyboard focuses from displayed buttons.
* Removed mouse and keyboard focuses from displayed buttons.
* Added normal and small icons.
1.00 (20070323)

View File

@@ -852,7 +852,7 @@ static void update_memory_flag(HWND hWnd, BOOL mem_flag)
static void update_n_stats_items(HWND hWnd, TCHAR *buffer)
{
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
_stprintf(buffer, _T("n=%u"), n);
SetDlgItemText(hWnd, IDC_TEXT_NITEMS, buffer);
@@ -1211,7 +1211,7 @@ static void handle_context_menu(HWND hWnd, WPARAM wp, LPARAM lp)
#else
(void)idm;
#endif
}
}
static void run_canc(calc_number_t *c)
{

View File

@@ -47,7 +47,7 @@ FillCharacterSetComboList(HWND hwndCombo)
if (GetCPInfoExW(codePages[i], 0, &cpInfo))
{
trimmedName = wcschr(cpInfo.CodePageName, L'(');
if (!trimmedName)
if (!trimmedName)
trimmedName = cpInfo.CodePageName;
SendMessageW(hwndCombo,
@@ -678,7 +678,7 @@ wWinMain(HINSTANCE hInst,
MSG Msg;
hInstance = hInst;
/* Mirroring code for the titlebar */
switch (GetUserDefaultUILanguage())
{

View File

@@ -99,6 +99,9 @@ IDI_ICON ICON "res/charmap.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/

View File

@@ -1,4 +1,7 @@
/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net) */
/* TRANSLATOR:
2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -12,7 +15,7 @@ BEGIN
PUSHBUTTON "Yardım", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "Çoğaltılacak Damgalar:", IDC_STATIC, 6, 188, 66, 9
LTEXT "Çoğaltılacak Karakterler:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "Seç", IDC_SELECT, 194, 186, 44, 13
@@ -25,23 +28,23 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Damga Öbeği:", IDC_STATIC, 8, 8, 48, 8
LTEXT "Karakter Yığını:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Takımla:", IDC_STATIC, 8, 28, 50, 8
LTEXT "Gruplandır:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Ara", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "Ada Göre Ara:", IDC_STATIC, 8, 48, 42, 8
LTEXT "Evrenlik Kod:", IDC_STATIC, 200, 8, 30, 8
LTEXT "&Unicode:", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
IDD_ABOUTBOX DIALOGEX 22, 16, 210, 182
CAPTION "Damga Eşlemi Üzerine"
CAPTION "Karakter Seçici Hakkında"
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Damga Eşlemi - Sürüm: 0.1\nTelif Hakkı: 2007 - Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
LTEXT "Karakter Seçici - Sürüm: 0.1\nTelif Hakkı: 2007 - Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
PUSHBUTTON "Tamam", IDOK, 75, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL |
@@ -50,9 +53,9 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmî olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu izlence özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Umûmî Kamu Ruhsatı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (Orası size bağlı.) şartları altında yeniden dağıtabilir veyâ değiştirebilirsiniz.\r\n\r\nBu izlence, kullanışlı olabileceği beklentisiyle dağıtılmıştır ancak bu izlencenin HİÇBİR GÜVENCESİ YOKTUR, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN demek istenilen güvencesi bile. Daha çok bilgi için GNU Umûmî Kamu Ruhsatı'na bakınız.\r\n\r\nBu izlenceyle birlikte GNU Umûmî Kamu Ruhsatı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "&Üzerine..."
IDS_TITLE "Damga Eşlemi"
IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmi olmayan çevirisidir. Çeviri metniyle özgün metin arasında farklar olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu program özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Genel Kamu Lisansı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (seçiminize bağlı olarak.) şartları altında yeniden dağıtabilir veya değiştirebilirsiniz.\r\n\r\nBu program, kullanışlı olabileceği beklentisiyle dağıtılmıştır; ancak, bu program HİÇBİR GÜVENCE VEREMEZ, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN güvencesi de verilemez. Daha çok bilgi için GNU Genel Kamu Lisansı'na bakınız.\r\n\r\nBu programla birlikte GNU Genel Kamu Lisansı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "&Hakkında..."
IDS_TITLE "Karakter Seçici"
IDS_UNICODE "Unicode"
IDS_ALL "All"
IDS_ALL "Hepsi"
END

View File

@@ -0,0 +1,64 @@
/*
* PROJECT: ReactOS Character Map
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE
BEGIN
LTEXT "字型:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
PUSHBUTTON "説明", IDC_CMHELP, 249, 5, 35, 13
CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP |
WS_VSCROLL, 20, 22, 266, 156
LTEXT "待複製字元:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "選擇", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "複製", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
CONTROL "進階檢視", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
WS_TABSTOP, 8, 208, 95, 10
END
IDD_ADVANCED DIALOGEX 0, 0, 292, 64
STYLE DS_SHELLFONT | WS_CHILD
FONT 9, "新細明體"
BEGIN
LTEXT "字元集:", IDC_STATIC, 8, 8, 48, 8
COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "分組:", IDC_STATIC, 8, 28, 50, 8
COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "搜尋", IDC_BUTTON_SEARCH, 200, 44, 50, 14
EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL
LTEXT "搜尋目標:", IDC_STATIC, 8, 48, 42, 8
LTEXT "到 Unicode", IDC_STATIC, 200, 8, 30, 8
EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL
END
IDD_ABOUTBOX DIALOGEX 22, 16, 210, 182
CAPTION "關於字元對應表"
FONT 9, "新細明體", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "字元對應表 v0.1\nCopyright (C) 2007 Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36
PUSHBUTTON "關閉", IDOK, 75, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL |
WS_TABSTOP | ES_READONLY | ES_MULTILINE
END
STRINGTABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_ABOUT "關於(&A)..."
IDS_TITLE "字元對應表"
IDS_UNICODE "Unicode"
IDS_ALL "All"
END

View File

@@ -56,7 +56,7 @@ END
STRINGTABLE
BEGIN
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
IDS_LICENSE "本程式為自由軟體,在自由軟體聯盟發佈的 GNU 通用公共授權合約的約束下,你可以對其進行再發佈及修改,協議版本為第二版或(隨你)更新的版本。\r\n\r\n我們希望發佈的這款程式有用但不保證甚至不保證它有經濟價值和適合特定用途。詳情參見GNU通用公共授權合約。\r\n\r\n你理當已收到一份GNU通用公共授權合約的副本如果沒有請填寫郵件到 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA"
IDS_ABOUT "關於(&A)..."
IDS_TITLE "字元對應表"
IDS_UNICODE "Unicode"

View File

@@ -276,7 +276,7 @@ SetFont(PMAP infoPtr,
NULL,
TRUE);
if (infoPtr->pActiveCell)
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = &infoPtr->Cells[0][0];
infoPtr->pActiveCell->bActive = TRUE;
@@ -357,7 +357,7 @@ OnClick(PMAP infoPtr,
* Find the cell the mouse pointer is over.
* Since each cell is the same size, this can be done quickly using CellSize.
* Clamp to XCELLS - 1 and YCELLS - 1 because the map can sometimes be slightly
* larger than infoPtr.CellSize * XCELLS , due to the map size being a non integer
* larger than infoPtr.CellSize * XCELLS , due to the map size being a non integer
* multiple of infoPtr.CellSize .
*/
x = min(XCELLS - 1, ptx / max(1, infoPtr->CellSize.cx));
@@ -367,7 +367,7 @@ OnClick(PMAP infoPtr,
i = XCELLS * infoPtr->iYStart + y * XCELLS + x;
if (i >= infoPtr->NumValidGlyphs)
{
if (infoPtr->pActiveCell)
if (infoPtr->pActiveCell)
infoPtr->pActiveCell->bActive = FALSE;
infoPtr->pActiveCell = NULL;
return;
@@ -507,11 +507,11 @@ OnVScroll(PMAP infoPtr,
/* Invalidate the rect around the active cell since a new cell will become active */
if (infoPtr->pActiveCell && infoPtr->pActiveCell->bActive)
{
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellExt,
InvalidateRect(infoPtr->hMapWnd,
&infoPtr->pActiveCell->CellExt,
TRUE);
}
GetClientRect(infoPtr->hMapWnd, &rect);
rect.top += 2;
rect.bottom -= 2;
@@ -630,7 +630,7 @@ MapWndProc(HWND hwnd,
case WM_LBUTTONDBLCLK:
{
if (!infoPtr->pActiveCell)
if (!infoPtr->pActiveCell)
break;
NotifyParentOfSelection(infoPtr,

View File

@@ -26,7 +26,7 @@
#define FM_SETCHARMAP (WM_USER + 5)
// the code pages to display in the advanced 'character set' combobox
static const UINT codePages[] = {
static const UINT codePages[] = {
864, 775, 863, 855, 737, 856, 862, 861, 852, 869, 850, 858, 865, 860, 866, 857, 437, // OEM code pages
1256, 1257, 1250, 1251, 1253, 1255, 932, 949, 1252, 936, 874, 950, 1254, 1258 // ANSI code pages
};

View File

@@ -155,7 +155,7 @@ CGridView::UpdateCellCoordinates(
)
{
// Go through all the cells and calculate
// their coordinates within the grid
// their coordinates within the grid
for (int y = 0; y < m_yNumCells; y++)
for (int x = 0; x < m_xNumCells; x++)
{
@@ -262,7 +262,6 @@ VOID
CGridView::OnVScroll(_In_ INT Value,
_In_ INT Pos)
{
INT PrevScrollPosition = m_ScrollPosition;
switch (Value)

View File

@@ -99,7 +99,7 @@ CCharMapWindow::Run(void)
{
MSG Msg;
// Pump the message queue
// Pump the message queue
while (GetMessageW(&Msg, NULL, 0, 0) != 0)
{
TranslateMessage(&Msg);
@@ -195,7 +195,7 @@ CCharMapWindow::OnCreate(_In_ HWND hDlg)
}
}
// Add all the fonts to the
// Add all the fonts to the list
if (!CreateFontComboBox())
return FALSE;
@@ -373,9 +373,8 @@ CCharMapWindow::DialogProc(
switch (wParam)
{
case ID_ABOUT:
// Apportion blame
MessageBoxW(This->m_hMainWnd,
L"ReactOS Character Map\r\nCopyright Ged Murphy 2015",
L"ReactOS Character Map\nCopyright Ged Murphy 2015",
L"About",
MB_OK | MB_APPLMODAL);
break;

View File

@@ -18,6 +18,9 @@ IDI_ICON ICON "res/charmap.ico"
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
@@ -45,6 +48,9 @@ IDI_ICON ICON "res/charmap.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -0,0 +1,22 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
IDD_CHARMAP DIALOGEX 6, 6, 290, 224
FONT 8, "MS Shell Dlg", 0, 0
STYLE WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_SIZEBOX
CAPTION "ReactOS Zeichentabelle"
BEGIN
LTEXT "Schriftart:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 28, 5, 150, 210, WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
LTEXT "Zu kopierende Zeichen:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "Auswählen", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "Kopieren", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
END
STRINGTABLE
BEGIN
IDS_ABOUT "Ü&ber..."
IDS_TITLE "Zeichentabelle"
END

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Character Map
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Italian Translation for ReactOS Character Map
* COPYRIGHT: Bișoc George (fraizeraust99 at gmail dot com)
* COPYRIGHT: George Bișoc (george.bisoc@reactos.org)
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Character Map
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Romanian Translation for ReactOS Character Map
* COPYRIGHT: Bișoc George (fraizeraust99 at gmail dot com)
* COPYRIGHT: George Bișoc (george.bisoc@reactos.org)
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL

View File

@@ -1,23 +1,27 @@
/* TRANSLATOR: 2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net), 2018 Ercan Ersoy (ercanersoy) (ercanersoy [at] ercanersoy [dot] net)*/
/* TRANSLATOR:
2015 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2018 Ercan Ersoy (ercanersoy) (ercanersoy [at] ercanersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
IDD_CHARMAP DIALOGEX 6, 6, 292, 224
FONT 8, "MS Shell Dlg", 0, 0
STYLE WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
CAPTION "ReactOS Karakter Eşlem"
CAPTION "ReactOS Karakter Seçici"
BEGIN
LTEXT "Yazı Tipi:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
LTEXT "Çoğaltılacak Karakterler:", IDC_STATIC, 6, 188, 66, 9
LTEXT "Kopyalanacak Karakterler:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "Seç", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "Çoğalt", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
PUSHBUTTON "Kopyala", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
//CONTROL "Gelişmiş Görünüm", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX |
// WS_TABSTOP, 8, 208, 95, 10
//LTEXT "Karakter Öbeği:", IDC_STATIC, 8, 8, 48, 8
//LTEXT "Karakter Dizisi:", IDC_STATIC, 8, 8, 48, 8
//COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
//LTEXT "Takımla:", IDC_STATIC, 8, 28, 50, 8
//COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
@@ -31,5 +35,5 @@ END
STRINGTABLE
BEGIN
IDS_ABOUT "&Hakkında"
IDS_TITLE "Karakter Eşlem"
IDS_TITLE "Karakter Seçici"
END

View File

@@ -0,0 +1,30 @@
/*
* PROJECT: ReactOS Character Map
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
IDD_CHARMAP DIALOGEX 6, 6, 290, 224
FONT 9, "新細明體", 0, 0
STYLE WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_SIZEBOX
CAPTION "ReactOS 字元對應表"
BEGIN
LTEXT "字體:", IDC_STATIC, 6, 7, 24, 9
COMBOBOX IDC_FONTCOMBO, 28, 5, 150, 210, WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS
LTEXT "待複製字元:", IDC_STATIC, 6, 188, 66, 9
CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER |
WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13
DEFPUSHBUTTON "選擇", IDC_SELECT, 194, 186, 44, 13
PUSHBUTTON "複製", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
END
STRINGTABLE
BEGIN
IDS_ABOUT "關於(&B)..."
IDS_TITLE "字元對應表"
END

View File

@@ -32,7 +32,7 @@ static void SaveClipboardToFile(void)
sfn.lpstrFilter = szFilterMask;
sfn.lpstrFile = szFileName;
sfn.nMaxFile = ARRAYSIZE(szFileName);
sfn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
sfn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
sfn.lpstrDefExt = L"clp";
if (!GetSaveFileNameW(&sfn))

View File

@@ -53,6 +53,9 @@ CLPFILE_ICON ICON "res/clpfile.ico"
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
@@ -65,6 +68,9 @@ CLPFILE_ICON ICON "res/clpfile.ico"
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_HK
#include "lang/zh-HK.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -32,8 +32,8 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Clipboard Viewer"
STRING_CLIPFILE "Clipboard Element"
STRING_CLIPBOARD "Zwischenablagenanzeige"
STRING_CLIPFILE "Zwischenablagen-Element"
STRING_DELETE_MSG "Soll der Inhalt der Zwischenablage gelöscht werden?"
STRING_DELETE_TITLE "Zwischenablage löschen"
STRING_FORMAT_NT "Zwischenablagedateien für ReactOS (*.clp)"

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Clipboard Viewer
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Implementation of Italian language for Clipboard Viewer
* COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com)
* COPYRIGHT: Copyright 2018 George Bișoc (george.bisoc@reactos.org)
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL

View File

@@ -0,0 +1,67 @@
/* Translation and UTF-8 Conversion by Gabriel Aguiar(fgsoftware1) <fgygh5804@gmail.com,fgsoftwarestudio@gmail.com> (July, 2021) */
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
ID_ACCEL ACCELERATORS
BEGIN
VK_DELETE, CMD_DELETE, VIRTKEY
END
MAIN_MENU MENU
BEGIN
POPUP "&Ficheiro"
BEGIN
MENUITEM "&Abrir...", CMD_OPEN
MENUITEM "Guardar &como...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "S&air", CMD_EXIT
END
POPUP "&Editar"
BEGIN
MENUITEM "&Apagar\tDel", CMD_DELETE
END
POPUP "&Ecrã"
BEGIN
MENUITEM "&Automático", CMD_AUTOMATIC
END
POPUP "&Ajuda"
BEGIN
MENUITEM "&Ajuda", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "&Sobre", CMD_ABOUT
END
END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "Visualizador da área de transferência"
STRING_CLIPFILE "Elemento da área de transferência"
STRING_DELETE_MSG "Apagar conteúdos da área de transferência?"
STRING_DELETE_TITLE "Limpar área de transferência"
STRING_FORMAT_NT "Ficheiros da área de transferência para ReactOS (*.clp)"
STRING_FORMAT_GEN "Ficheiros da área de transferência (*.clp)"
END
STRINGTABLE
BEGIN
STRING_CF_UNKNOWN "Formato desconhecido"
STRING_CF_TEXT "Texto"
STRING_CF_BITMAP "Bitmap"
STRING_CF_OEMTEXT "Texto OEM"
STRING_CF_UNICODETEXT "Texto unicode"
STRING_CF_DIB "DIB Bitmap"
STRING_CF_LOCALE "Dados locais"
STRING_CF_ENHMETAFILE "Ficheiro meta melhorado"
STRING_CF_METAFILEPICT "Ficheiro meta"
STRING_CF_PALETTE "Palete de cores"
STRING_CF_DIBV5 "DIB Bitmap (Version 5)"
STRING_CF_SYLK "Formato de ligação simbólica"
STRING_CF_DIF "Formato de intercâmbio de dados"
STRING_CF_HDROP "Apagar dados"
END
STRINGTABLE
BEGIN
ERROR_UNSUPPORTED_FORMAT "A área de transferência contém dados num formato não suportado"
ERROR_INVALID_FILE_FORMAT "O ficheiro seleccionado nao é válido"
END

View File

@@ -1,4 +1,8 @@
/* TRANSLATOR: 2015, 2016 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net), 2018 Ercan Ersoy (ercanersoy) (ercanersoy [at] ercanersoy [dot] net) */
/* TRANSLATOR:
2015, 2016 Erdem Ersoy (eersoy93) (erdemersoy [at] erdemersoy [dot] net),
2018 Ercan Ersoy (ercanersoy) (ercanersoy [at] ercanersoy [dot] net),
2021 Süleyman Poyraz (zaryob [dot] dev [at] gmail [dot] com)
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
@@ -36,10 +40,10 @@ STRINGTABLE
BEGIN
STRING_CLIPBOARD "Pano Görüntüleyicisi"
STRING_CLIPFILE "Pano Ögesi"
STRING_DELETE_MSG "Pano içeriğini sil?"
STRING_DELETE_TITLE "Pano Sil"
STRING_FORMAT_NT "ReactOS İçin Pano Kütükleri (*.clp)"
STRING_FORMAT_GEN "Pano Kütükleri (*.clp)"
STRING_DELETE_MSG "Pano içeriği silinsin mi?"
STRING_DELETE_TITLE "Panoyu Temizle"
STRING_FORMAT_NT "ReactOS İçin Pano Dosyaları (*.clp)"
STRING_FORMAT_GEN "Pano Dosyaları (*.clp)"
END
STRINGTABLE
@@ -47,17 +51,17 @@ BEGIN
STRING_CF_UNKNOWN "Bilinmeyen Biçim"
STRING_CF_TEXT "Metin"
STRING_CF_BITMAP "Bit Eşlem"
STRING_CF_OEMTEXT "OEM Metin"
STRING_CF_UNICODETEXT "Evrenlik Kodlu Metin"
STRING_CF_OEMTEXT "OEM Metni"
STRING_CF_UNICODETEXT "Evrensel Kodlu Metin"
STRING_CF_DIB "DIB Bit Eşlem"
STRING_CF_LOCALE "Yerli Veri"
STRING_CF_ENHMETAFILE "Geliştirilmiş Metafile"
STRING_CF_LOCALE "Yerel Veri"
STRING_CF_ENHMETAFILE "Geliştirilmiş Meta Dosyasıs"
STRING_CF_METAFILEPICT "Meta dosyası"
STRING_CF_PALETTE "Renklik"
STRING_CF_DIBV5 "DIB Bit Eşlem (Sürüm 5)"
STRING_CF_SYLK "Simgelik Bağlantı Biçimi"
STRING_CF_SYLK "Sembolik Bağlantı Biçimi"
STRING_CF_DIF "Veri Değiş Tokuş Biçimi"
STRING_CF_HDROP "Bırakma Verisi"
STRING_CF_HDROP "Veriyi Kaldır"
END
STRINGTABLE

View File

@@ -0,0 +1,73 @@
/*
* PROJECT: ReactOS Clipboard Viewer
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Chinese (Hong Kong) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Traditional) resource file
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
ID_ACCEL ACCELERATORS
BEGIN
VK_DELETE, CMD_DELETE, VIRTKEY
END
MAIN_MENU MENU
BEGIN
POPUP "檔案(&F)"
BEGIN
MENUITEM "開啟(&O)...", CMD_OPEN
MENUITEM "另存新檔(&A)...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "退出(&X)", CMD_EXIT
END
POPUP "編輯(&E)"
BEGIN
MENUITEM "刪除(&D)\tDel", CMD_DELETE
END
POPUP "顯示(&D)"
BEGIN
MENUITEM "自動(&A)", CMD_AUTOMATIC
END
POPUP "説明(&H)"
BEGIN
MENUITEM "説明主題(&H)", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "關於(&A)", CMD_ABOUT
END
END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "剪貼簿檢視器"
STRING_CLIPFILE "剪貼簿項目"
STRING_DELETE_MSG "要清除剪貼簿的內容嗎?"
STRING_DELETE_TITLE "清除剪貼簿"
STRING_FORMAT_NT "ReactOS 剪貼簿檔案 (*.clp)"
STRING_FORMAT_GEN "剪貼簿檔案 (*.clp)"
END
STRINGTABLE
BEGIN
STRING_CF_UNKNOWN "不明格式"
STRING_CF_TEXT "文字"
STRING_CF_BITMAP "點陣圖"
STRING_CF_OEMTEXT "OEM 文字"
STRING_CF_UNICODETEXT "Unicode 文字"
STRING_CF_DIB "DIB 點陣圖"
STRING_CF_LOCALE "本地日期"
STRING_CF_ENHMETAFILE "增強型圖元檔案"
STRING_CF_METAFILEPICT "圖元檔案"
STRING_CF_PALETTE "調色盤"
STRING_CF_DIBV5 "DIB 點陣圖 (第 5 版)"
STRING_CF_SYLK "符號連結格式"
STRING_CF_DIF "資料交換格式"
STRING_CF_HDROP "刪除資料"
END
STRINGTABLE
BEGIN
ERROR_UNSUPPORTED_FORMAT "剪貼簿內的資料含有不能顯示的格式。"
ERROR_INVALID_FILE_FORMAT "所選的檔案不是一個有效的剪貼簿檔案。"
END

View File

@@ -1,4 +1,10 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/*
* PROJECT: ReactOS Clipboard Viewer
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
@@ -11,10 +17,10 @@ MAIN_MENU MENU
BEGIN
POPUP "檔案(&F)"
BEGIN
MENUITEM "開啟...(&O)", CMD_OPEN
MENUITEM "另存新檔...(&A)", CMD_SAVE_AS
MENUITEM "開啟(&O)...", CMD_OPEN
MENUITEM "另存新檔(&A)...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "退出(&X)", CMD_EXIT
MENUITEM "結束(&X)", CMD_EXIT
END
POPUP "編輯(&E)"
BEGIN
@@ -35,16 +41,16 @@ END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "剪貼簿檢視器"
STRING_CLIPFILE "剪貼簿上的元素"
STRING_CLIPFILE "剪貼簿項目"
STRING_DELETE_MSG "要清除剪貼簿的內容嗎?"
STRING_DELETE_TITLE "清除剪貼簿"
STRING_FORMAT_NT "ReactOS 剪貼簿檔案 (*.clp)"
STRING_FORMAT_NT "ReactOS 剪貼簿檔案 (*.clp)"
STRING_FORMAT_GEN "剪貼簿檔案 (*.clp)"
END
STRINGTABLE
BEGIN
STRING_CF_UNKNOWN "未知的格式"
STRING_CF_UNKNOWN "不明格式"
STRING_CF_TEXT "文字"
STRING_CF_BITMAP "點陣圖"
STRING_CF_OEMTEXT "OEM 文字"
@@ -54,7 +60,7 @@ BEGIN
STRING_CF_ENHMETAFILE "增強型圖元檔案"
STRING_CF_METAFILEPICT "圖元檔案"
STRING_CF_PALETTE "調色盤"
STRING_CF_DIBV5 "DIB 點陣圖 (第 5 版)"
STRING_CF_DIBV5 "DIB 點陣圖第 5 版"
STRING_CF_SYLK "符號連結格式"
STRING_CF_DIF "資料交換格式"
STRING_CF_HDROP "刪除資料"

View File

@@ -8,6 +8,7 @@ add_subdirectory(cscript)
add_subdirectory(dbgprint)
add_subdirectory(doskey)
add_subdirectory(eventcreate)
add_subdirectory(fc)
add_subdirectory(find)
add_subdirectory(fsutil)
add_subdirectory(help)
@@ -21,8 +22,10 @@ add_subdirectory(reg)
add_subdirectory(schtasks)
add_subdirectory(sort)
add_subdirectory(taskkill)
add_subdirectory(tasklist)
add_subdirectory(timeout)
add_subdirectory(tree)
add_subdirectory(where)
add_subdirectory(whoami)
add_subdirectory(wmic)
add_subdirectory(wscript)

View File

@@ -398,7 +398,7 @@ GetTimeAsJobTime(VOID)
GetLocalTime(&Time);
JobTime = (DWORD_PTR)Time.wHour * 3600000 +
JobTime = (DWORD_PTR)Time.wHour * 3600000 +
(DWORD_PTR)Time.wMinute * 60000;
return JobTime;
@@ -698,7 +698,7 @@ AddJob(
ULONG ulJobId = 0;
NET_API_STATUS Status;
InfoBuffer.JobTime = (DWORD_PTR)ulJobHour * 3600000 +
InfoBuffer.JobTime = (DWORD_PTR)ulJobHour * 3600000 +
(DWORD_PTR)ulJobMinute * 60000;
InfoBuffer.DaysOfMonth = ulDaysOfMonth;
InfoBuffer.DaysOfWeek = ucDaysOfWeek;

View File

@@ -33,3 +33,6 @@
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS AT Utility
* LICENSE: See COPYING in the top level directory
* PURPOSE: Italian resource file
* COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com)
* COPYRIGHT: Copyright 2018 George Bișoc (george.bisoc@reactos.org)
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL

View File

@@ -5,34 +5,34 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "AT komutu, belirlenen bir zamanda bilgisayarda çalıştırmak için komutları\n\
ve izlenceleri zamanlar. AT komutunu çalıştırmak için Zamanlayıcı hizmeti\n\
ve programları zamanlar. AT komutunu çalıştırmak için Zamanlayıcı hizmeti\n\
çalıştırılmalıdır.\n\n\
AT [\\\\bilgisayar adı] [ [kimlik] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\bilgisayar adı] saat [/INTERACTIVE]\n\
[ /EVERY:târih[,...] | /NEXT:târih[,...]] ""komut""\n\n\
[ /EVERY:tarih[,...] | /NEXT:tarih[,...]] ""komut""\n\n\
\\\\bilgisayar adı Bir uzak bilgisayarı belirtir. Bu değişken yazılmazsa\n\
komutlar yerli bilgisayarda zamanlanır.\n\
komutlar yerel bilgisayarda zamanlanır.\n\
kimlik Zamanlanan bir komuta atanan bir kimlik numarasıdır.\n\
/DELETE Zamanlanan bir komutu iptâl eder. Kimlik yazılmadığında\n\
bilgisayardaki tüm zamanlanan komutlar iptâl edilir.\n\
/YES Sonraki onaylamalar istenilmediğinde tüm işleri iptâl etme\n\
/DELETE Zamanlanan bir komutu iptal eder. Kimlik yazılmadığında\n\
bilgisayardaki tüm zamanlanan komutlar iptal edilir.\n\
/YES Sonraki onaylamalar istenilmediğinde tüm işleri iptal etme\n\
komutuyla birlikte kullanılır.\n\
saat Komutun çalıştırılma saatini belirtir.\n\
/INTERACTIVE İşe, çalıştırılacağı saatte oturum açmış kullanıcının\n\
masaüstüyle etkileşmesine izin verir.\n\
/EVERY:târih[,...] Haftanın ya da ayın belirtilen tüm günlerinde komutu çalıştırır.\n\
month. Târih yazılmadığında ayın şimdiki gününü varsayar.\n\
/NEXT:târih[,...] Günün bir sonraki oluşunda (örneğin bir sonraki perşembede)\n\
belirtilen komutu çalıştırır. Târih yazılmadığında ayın\n\
/EVERY:tarih[,...] Haftanın ya da ayın belirtilen tüm günlerinde komutu çalıştırır.\n\
month. Tarih yazılmadığında ayın şimdiki gününü varsayar.\n\
/NEXT:tarih[,...] Günün bir sonraki oluşunda (örneğin bir sonraki perşembede)\n\
belirtilen komutu çalıştırır. Tarih yazılmadığında ayın\n\
şimdiki gününü varsayar.\n\
""komut"" Çalıştırılacak komut ya da toplu iş kütüğü.\n"
""komut"" Çalıştırılacak komut ya da toplu iş dosyası.\n"
IDS_DELETE_ALL "Bu işlem tüm zamanlanan işleri silecek.\n"
IDS_NEW_JOB "%lu iş kimliğiyle yeni bir iş eklendi.\n"
IDS_JOBS_LIST "Durum Km. Gün Saat Komut Yatacı\n"
IDS_NO_ENTRIES "Dizelgede bir giriş yok.\n"
IDS_NO_ENTRIES "Tabloda bir giriş yok.\n"
IDS_CONFIRM_QUESTION "Bu işlemi sürdürmek ister misiniz? (E/H) [H]: "
IDS_CONFIRM_QUESTION "Devam etmek ister misiniz? (E/H) [H]: "
IDS_CONFIRM_INVALID "\nBu geçersiz bir yanıttır.\n"
IDS_CONFIRM_YES "E"
IDS_CONFIRM_NO "H"

View File

@@ -42,9 +42,9 @@ time 指定命令运行的时间。\n\
IDS_OK "确定"
IDS_TASKID "任务 ID: %lu\n"
IDS_STATUS "状态: %s\n"
IDS_SCHEDULE "安排: %s\n"
IDS_STATUS "状态: %s\n"
IDS_SCHEDULE "安排: %s\n"
IDS_TIME "今日时间: %s\n"
IDS_INTERACTIVE "交互: %s\n"
IDS_COMMAND "命令: %s\n"
IDS_INTERACTIVE "交互: %s\n"
IDS_COMMAND "命令: %s\n"
END

View File

@@ -0,0 +1,51 @@
// Chinese Traditional (zh-TW) resources by Chan Chilung <eason066@gmail.com> 2021
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_USAGE "AT 命令可安排電腦在特定的時間和日期執行命令和程序。\n\
在使用 AT 命令前,請確保 Schedule 服務正在運行。\n\n\
AT [\\\\computername] [ [id] [/DELETE] | /DELETE [/YES]]\n\
AT [\\\\computername] time [/INTERACTIVE]\n\
[ /EVERY:date[,...] | /NEXT:date[,...]] ""command""\n\n\
\\\\computername 指定一個遠端電腦。若省略這個參數,命令將在本地電腦上執行\n\
id 分配給安排命令的識別碼。\n\
/DELETE 取消一個安排中的命令。若省略 id電腦上所有被安排的\n\
命令都會被取消。\n\
/YES 取消任務時使用將不再請求確認。\n\
time 指定命令執行的時間。\n\
/INTERACTIVE 允許在執行任務時與登入中的使用者的桌面互動。\n\
/EVERY:date[,...] 在每周或每月的特定日子執行指定命令。\n\
若省略 date則認定是每個月的今天。\n\
/NEXT:date[,...] 在來到下一個日期的時候 (例如: 下星期四) 執行指定命令。\n\
若省略 date則認定是每個月的今天。\n\
""command"" 將被執行的命令或批量程序。\n"
IDS_DELETE_ALL "這個操作將刪除所有安排好的任務。\n"
IDS_NEW_JOB "以任務 ID %lu 新增一項新任務\n"
IDS_JOBS_LIST "狀態 ID 日 時間 命令行\n"
IDS_NO_ENTRIES "列表中沒有項目。\n"
IDS_CONFIRM_QUESTION "您想繼續操作嗎?(Y/N) [N]: "
IDS_CONFIRM_INVALID "\n這是一個無效的回應。\n"
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
IDS_TODAY "今天"
IDS_TOMORROW "明天"
IDS_EVERY "每次"
IDS_NEXT "下次"
IDS_YES "是"
IDS_NO "否"
IDS_ERROR "錯誤"
IDS_OK "確定"
IDS_TASKID "任務 ID: %lu\n"
IDS_STATUS "狀態: %s\n"
IDS_SCHEDULE "安排: %s\n"
IDS_TIME "今日時間: %s\n"
IDS_INTERACTIVE "互動: %s\n"
IDS_COMMAND "命令: %s\n"
END

View File

@@ -86,17 +86,23 @@ ErrorMessage(
ConPrintf(StdOut, L"%s\n", szMsg);
}
/* Returns TRUE if anything is printed, FALSE otherwise */
static
INT
BOOL
PrintAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse)
BOOL bRecurse,
BOOL bDirectories)
{
WIN32_FIND_DATAW findData;
HANDLE hFind;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD Error;
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
@@ -105,14 +111,19 @@ PrintAttribute(
/* display all subdirectories */
if (bRecurse)
{
/* append file name */
wcscpy(pszFileName, pszFile);
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
ErrorMessage(GetLastError(), pszFile);
return 1;
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
ErrorMessage(Error, pszFile);
}
return FALSE;
}
do
@@ -122,29 +133,42 @@ PrintAttribute(
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
PrintAttribute(szFullName, pszFile, bRecurse);
bFound |= PrintAttribute(szFullName, pszFile, bRecurse, bDirectories);
}
while(FindNextFileW(hFind, &findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
/* append file name */
wcscpy(pszFileName, pszFile);
/* display current directory */
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
ErrorMessage(GetLastError(), pszFile);
return 1;
return bFound;
}
do
{
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
wcscpy(pszFileName, findData.cFileName);
ConPrintf(StdOut,
@@ -154,129 +178,122 @@ PrintAttribute(
(findData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ',
szFullName);
bFound = TRUE;
}
while(FindNextFileW(hFind, &findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return 0;
return bFound;
}
/* Returns TRUE if anything changed, FALSE otherwise */
static
BOOL
ChangeAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories,
DWORD dwMask,
DWORD dwAttrib,
BOOL bRecurse,
BOOL bDirectories)
DWORD dwAttrib)
{
WIN32_FIND_DATAW findData;
HANDLE hFind;
DWORD dwAttribute;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bWildcard = (wcschr(pszFile, L'*') || wcschr(pszFile, L'?'));
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD dwAttribute;
DWORD Error;
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* append file name */
wcscpy(pszFileName, pszFile);
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
return FALSE;
dwAttribute = findData.dwFileAttributes;
if (!bWildcard)
/* display all subdirectories */
if (bRecurse)
{
FindClose(hFind);
if (dwAttribute & FILE_ATTRIBUTE_DIRECTORY)
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
dwAttribute = (dwAttribute & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
if (bRecurse)
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
if (bDirectories)
{
ChangeAttribute(szFullName, L"*", dwMask, dwAttrib,
bRecurse, bDirectories);
}
else
{
if (!ChangeAttribute(szFullName, L"*", dwMask, dwAttrib,
bRecurse, FALSE))
{
return FALSE;
}
}
ErrorMessage(Error, pszFile);
}
else
{
if (!bDirectories)
{
ChangeAttribute(szFullName, L"*", dwMask, dwAttrib,
bRecurse, FALSE);
}
}
return TRUE;
}
else
{
dwAttribute = (dwAttribute & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
return TRUE;
}
}
else
{
if ((dwAttribute & FILE_ATTRIBUTE_DIRECTORY) && (!bRecurse || !bDirectories))
return FALSE;
}
do
{
dwAttribute = findData.dwFileAttributes;
if (dwAttribute & FILE_ATTRIBUTE_DIRECTORY)
if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
if (!bDirectories)
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
continue;
wcscpy(pszFileName, findData.cFileName);
dwAttribute = (dwAttribute & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
if (bRecurse)
{
ChangeAttribute(szFullName, findData.cFileName, dwMask,
dwAttrib, bRecurse, FALSE);
}
continue;
}
else
{
wcscpy(pszFileName, findData.cFileName);
dwAttribute = (dwAttribute & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
}
} while (FindNextFileW(hFind, &findData));
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
bFound |= ChangeAttribute(szFullName, pszFile, bRecurse, bDirectories,
dwMask, dwAttrib);
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
return TRUE;
/* append file name */
wcscpy(pszFileName, pszFile);
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
return bFound;
}
do
{
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
if (bRecurse && bIsDir && !bDirectories)
continue;
wcscpy(pszFileName, findData.cFileName);
dwAttribute = (findData.dwFileAttributes & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
bFound = TRUE;
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return bFound;
}
int wmain(int argc, WCHAR *argv[])
{
INT i;
WCHAR szPath[MAX_PATH];
WCHAR szPath[MAX_PATH] = L""; // For case we only use 'attrib +h /s' there is no szPath
WCHAR szFileName [MAX_PATH];
BOOL bRecurse = FALSE;
BOOL bDirectories = FALSE;
@@ -389,7 +406,7 @@ int wmain(int argc, WCHAR *argv[])
szPath[len + 1] = UNICODE_NULL;
}
wcscpy(szFileName, L"*.*");
PrintAttribute(szPath, szFileName, bRecurse);
PrintAttribute(szPath, szFileName, bRecurse, bDirectories);
return 0;
}
@@ -405,14 +422,33 @@ int wmain(int argc, WCHAR *argv[])
if (dwMask == 0)
{
PrintAttribute(szPath, szFileName, bRecurse);
if (!PrintAttribute(szPath, szFileName, bRecurse, bDirectories))
{
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
}
}
else if (!ChangeAttribute(szPath, szFileName, dwMask,
dwAttrib, bRecurse, bDirectories))
else if (!ChangeAttribute(szPath, szFileName, bRecurse, bDirectories, dwMask, dwAttrib))
{
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
}
}
// Code below handles the special case of 'attrib +h /s' and similar
if (bRecurse && dwMask && (wcscmp(szPath, L"") == 0))
{
DWORD len;
len = GetCurrentDirectory(MAX_PATH, szPath);
if (szPath[len-1] != L'\\')
{
szPath[len] = L'\\';
szPath[len + 1] = UNICODE_NULL;
}
wcscpy(szFileName, L"*.*");
if (!ChangeAttribute(szPath, szFileName, bRecurse, bDirectories, dwMask, dwAttrib))
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, szFileName);
}
return 0;
}

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/

View File

@@ -4,20 +4,20 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ATTRIB_HELP "Kütük öz niteliklerini görüntüler ya da değiştirir.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] kütük ...\n\
STRING_FILE_NOT_FOUND "Dosya bulunamadı - '%s'\n"
STRING_ATTRIB_HELP "Dosya öz niteliklerini görüntüler ya da değiştirir.\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] dosya ...\n\
[/S [/D]]\n\n\
+ Bir öz nitelik ayarlar\n\
- Bir öz nitelik siler\n\
R Yalnızca okunur kütük öz niteliği\n\
A Belgelik kütük öz niteliği\n\
S Dizge kütük öz niteliği\n\
H Gizli kütük öz niteliği\n\
/S Şimdiki dizindeki ve tüm alt dizinlerdeki kütükleri eşlemeyi yapar\n\
R Yalnızca okunur dosya öz niteliği\n\
A Belgelik dosya öz niteliği\n\
S Sistem dosyası öz niteliği\n\
H Gizli dosya öz niteliği\n\
/S Şimdiki dizindeki ve tüm alt dizinlerdeki dosyaları eşlemeyi yapar\n\
/D Dizinleri de yap\n\n\
Tüm kütüklerin öz niteliklerini görüntülemek için bir değişken olmadan ATTRIB\n\
Tüm dosyaların öz niteliklerini görüntülemek için bir değişken olmadan ATTRIB\n\
yazınız.\n"
STRING_CONSOLE_ERROR "Bilinmeyen yanlışlık: %d\n"
STRING_CONSOLE_ERROR "Bilinmeyen hata: %d\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Geçersiz değişken biçimi - %s\n"
END

View File

@@ -1,23 +1,29 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/* Improved by Luo Yufan 2019 <njlyf2011@hotmail.com> */
/*
* PROJECT: ReactOS Attribute Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2019 Luo Yufan <njlyf2011@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_FILE_NOT_FOUND "找不到檔案 - '%s'\n"
STRING_ATTRIB_HELP "顯示或更改檔案屬性。\n\n\
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] 檔案 ...\n\
[/S [/D]]\n\n\
+ 設定一個屬性\n\
- 清除一個屬性\n\
R 讀屬性\n\
R 讀屬性\n\
A 歸檔屬性\n\
S 系統屬性\n\
H 隱藏屬性\n\
/S 處理當前目錄和所有子目錄下的所有匹配檔案\n\
/S 處理目前的目錄和所有子目錄下的所有相符檔案\n\
/D 同時處理目錄\n\n\
執行不帶參數的 ATTRIB 將會顯示所有檔案的屬性。\n"
STRING_CONSOLE_ERROR "未知錯誤:%d\n"
STRING_CONSOLE_ERROR "未知錯誤:%d\n"
STRING_ERROR_INVALID_PARAM_FORMAT "無效的參數格式 - %s\n"
END
END

View File

@@ -1,10 +1,9 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Change CodePage Command
* FILE: base/applications/cmdutils/chcp/chcp.c
* PURPOSE: Displays or changes the active console input and output codepages.
* PROGRAMMERS: Eric Kohl
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
* PROJECT: ReactOS Change CodePage Command
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Displays or changes the active console input and output code pages.
* COPYRIGHT: Copyright 1999 Eric Kohl
* Copyright 2017-2021 Hermes Belusca-Maito
*/
/*
* CHCP.C - chcp internal command.
@@ -64,27 +63,36 @@ int wmain(int argc, WCHAR* argv[])
return 1;
}
/**
** IMPORTANT NOTE: This code must be kept synchronized with MODE.COM!SetConsoleCPState()
**/
/*
* Save the original console codepage to be restored in case
* SetConsoleCP() or SetConsoleOutputCP() fails.
* Save the original console code page to be restored
* in case SetConsoleCP() or SetConsoleOutputCP() fails.
*/
uOldCodePage = GetConsoleCP();
/*
* Try changing the console input codepage. If it works then also change
* the console output codepage, and refresh our local codepage cache.
* Try changing the console input and output code pages.
* If it succeeds, refresh the local code page information.
*/
if (SetConsoleCP(uNewCodePage))
{
if (SetConsoleOutputCP(uNewCodePage))
{
/* Success, reset the current thread UI language
* and update the streams cached code page. */
ConSetThreadUILanguage(0);
ConStdStreamsSetCacheCodePage(uNewCodePage, uNewCodePage);
/* Display the active code page number */
ConResPrintf(StdOut, STRING_CHCP_ERROR1, GetConsoleOutputCP());
return 0;
}
else
{
/* Failure, restore the original console codepage */
/* Failure, restore the original console code page */
SetConsoleCP(uOldCodePage);
}
}

View File

@@ -1,4 +1,4 @@
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com)
* DATE OF TR: 29-11-2013
*/

View File

@@ -1,14 +1,20 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/*
* PROJECT: ReactOS Change CodePage Command
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
STRING_CHCP_HELP "顯示或設定活動的內碼表。\n\n\
STRING_CHCP_HELP "顯示或設定作用中的內碼表。\n\n\
CHCP [nnn]\n\n\
nnn 指定活動的內碼表。\n\n\
不帶參數執行 CHCP 將會顯示當前活動的內碼表。\n"
STRING_CHCP_ERROR1 "活動內碼表:%u\n"
STRING_CHCP_ERROR4 "無效內碼表\n"
nnn 指定要啟用的內碼表。\n\n\
不帶參數執行 CHCP 將會顯示目前啟用中的內碼表。\n"
STRING_CHCP_ERROR1 "啟用中的內碼表:%u\n"
STRING_CHCP_ERROR4 "無效內碼表\n"
STRING_ERROR_INVALID_PARAM_FORMAT "無效的參數格式 - %s\n"
END
END

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Clip Command
* LICENSE: See COPYING in the top level directory
* PURPOSE: Italian resource file
* COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com)
* COPYRIGHT: Copyright 2018 George Bișoc (george.bisoc@reactos.org)
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL

View File

@@ -5,7 +5,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "\nKullanım bilgisi için ""CLIP /?"" yazınız.\n"
IDS_HELP "\nKomut yatacı izlencelerinin çıktısını panoya yönlendirir.\n\n\
IDS_HELP "\nKomut satırı programlarının çıktısını panoya yönlendirir.\n\n\
CLIP [/?]\n\n\
/? Bu yardım iletisini göster.\n"
END

View File

@@ -1,11 +1,17 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/*
* PROJECT: ReactOS Clip Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_USAGE "\n輸入 ""CLIP /?"" 知道用法資訊。\n"
IDS_HELP "\n將命令列程式的輸出重向到剪貼簿。\n\n\
IDS_USAGE "\n輸入 'CLIP /?' 以取得用法資訊。\n"
IDS_HELP "\n將命令列程式的輸出重新導向到剪貼簿。\n\n\
CLIP [/?]\n\n\
/? 顯示此説明消息。\n"
/? 顯示這個說明訊息。\n"
END

View File

@@ -12,6 +12,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
@@ -39,3 +42,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -0,0 +1,23 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_HELP "Vergleicht den Inhalt von zwei Dateien oder Dateisätzen.\n\n\
COMP [/L] [/A] [data1] [data2]\n\n\
data1 Gibt den Speicherort und Namen der ersten zu vergleichenden Datei(en) an.\n\
data2 Gibt den Speicherort und Namen der zweiten zu vergleichenden Datei(en) an.\n\
/A Zeigt Unterschiede in ASCII-Zeichen an (Standard: hexadezimal).\n\
/L Zeigt Zeilennummern für Unterschiede an.\n"
IDS_INVALIDSWITCH "Unzulässige Option - /%c\n"
IDS_BADSYNTAX "Fehlerhafte Kommandozeilensyntax\n"
IDS_FILEERROR "Kann Datei %s nicht finden/öffnen.\n"
IDS_COMPARING "Vergleiche %s und %s...\n"
IDS_FILESIZEERROR "Kann Dateigröße der Datei %s nicht ermitteln\n"
IDS_SIZEDIFFERS "Dateien sind unterschiedlich groß.\n"
IDS_READERROR "Dateilesefehler.\n"
IDS_MISMATCHLINE "Vergleichsfehler in ZEILE %d\n"
IDS_MISMATCHOFFSET "Vergleichsfehler bei OFFSET 0x%X\n"
IDS_ASCIIDIFF "file%d = %c\n"
IDS_HEXADECIMALDIFF "file%d = %X\n"
IDS_MATCH "Dateivergleich OK\n"
END

View File

@@ -4,22 +4,22 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_HELP "İki kütüğün ya da iki kütük öbeğinin içeriklerini karşılaştırır.\n\n\
IDS_HELP "İki dosyanın ya da iki dosya yığınının içeriklerini karşılaştırır.\n\n\
COMP [/L] [/A] [veri1] [veri2]\n\n\
veri1 Karşılaştırılacak birinci kütüğün adını ve konumunu belirtir.\n\
veri2 Karşılaştırılacak ikinci kütüğün adını ve konumunu belirtir.\n\
/A ASCII damgalarındaki ayrımları görüntüle. (Ön tanımlı: On altılık.)\n\
/L Ayrımlar için yat numaraları görüntüle.\n"
veri1 Karşılaştırılacak birinci dosyanın adını ve konumunu belirtir.\n\
veri2 Karşılaştırılacak ikinci dosyanın adını ve konumunu belirtir.\n\
/A ASCII karakterlerindeki ayrımları görüntüle. (Varsayılan: On altılık.)\n\
/L Ayrımlar için satır numaraları görüntüle.\n"
IDS_INVALIDSWITCH "Geçersiz seçenek - /%c\n"
IDS_BADSYNTAX "Geçersiz komut yatacı söz dizimi.\n"
IDS_FILEERROR "Kütükılamıyor ya da aranamıyor: %s\n"
IDS_BADSYNTAX "Geçersiz komut satırı söz dizimi.\n"
IDS_FILEERROR "Dosyaılamıyor ya da aranamıyor: %s\n"
IDS_COMPARING "%s ve %s karşılaştırılıyor...\n"
IDS_FILESIZEERROR "Kütüğün büyüklüğü saptanamıyor: %s\n"
IDS_SIZEDIFFERS "Kütükler ayrı büyüklüklerde.\n"
IDS_READERROR "Kütükleri okuma yanlışlığı.\n"
IDS_MISMATCHLINE "%d. yataçta karşılaştırma yanlışlığı.\n"
IDS_MISMATCHOFFSET "0x%X ofsetinde karşılaştırma yanlışlığı.\n"
IDS_ASCIIDIFF "kütük%d = %c\n"
IDS_HEXADECIMALDIFF "kütük%d = %X\n"
IDS_MATCH "Kütükleri karşılaştırma bitti.\n"
IDS_FILESIZEERROR "Dosyanın büyüklüğü saptanamıyor: %s\n"
IDS_SIZEDIFFERS "Dosyalar ayrı büyüklüklerde.\n"
IDS_READERROR "Dosyaların okunması hata ile sonuçlandı.\n"
IDS_MISMATCHLINE "%d. yataçta karşılaştırma hatası.\n"
IDS_MISMATCHOFFSET "0x%X ofsetinde karşılaştırma hatası.\n"
IDS_ASCIIDIFF "dosya%d = %c\n"
IDS_HEXADECIMALDIFF "dosya%d = %X\n"
IDS_MATCH "Dosya karşılaştırması bitti.\n"
END

View File

@@ -0,0 +1,25 @@
// Chinese Traditional (zh-TW) resources by Chan Chilung <eason066@gmail.com> 2021
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_HELP "比較兩個或兩組檔案的内容。\n\n\
COMP [/L] [/A] [data1] [data2]\n\n\
data1 指定要比較的第一個檔案的位置和名稱。\n\
data2 指定要比較的第二個檔案的位置和名稱。\n\
/A 以 ASCII 字符形式顯示區別 (預設: 十六進制)。\n\
/L 顯示行數區別。\n"
IDS_INVALIDSWITCH "無效的選項 - /%c\n"
IDS_BADSYNTAX "命令行語法錯誤\n"
IDS_FILEERROR "無法找到或開啟檔案: %s\n"
IDS_COMPARING "正在比較 %s 和 %s...\n"
IDS_FILESIZEERROR "無法判斷該檔案的大小: %s\n"
IDS_SIZEDIFFERS "檔案大小不一致。\n"
IDS_READERROR "讀取檔案時發生錯誤。\n"
IDS_MISMATCHLINE "在行 %d 處比較時發生錯誤\n"
IDS_MISMATCHOFFSET "在偏移 0x%X 處比較時發生錯誤\n"
IDS_ASCIIDIFF "檔案%d = %c\n"
IDS_HEXADECIMALDIFF "檔案%d = %X\n"
IDS_MATCH "檔案比較完成\n"
END

View File

@@ -4,22 +4,22 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_HELP "Komut yatacı düzenleme ayarlarını, geçmişi ve makroları yönetir.\n\
IDS_HELP "Komut satırı düzenleme ayarlarını, geçmişi ve makroları yönetir.\n\
\n\
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=boyut]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=kütük] [makro adı=[metin]]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=dosya] [makro adı=[metin]]\n\
\n\
/INSERT Ekleme kipini etkinleştirir.\n\
/OVERSTRIKE Ekleme kipini edilginleştirir.\n\
/OVERSTRIKE Ekleme kipini devre dışı bırakır.\n\
/EXENAME=exe adı İlgili geçmişi ve makroları görüntülemek ya da değiştirmek\n\
için izlencenin adını ayarlar. Ön tanımlı cmd.exe'dir.\n\
için programın adını ayarlar. Varsayılan cmd.exe'dir.\n\
/HISTORY Komut geçmişini görüntüler.\n\
/LISTSIZE=boyut Geçmiş arabelleği başına komut sayısını ayarlar.\n\
/REINSTALL Komut geçmişini siler.\n\
/MACROS Makro tanımlarını görüntüler.\n\
/MACROS:exe adı Belirli bir izlence için makro tanımlarını görüntüler.\n\
/MACROS:ALL Tüm izlenceler için makro tanımlarını görüntüler.\n\
/MACROFILE=kütük Bir kütükten makro tanımlarını yükler.\n\
/MACROS:exe adı Belirli bir program için makro tanımlarını görüntüler.\n\
/MACROS:ALL Tüm programlar için makro tanımlarını görüntüler.\n\
/MACROFILE=dosya Bir dosyadan makro tanımlarını yükler.\n\
makro adı Oluşturmak için bir makro adını belirtir.\n\
metin Makro için yerine geçme metnini belirtir.\n"
IDS_INVALID_MACRO_DEF "Geçersiz makro tanımı: %s\n"

View File

@@ -1,26 +1,32 @@
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
/*
* PROJECT: ReactOS DosKey Command
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2016 Henry Tang Ih <henrytang2@hotmail.com>
* Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_HELP "管理命令列編輯設、歷記錄和。\n\
IDS_HELP "管理命令列編輯設、歷記錄和巨集。\n\
\n\
DOSKEY [/INSERT | /OVERSTRIKE] [/EXENAME=exe] [/HISTORY] [/LISTSIZE=大小]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=文件] [宏名=[文]]\n\
[/REINSTALL] [/MACROS[:exe | :ALL]] [/MACROFILE=文件] [巨集名稱=[文]]\n\
\n\
/INSERT 開啟插入模式。\n\
/OVERSTRIKE\n\
/EXENAME=exename 設要查看或改變歷史記錄和的程式名。\n\
/EXENAME=exename 設要查看或更改歷程記錄和巨集的程式名。\n\
預設為 cmd.exe。\n\
/HISTORY 顯示命令歷。\n\
/LISTSIZE=size 設置每個歷記錄緩存記錄的命令數。\n\
/REINSTALL 清命令歷記錄。\n\
/MACROS 顯示定義的宏。\n\
/MACROS:exename 顯示為指定程式定義的。\n\
/MACROS:ALL 顯示為所有程式定義的。\n\
/MACROFILE=file 從檔載入巨集定義。\n\
宏名 指定要創建的宏名。\n\
指定要替換該宏的文。\n"
IDS_INVALID_MACRO_DEF "不正確巨集定義%s\n"
/HISTORY 顯示命令歷程記錄。\n\
/LISTSIZE=size 設置每個歷記錄緩衝區的命令數。\n\
/REINSTALL 清命令歷記錄。\n\
/MACROS 顯示巨集定義。\n\
/MACROS:exename 顯示為指定程式定義的巨集。\n\
/MACROS:ALL 顯示為所有程式定義的巨集。\n\
/MACROFILE=file 從檔案中載入巨集定義。\n\
巨集名稱 指定要建立的巨集的名稱。\n\
指定要該巨集取代的文。\n"
IDS_INVALID_MACRO_DEF "不正確巨集定義: %s\n"
END

View File

@@ -15,6 +15,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
@@ -39,3 +42,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -0,0 +1,69 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Tippen Sie ""EVENTCREATE /?"" um Informationen zur Benutzung zu erhalten.\n"
IDS_HELP "\n\
EVENTCREATE [/S Computer [/U [Domäne\\]Nutzer [/P Passwort]]] /ID Ereignis-ID\n\
{[/L Protokollname] | [/SO Quelle]} /T Typ /C Kategorie /D Beschreibung\n\
\n\
Beschreibung:\n\
Dieses Befehlszeilenprogramm ermöglicht Administratoren, eine\n\
Ereignis-ID und -meldung in einem angegebenen Ereignisprotokoll\n\
zu erstellen.\n\
\n\
Parameter:\n\
/S Computer Remotecomputer für die Verbindungsherstellung.\n\
\n\
/U [Domäne\\]Nutzer Bestimmt den Benutzer, unter dem der Befehl\n\
ausgeführt wird.\n\
\n\
/P [Passwort] Bestimmt das Kennwort des Benutzers.\n\
Wird abgefragt, wenn ausgelassen.\n\
\n\
/L Protokollname Bestimmt den Namen des Protokolls in dem das Ereignis\n\
erstellt wird. Zulässige Namen sind:\n\
Application, System, Security\n\
(Letzteres ist dem SYSTEM-Account vorbehalten).\n\
\n\
/SO Quelle Bestimmt den Namen der Quelle des Ereignisses\n\
(Wenn nicht angegeben, wird der Standardname\n\
'eventcreate' benutzt).\n\
Eine gültige Quelle kann aus einer beliebigen\n\
Zeichenfolge bestehen und sollte die Anwendung\n\
oder Komponente darstellen, die das Ereignis verursacht.\n\
\n\
/T Typ Bestimmt den Typ des zu erstellenden Ereignisses.\n\
Zulässige Typen sind: SUCCESS, ERROR, WARNING,\n\
INFORMATION.\n\
\n\
/C Kategorie Bestimmt die Kategorie (Ganzzahl) des Ereignisses.\n\
\n\
/ID Ereignis-ID Bestimmt die Ereignis-ID der Ereignisses. Anzugeben\n\
ist eine Ganzzahl zwischen 0 und 65535.\n\
\n\
/D Beschreibung Legt die Beschreibung für das neu erstellte Ereignis fest.\n\
\n\
/? Zeigt diesen Hilfebildschirm an.\n\
"
IDS_INVALIDSWITCH "Ungültige Option - '%s'.\n"
IDS_BADSYNTAX_0 "Fehlerhafte Kommandozeilensyntax.\n"
IDS_BADSYNTAX_1 "Fehlerhafte Kommandozeilensyntax. Die Option '%s' benötigt einen Wert.\n"
IDS_BADSYNTAX_2 "Fehlerhafte Kommandozeilensyntax. Der Wert für die Option '%s' darf nicht leer sein.\n"
IDS_BADSYNTAX_3 "Fehlerhafte Kommandozeilensyntax. Der Wert '%s' ist für die Option '%s' nicht erlaubt.\n"
IDS_BADSYNTAX_4 "Fehlerhafte Kommandozeilensyntax. Der Wert kann der Option '%s' nicht zugewiesen werden.\n"
IDS_BADSYNTAX_5 "Fehlerhafte Kommandozeilensyntax. Die Option '%s' ist nicht mehr als %lu mal erlaubt.\n"
IDS_BADSYNTAX_6 "Fehlerhafte Kommandozeilensyntax. Die zwingende Option '%s' fehlt.\n"
// IDS_BADSYNTAX_7 "Fehlerhafte Kommandozeilensyntax. Der Wert für die Option '%s' ist außerhalb des Wertebereiches.\n"
IDS_BADSYNTAX_7 "Fehlerhafte Kommandozeilensyntax. Der Wert für die Option '%s' muss zwischen %d und %d. liegen\n"
IDS_LOG_NOT_FOUND "Das Protokoll '%s' existiert nicht. Das Ereignis konnte nicht erstellt werden.\n"
IDS_SOURCE_NOCREATE "Die neue Quelle kann nicht erstellt werden, da kein Protokollname angegebenen wurde.\nNutzen Sie die Option /L um einen Protokollnamen anzugeben.\n"
IDS_SOURCE_EXISTS "Die Quelle existiert bereits im Protokoll '%s' und kann nicht dupliziert werden.\n"
IDS_SOURCE_NOT_CUSTOM "Der Quellparameter wird benutzt um benutzerdefinierte Skripte/Anwendungen zu identifizieren\n(keine installierten Anwendungen).\n"
IDS_SUCCESS_1 "Operation erfolgreich: Ein Ereignis des Typs '%s' wurde im Protokoll '%s' erstellt.\n"
IDS_SUCCESS_2 "Operation erfolgreich: Ein Ereignis des Typs '%s' wurde mit der Quelle '%s' erstellt.\n"
IDS_SUCCESS_3 "Operation erfolgreich: Ein Ereignis des Typs '%s' wurde im\nProtokoll '%s' mit der Quelle '%s' erstellt.\n"
IDS_SWITCH_UNIMPLEMENTED "Die Option '%s' wird aktuell noch nicht unterstützt.\n"
END

View File

@@ -11,28 +11,28 @@ EVENTCREATE [/S bilgisayar [/U [etki alanı\\]kullanıcı [/P şifre]]]\n\
/D tanım\n\
\n\
Tanım:\n\
Bu araç, bir yöneticiye belirli bir olay kaydı içinde husûsî bir olay\n\
Bu araç, bir yöneticiye belirli bir olay kaydı içinde özel bir olay\n\
oluşturmayı sağlar.\n\
\n\
Değişkenler:\n\
/S bilgisayar Bağlanacak uzak bilgisayarı belirtir.\n\
\n\
/U [etki alanı\\]kullanıcı Altında komutun çalışacağı kullanıcı hesâbını\n\
/U [etki alanı\\]kullanıcı Altında komutun çalışacağı kullanıcı hesabını\n\
belirtir.\n\
\n\
/P [şifre] Kullanıcı hesâbının şifresini belirtir.\n\
/P [şifre] Kullanıcı hesabının şifresini belirtir.\n\
Kullanılmazsa girdi için sorar.\n\
\n\
/L kayıt adı Oluşturulacak olayın kayıt adını belirtir.\n\
Geçerli adlar şunlardır:\n\
Application, System, Security\n\
(İkincisi yalnızca DİZGE hesâbına ayrılmıştır.)\n\
(İkincisi yalnızca DİZGE hesabına ayrılmıştır.)\n\
\n\
/SO kaynak Olay için kullanılacak kaynak adını belirtir.\n\
(Belirtilmezse ön tanımlı kaynak adı\n\
(Belirtilmezse varsayılan kaynak adı\n\
'eventcreate' olacaktır.)\n\
Geçerli bir kaynak, rastgele bir dizgi olabilir ve olayı\n\
oluşturan uygulamayı veyâ bileşeni belirtmelidir.\n\
oluşturan uygulamayı veya bileşeni belirtmelidir.\n\
\n\
/T tür Oluşturulacak olayın türünü belirtir.\n\
Geçerli türler: SUCCESS, ERROR, WARNING,\n\
@@ -49,20 +49,20 @@ Değişkenler:\n\
/? Bu yardım görüntülüğünü görüntüler.\n\
"
IDS_INVALIDSWITCH "Geçersiz değişken - ""%s"".\n"
IDS_BADSYNTAX_0 "Geçersiz komut yatacı yazımı.\n"
IDS_BADSYNTAX_1 "Geçersiz komut yatacı yazımı. ""%s"" seçeneği bir değer gerektirir.\n"
IDS_BADSYNTAX_2 "Geçersiz komut yatacı yazımı. ""%s"" seçeneği için değer boş olamaz.\n"
IDS_BADSYNTAX_3 "Geçersiz komut yatacı yazımı. Değer ""%s"", ""%s"" seçeneği için izin verilmedi.\n"
IDS_BADSYNTAX_4 "Geçersiz komut yatacı yazımı. ""%s"" seçeneği için değer belirtilemiyor.\n"
IDS_BADSYNTAX_5 "Geçersiz komut yatacı yazımı. ""%s"" seçeneğine %lu kezden çok izin verilmiyor.\n"
IDS_BADSYNTAX_6 "Geçersiz komut yatacı yazımı. Zorunlu ""%s"" seçeneği yok.\n"
IDS_BADSYNTAX_0 "Geçersiz komut satırı yazımı.\n"
IDS_BADSYNTAX_1 "Geçersiz komut satırı yazımı. ""%s"" seçeneği bir değer gerektirir.\n"
IDS_BADSYNTAX_2 "Geçersiz komut satırı yazımı. ""%s"" seçeneği için değer boş olamaz.\n"
IDS_BADSYNTAX_3 "Geçersiz komut satırı yazımı. Değer ""%s"", ""%s"" seçeneği için izin verilmedi.\n"
IDS_BADSYNTAX_4 "Geçersiz komut satırı yazımı. ""%s"" seçeneği için değer belirtilemiyor.\n"
IDS_BADSYNTAX_5 "Geçersiz komut satırı yazımı. ""%s"" seçeneğine %lu kezden çok izin verilmiyor.\n"
IDS_BADSYNTAX_6 "Geçersiz komut satırı yazımı. Zorunlu ""%s"" seçeneği yok.\n"
// IDS_BADSYNTAX_7 "Geçersiz komut yatacı yazımı. ""%s"" seçeneği için değer izin verilen aralığın dışında.\n"
IDS_BADSYNTAX_7 "Geçersiz komut yatacı yazımı. ""%s"" seçeneği için değer %d ile %d arasında olmalı.\n"
IDS_BADSYNTAX_7 "Geçersiz komut satırı yazımı. ""%s"" seçeneği için değer %d ile %d arasında olmalı.\n"
IDS_LOG_NOT_FOUND """%s"" kaydı yok. Olay oluşturulamıyor.\n"
IDS_SOURCE_NOCREATE "Kayıt adı belirtilmediğinden yeni kaynak oluşturulamıyor.\nKayıt adını belirtmek için lütfen /L seçeneğini kullanınız.\n"
IDS_SOURCE_EXISTS "Kaynak ""%s"" kaydında önceden var ve çoğaltılamaz.\n"
IDS_SOURCE_NOT_CUSTOM "Kaynak değişkeni, husûsî betikleri veyâ husûsî uygulamaları\n(kurulu uygulamaları değil) belirlemek için kullanılıyor.\n"
IDS_SOURCE_NOT_CUSTOM "Kaynak değişkeni, özel betikleri veya özel uygulamaları\n(kurulu uygulamaları değil) belirlemek için kullanılıyor.\n"
IDS_SUCCESS_1 "İşlem başarılı: ""%s"" türünde bir olay ""%s"" kaydında oluşturuldu.\n"
IDS_SUCCESS_2 "İşlem başarılı: ""%s"" türünde bir olay ""%s"" kaynağıyla oluşturuldu.\n"

View File

@@ -0,0 +1,70 @@
/*
* PROJECT: ReactOS EventCreate Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATORS: Copyright 2021 Chan Chilung <eason066@gmail.com>
* REFERENCES: Chinese (Simplified) resource translation
* Copyright 2017 Li Keqing <auroracloud4096@gmail.com>
*/
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE
BEGIN
IDS_USAGE "輸入 “EVENTCREATE /?” 以了解用法。\n"
IDS_HELP "\n\
EVENTCREATE [/S 電腦 [/U [domain\\]使用者 [/P 密碼]]] /ID 事件 ID\n\
{[/L logname] | [/SO 來源]} /T 類型 /C 種類 /D 描述\n\
\n\
描述:\n\
該工具能讓管理員在指定的事件紀錄檔內建立一個自訂事件。\n\
\n\
参数列表:\n\
/S 電腦 指定要連接的遠端電腦。\n\
\n\
/U [domain\\]使用者 指定要執行命令的使用者。\n\
\n\
/P [密碼] 指定使用者密碼。\n\
如果省略,則會出現輸入提示。\n\
\n\
/L logname 指定建立事件的事件紀錄檔。\n\
有效的類型是: Application、System、Security\n\
(最後一項只保留予 SYSTEM 帳戶使用) 。\n\
\n\
/SO 來源 指定事件要使用的來源 (如果沒有指定,\n\
預設來源則為 'eventcreate') 。有效的來源可以是\n\
任意字串,且應該代表產生事件的應用程式或組件。\n\
\n\
/T 類型 指定要建立的事件類型。有效的類型是:\n\
SUCCESSERRORWARNINGINFORMATION。\n\
\n\
/C 分類 指定事件的分類 (整數) 。\n\
\n\
/ID 事件 ID 指定事件的識別碼。\n\
識別碼必須為介乎於 0 - 65535 以內的整數。\n\
\n\
/D 描述 為新事件指定描述文字。\n\
\n\
/? 顯示此說明訊息。\n\
"
IDS_INVALIDSWITCH "無效的選項 - '%s'.\n"
IDS_BADSYNTAX_0 "錯誤的命令行語法。\n"
IDS_BADSYNTAX_1 "錯誤的命令行語法。選項 '%s' 需要一個值。\n"
IDS_BADSYNTAX_2 "錯誤的命令行語法。選項 '%s' 的值不能為空。\n"
IDS_BADSYNTAX_3 "錯誤的命令行語法。值 '%s' 不被選項 '%s' 接受。\n"
IDS_BADSYNTAX_4 "錯誤的命令行語法。值不能被選項 '%s' 所指定。\n"
IDS_BADSYNTAX_5 "錯誤的命令行語法。選項 '%s' 不允許使用超過 %lu 次。\n"
IDS_BADSYNTAX_6 "錯誤的命令行語法。缺少強制選項 '%s'。\n"
// IDS_BADSYNTAX_7 "錯誤的命令行語法。選項 '%s' 的值超過允許的範圍。\n"
IDS_BADSYNTAX_7 "錯誤的命令行語法。選項 '%s' 的值必須介乎於 %d - %d 以內。\n"
IDS_LOG_NOT_FOUND "紀錄檔 '%s' 不存在。無法建立事件。\n"
IDS_SOURCE_NOCREATE "由於沒有指定的紀錄檔,因此無法建立新的來源。\n請使用 /L 選項來指定紀錄檔。\n"
IDS_SOURCE_EXISTS "來源已經存在於紀錄檔 '%s' 中,而且不能重複操作。\n"
IDS_SOURCE_NOT_CUSTOM "來源參數用於識别自訂腳本/ 程序 (不是已安裝的程序) 。\n"
IDS_SUCCESS_1 "操作成功: 一個 '%s' 類型的事件已被建立在紀錄檔 '%s' 中。\n"
IDS_SUCCESS_2 "操作成功: 一個 '%s' 類型的事件已被建立在來源 '%s' 中。\n"
IDS_SUCCESS_3 "操作成功: 一個 '%s' 類型的事件已被建立在紀錄檔 '%s' 和來源 '%s' 中。\n"
IDS_SWITCH_UNIMPLEMENTED "選項 '%s' 目前尚未支援,不便之處,敬請原諒!\n"
END

View File

@@ -0,0 +1,7 @@
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
add_executable(fc fc.c texta.c textw.c fc.rc)
set_module_type(fc win32cui UNICODE)
target_link_libraries(fc conutils ${PSEH_LIB})
add_importlibs(fc msvcrt shlwapi user32 kernel32)
add_cd_file(TARGET fc DESTINATION reactos/system32 FOR all)

View File

@@ -0,0 +1,673 @@
/*
* PROJECT: ReactOS FC Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Comparing files
* COPYRIGHT: Copyright 2021 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
*/
#include "fc.h"
#ifdef __REACTOS__
#include <conutils.h>
#else
#include <stdio.h>
#define ConInitStdStreams() /* empty */
#define StdOut stdout
#define StdErr stderr
void ConPuts(FILE *fp, LPCWSTR psz)
{
fputws(psz, fp);
}
void ConPrintf(FILE *fp, LPCWSTR psz, ...)
{
va_list va;
va_start(va, psz);
vfwprintf(fp, psz, va);
va_end(va);
}
void ConResPuts(FILE *fp, UINT nID)
{
WCHAR sz[MAX_PATH];
LoadStringW(NULL, nID, sz, _countof(sz));
fputws(sz, fp);
}
void ConResPrintf(FILE *fp, UINT nID, ...)
{
va_list va;
WCHAR sz[MAX_PATH];
va_start(va, nID);
LoadStringW(NULL, nID, sz, _countof(sz));
vfwprintf(fp, sz, va);
va_end(va);
}
#endif
#include <strsafe.h>
#include <shlwapi.h>
FCRET NoDifference(VOID)
{
ConResPuts(StdOut, IDS_NO_DIFFERENCE);
return FCRET_IDENTICAL;
}
FCRET Different(LPCWSTR file0, LPCWSTR file1)
{
ConResPrintf(StdOut, IDS_DIFFERENT, file0, file1);
return FCRET_DIFFERENT;
}
FCRET LongerThan(LPCWSTR file0, LPCWSTR file1)
{
ConResPrintf(StdOut, IDS_LONGER_THAN, file0, file1);
return FCRET_DIFFERENT;
}
FCRET OutOfMemory(VOID)
{
ConResPuts(StdErr, IDS_OUT_OF_MEMORY);
return FCRET_INVALID;
}
FCRET CannotRead(LPCWSTR file)
{
ConResPrintf(StdErr, IDS_CANNOT_READ, file);
return FCRET_INVALID;
}
FCRET InvalidSwitch(VOID)
{
ConResPuts(StdErr, IDS_INVALID_SWITCH);
return FCRET_INVALID;
}
FCRET ResyncFailed(VOID)
{
ConResPuts(StdOut, IDS_RESYNC_FAILED);
return FCRET_DIFFERENT;
}
VOID PrintCaption(LPCWSTR file)
{
ConPrintf(StdOut, L"***** %ls\n", file);
}
VOID PrintEndOfDiff(VOID)
{
ConPuts(StdOut, L"*****\n\n");
}
VOID PrintDots(VOID)
{
ConPuts(StdOut, L"...\n");
}
VOID PrintLineW(const FILECOMPARE *pFC, DWORD lineno, LPCWSTR psz)
{
if (pFC->dwFlags & FLAG_N)
ConPrintf(StdOut, L"%5d: %ls\n", lineno, psz);
else
ConPrintf(StdOut, L"%ls\n", psz);
}
VOID PrintLineA(const FILECOMPARE *pFC, DWORD lineno, LPCSTR psz)
{
if (pFC->dwFlags & FLAG_N)
ConPrintf(StdOut, L"%5d: %hs\n", lineno, psz);
else
ConPrintf(StdOut, L"%hs\n", psz);
}
HANDLE DoOpenFileForInput(LPCWSTR file)
{
HANDLE hFile = CreateFileW(file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
ConResPrintf(StdErr, IDS_CANNOT_OPEN, file);
}
return hFile;
}
static FCRET BinaryFileCompare(FILECOMPARE *pFC)
{
FCRET ret;
HANDLE hFile0, hFile1, hMapping0 = NULL, hMapping1 = NULL;
LPBYTE pb0 = NULL, pb1 = NULL;
LARGE_INTEGER ib, cb0, cb1, cbCommon;
DWORD cbView, ibView;
BOOL fDifferent = FALSE;
hFile0 = DoOpenFileForInput(pFC->file[0]);
if (hFile0 == INVALID_HANDLE_VALUE)
return FCRET_CANT_FIND;
hFile1 = DoOpenFileForInput(pFC->file[1]);
if (hFile1 == INVALID_HANDLE_VALUE)
{
CloseHandle(hFile0);
return FCRET_CANT_FIND;
}
do
{
if (_wcsicmp(pFC->file[0], pFC->file[1]) == 0)
{
ret = NoDifference();
break;
}
if (!GetFileSizeEx(hFile0, &cb0))
{
ret = CannotRead(pFC->file[0]);
break;
}
if (!GetFileSizeEx(hFile1, &cb1))
{
ret = CannotRead(pFC->file[1]);
break;
}
cbCommon.QuadPart = min(cb0.QuadPart, cb1.QuadPart);
if (cbCommon.QuadPart > 0)
{
hMapping0 = CreateFileMappingW(hFile0, NULL, PAGE_READONLY,
cb0.HighPart, cb0.LowPart, NULL);
if (hMapping0 == NULL)
{
ret = CannotRead(pFC->file[0]);
break;
}
hMapping1 = CreateFileMappingW(hFile1, NULL, PAGE_READONLY,
cb1.HighPart, cb1.LowPart, NULL);
if (hMapping1 == NULL)
{
ret = CannotRead(pFC->file[1]);
break;
}
ret = FCRET_IDENTICAL;
for (ib.QuadPart = 0; ib.QuadPart < cbCommon.QuadPart; )
{
cbView = (DWORD)min(cbCommon.QuadPart - ib.QuadPart, MAX_VIEW_SIZE);
pb0 = MapViewOfFile(hMapping0, FILE_MAP_READ, ib.HighPart, ib.LowPart, cbView);
pb1 = MapViewOfFile(hMapping1, FILE_MAP_READ, ib.HighPart, ib.LowPart, cbView);
if (!pb0 || !pb1)
{
ret = OutOfMemory();
break;
}
for (ibView = 0; ibView < cbView; ++ib.QuadPart, ++ibView)
{
if (pb0[ibView] == pb1[ibView])
continue;
fDifferent = TRUE;
if (cbCommon.QuadPart > MAXDWORD)
{
ConPrintf(StdOut, L"%016I64X: %02X %02X\n", ib.QuadPart,
pb0[ibView], pb1[ibView]);
}
else
{
ConPrintf(StdOut, L"%08lX: %02X %02X\n", ib.LowPart,
pb0[ibView], pb1[ibView]);
}
}
UnmapViewOfFile(pb0);
UnmapViewOfFile(pb1);
pb0 = pb1 = NULL;
}
if (ret != FCRET_IDENTICAL)
break;
}
if (cb0.QuadPart < cb1.QuadPart)
ret = LongerThan(pFC->file[1], pFC->file[0]);
else if (cb0.QuadPart > cb1.QuadPart)
ret = LongerThan(pFC->file[0], pFC->file[1]);
else if (fDifferent)
ret = Different(pFC->file[0], pFC->file[1]);
else
ret = NoDifference();
} while (0);
UnmapViewOfFile(pb0);
UnmapViewOfFile(pb1);
CloseHandle(hMapping0);
CloseHandle(hMapping1);
CloseHandle(hFile0);
CloseHandle(hFile1);
return ret;
}
static FCRET TextFileCompare(FILECOMPARE *pFC)
{
FCRET ret;
HANDLE hFile0, hFile1, hMapping0 = NULL, hMapping1 = NULL;
LARGE_INTEGER cb0, cb1;
BOOL fUnicode = !!(pFC->dwFlags & FLAG_U);
hFile0 = DoOpenFileForInput(pFC->file[0]);
if (hFile0 == INVALID_HANDLE_VALUE)
return FCRET_CANT_FIND;
hFile1 = DoOpenFileForInput(pFC->file[1]);
if (hFile1 == INVALID_HANDLE_VALUE)
{
CloseHandle(hFile0);
return FCRET_CANT_FIND;
}
do
{
if (_wcsicmp(pFC->file[0], pFC->file[1]) == 0)
{
ret = NoDifference();
break;
}
if (!GetFileSizeEx(hFile0, &cb0))
{
ret = CannotRead(pFC->file[0]);
break;
}
if (!GetFileSizeEx(hFile1, &cb1))
{
ret = CannotRead(pFC->file[1]);
break;
}
if (cb0.QuadPart == 0 && cb1.QuadPart == 0)
{
ret = NoDifference();
break;
}
if (cb0.QuadPart > 0)
{
hMapping0 = CreateFileMappingW(hFile0, NULL, PAGE_READONLY,
cb0.HighPart, cb0.LowPart, NULL);
if (hMapping0 == NULL)
{
ret = CannotRead(pFC->file[0]);
break;
}
}
if (cb1.QuadPart > 0)
{
hMapping1 = CreateFileMappingW(hFile1, NULL, PAGE_READONLY,
cb1.HighPart, cb1.LowPart, NULL);
if (hMapping1 == NULL)
{
ret = CannotRead(pFC->file[1]);
break;
}
}
if (fUnicode)
ret = TextCompareW(pFC, &hMapping0, &cb0, &hMapping1, &cb1);
else
ret = TextCompareA(pFC, &hMapping0, &cb0, &hMapping1, &cb1);
} while (0);
CloseHandle(hMapping0);
CloseHandle(hMapping1);
CloseHandle(hFile0);
CloseHandle(hFile1);
return ret;
}
static BOOL IsBinaryExt(LPCWSTR filename)
{
// Don't change this array. This is by design.
// See also: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fc
static const LPCWSTR s_exts[] = { L"EXE", L"COM", L"SYS", L"OBJ", L"LIB", L"BIN" };
size_t iext;
LPCWSTR pch, ext, pch0 = wcsrchr(filename, L'\\'), pch1 = wcsrchr(filename, L'/');
if (!pch0 && !pch1)
pch = filename;
else if (!pch0 && pch1)
pch = pch1;
else if (pch0 && !pch1)
pch = pch0;
else if (pch0 < pch1)
pch = pch1;
else
pch = pch0;
ext = wcsrchr(pch, L'.');
if (ext)
{
++ext;
for (iext = 0; iext < _countof(s_exts); ++iext)
{
if (_wcsicmp(ext, s_exts[iext]) == 0)
return TRUE;
}
}
return FALSE;
}
static FCRET FileCompare(FILECOMPARE *pFC)
{
FCRET ret;
ConResPrintf(StdOut, IDS_COMPARING, pFC->file[0], pFC->file[1]);
if (!(pFC->dwFlags & FLAG_L) &&
((pFC->dwFlags & FLAG_B) || IsBinaryExt(pFC->file[0]) || IsBinaryExt(pFC->file[1])))
{
ret = BinaryFileCompare(pFC);
}
else
{
ret = TextFileCompare(pFC);
}
ConPuts(StdOut, L"\n");
return ret;
}
/* Is it L"." or L".."? */
#define IS_DOTS(pch) \
((*(pch) == L'.') && (((pch)[1] == 0) || (((pch)[1] == L'.') && ((pch)[2] == 0))))
#define HasWildcard(filename) \
((wcschr((filename), L'*') != NULL) || (wcschr((filename), L'?') != NULL))
static inline BOOL IsTitleWild(LPCWSTR filename)
{
LPCWSTR pch = PathFindFileNameW(filename);
return (pch && *pch == L'*' && pch[1] == L'.' && !HasWildcard(&pch[2]));
}
static FCRET FileCompareOneSideWild(const FILECOMPARE *pFC, BOOL bWildRight)
{
FCRET ret = FCRET_IDENTICAL;
WIN32_FIND_DATAW find;
HANDLE hFind;
WCHAR szPath[MAX_PATH];
FILECOMPARE fc;
hFind = FindFirstFileW(pFC->file[bWildRight], &find);
if (hFind == INVALID_HANDLE_VALUE)
{
ConResPrintf(StdErr, IDS_CANNOT_OPEN, pFC->file[bWildRight]);
ConPuts(StdOut, L"\n");
return FCRET_CANT_FIND;
}
StringCbCopyW(szPath, sizeof(szPath), pFC->file[bWildRight]);
fc = *pFC;
fc.file[!bWildRight] = pFC->file[!bWildRight];
fc.file[bWildRight] = szPath;
do
{
if (IS_DOTS(find.cFileName))
continue;
// replace file title
PathRemoveFileSpecW(szPath);
PathAppendW(szPath, find.cFileName);
switch (FileCompare(&fc))
{
case FCRET_IDENTICAL:
break;
case FCRET_DIFFERENT:
if (ret != FCRET_INVALID)
ret = FCRET_DIFFERENT;
break;
default:
ret = FCRET_INVALID;
break;
}
} while (FindNextFileW(hFind, &find));
FindClose(hFind);
return ret;
}
static FCRET FileCompareWildTitle(const FILECOMPARE *pFC)
{
FCRET ret = FCRET_IDENTICAL;
WIN32_FIND_DATAW find;
HANDLE hFind;
WCHAR szPath0[MAX_PATH], szPath1[MAX_PATH];
FILECOMPARE fc;
LPWSTR pch;
hFind = FindFirstFileW(pFC->file[0], &find);
if (hFind == INVALID_HANDLE_VALUE)
{
ConResPrintf(StdErr, IDS_CANNOT_OPEN, pFC->file[0]);
ConPuts(StdOut, L"\n");
return FCRET_CANT_FIND;
}
StringCbCopyW(szPath0, sizeof(szPath0), pFC->file[0]);
StringCbCopyW(szPath1, sizeof(szPath1), pFC->file[1]);
pch = PathFindExtensionW(pFC->file[1]);
fc = *pFC;
fc.file[0] = szPath0;
fc.file[1] = szPath1;
do
{
if (IS_DOTS(find.cFileName))
continue;
// replace file title
PathRemoveFileSpecW(szPath0);
PathRemoveFileSpecW(szPath1);
PathAppendW(szPath0, find.cFileName);
PathAppendW(szPath1, find.cFileName);
// replace dot extension
PathRemoveExtensionW(szPath1);
PathAddExtensionW(szPath1, pch);
switch (FileCompare(&fc))
{
case FCRET_IDENTICAL:
break;
case FCRET_DIFFERENT:
if (ret != FCRET_INVALID)
ret = FCRET_DIFFERENT;
break;
default:
ret = FCRET_INVALID;
break;
}
} while (FindNextFileW(hFind, &find));
FindClose(hFind);
return ret;
}
static FCRET FileCompareBothWild(const FILECOMPARE *pFC)
{
FCRET ret = FCRET_IDENTICAL;
WIN32_FIND_DATAW find0, find1;
HANDLE hFind0, hFind1;
WCHAR szPath0[MAX_PATH], szPath1[MAX_PATH];
FILECOMPARE fc;
hFind0 = FindFirstFileW(pFC->file[0], &find0);
if (hFind0 == INVALID_HANDLE_VALUE)
{
ConResPrintf(StdErr, IDS_CANNOT_OPEN, pFC->file[0]);
ConPuts(StdOut, L"\n");
return FCRET_CANT_FIND;
}
hFind1 = FindFirstFileW(pFC->file[1], &find1);
if (hFind1 == INVALID_HANDLE_VALUE)
{
CloseHandle(hFind0);
ConResPrintf(StdErr, IDS_CANNOT_OPEN, pFC->file[1]);
ConPuts(StdOut, L"\n");
return FCRET_CANT_FIND;
}
StringCbCopyW(szPath0, sizeof(szPath0), pFC->file[0]);
StringCbCopyW(szPath1, sizeof(szPath1), pFC->file[1]);
fc = *pFC;
fc.file[0] = szPath0;
fc.file[1] = szPath1;
do
{
while (IS_DOTS(find0.cFileName))
{
if (!FindNextFileW(hFind0, &find0))
goto quit;
}
while (IS_DOTS(find1.cFileName))
{
if (!FindNextFileW(hFind1, &find1))
goto quit;
}
// replace file title
PathRemoveFileSpecW(szPath0);
PathRemoveFileSpecW(szPath1);
PathAppendW(szPath0, find0.cFileName);
PathAppendW(szPath1, find1.cFileName);
switch (FileCompare(&fc))
{
case FCRET_IDENTICAL:
break;
case FCRET_DIFFERENT:
if (ret != FCRET_INVALID)
ret = FCRET_DIFFERENT;
break;
default:
ret = FCRET_INVALID;
break;
}
} while (FindNextFileW(hFind0, &find0) && FindNextFileW(hFind1, &find1));
quit:
CloseHandle(hFind0);
CloseHandle(hFind1);
return ret;
}
static FCRET WildcardFileCompare(FILECOMPARE *pFC)
{
BOOL fWild0, fWild1;
if (pFC->dwFlags & FLAG_HELP)
{
ConResPuts(StdOut, IDS_USAGE);
return FCRET_INVALID;
}
if (!pFC->file[0] || !pFC->file[1])
{
ConResPuts(StdErr, IDS_NEEDS_FILES);
return FCRET_INVALID;
}
fWild0 = HasWildcard(pFC->file[0]);
fWild1 = HasWildcard(pFC->file[1]);
if (fWild0 && fWild1)
{
if (IsTitleWild(pFC->file[0]) && IsTitleWild(pFC->file[1]))
return FileCompareWildTitle(pFC);
else
return FileCompareBothWild(pFC);
}
else if (fWild0)
{
return FileCompareOneSideWild(pFC, FALSE);
}
else if (fWild1)
{
return FileCompareOneSideWild(pFC, TRUE);
}
return FileCompare(pFC);
}
int wmain(int argc, WCHAR **argv)
{
FILECOMPARE fc = { .dwFlags = 0, .n = 100, .nnnn = 2 };
PWCHAR endptr;
INT i;
/* Initialize the Console Standard Streams */
ConInitStdStreams();
for (i = 1; i < argc; ++i)
{
if (argv[i][0] != L'/')
{
if (!fc.file[0])
fc.file[0] = argv[i];
else if (!fc.file[1])
fc.file[1] = argv[i];
else
return InvalidSwitch();
continue;
}
switch (towupper(argv[i][1]))
{
case L'A':
fc.dwFlags |= FLAG_A;
break;
case L'B':
fc.dwFlags |= FLAG_B;
break;
case L'C':
fc.dwFlags |= FLAG_C;
break;
case L'L':
if (_wcsicmp(argv[i], L"/L") == 0)
{
fc.dwFlags |= FLAG_L;
}
else if (towupper(argv[i][2]) == L'B')
{
if (iswdigit(argv[i][3]))
{
fc.dwFlags |= FLAG_LBn;
fc.n = wcstoul(&argv[i][3], &endptr, 10);
if (endptr == NULL || *endptr != 0)
return InvalidSwitch();
}
else
{
return InvalidSwitch();
}
}
break;
case L'N':
fc.dwFlags |= FLAG_N;
break;
case L'O':
if (_wcsicmp(argv[i], L"/OFF") == 0 || _wcsicmp(argv[i], L"/OFFLINE") == 0)
{
fc.dwFlags |= FLAG_OFFLINE;
}
break;
case L'T':
fc.dwFlags |= FLAG_T;
break;
case L'U':
fc.dwFlags |= FLAG_U;
break;
case L'W':
fc.dwFlags |= FLAG_W;
break;
case L'0': case L'1': case L'2': case L'3': case L'4':
case L'5': case L'6': case L'7': case L'8': case L'9':
fc.nnnn = wcstoul(&argv[i][1], &endptr, 10);
if (endptr == NULL || *endptr != 0)
return InvalidSwitch();
fc.dwFlags |= FLAG_nnnn;
break;
case L'?':
fc.dwFlags |= FLAG_HELP;
break;
default:
return InvalidSwitch();
}
}
return WildcardFileCompare(&fc);
}
#ifndef __REACTOS__
int main(int argc, char **argv)
{
INT my_argc;
LPWSTR *my_argv = CommandLineToArgvW(GetCommandLineW(), &my_argc);
INT ret = wmain(my_argc, my_argv);
LocalFree(my_argv);
return ret;
}
#endif

View File

@@ -0,0 +1,97 @@
/*
* PROJECT: ReactOS FC Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Comparing files
* COPYRIGHT: Copyright 2021 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
*/
#pragma once
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#ifdef __REACTOS__
#include <windef.h>
#include <winbase.h>
#include <winuser.h>
#include <winnls.h>
#else
#include <windows.h>
#endif
#include <wine/list.h>
#include "resource.h"
// See also: https://stackoverflow.com/questions/33125766/compare-files-with-a-cmd
typedef enum FCRET // return code of FC command
{
FCRET_INVALID = -1,
FCRET_IDENTICAL = 0,
FCRET_DIFFERENT = 1,
FCRET_CANT_FIND = 2,
FCRET_NO_MORE_DATA = 3 // (extension)
} FCRET;
typedef struct NODE_W
{
struct list entry;
LPWSTR pszLine;
LPWSTR pszComp; // compressed
DWORD lineno;
DWORD hash;
} NODE_W;
typedef struct NODE_A
{
struct list entry;
LPSTR pszLine;
LPSTR pszComp; // compressed
DWORD lineno;
DWORD hash;
} NODE_A;
#define FLAG_A (1 << 0) // abbreviation
#define FLAG_B (1 << 1) // binary
#define FLAG_C (1 << 2) // ignore cases
#define FLAG_L (1 << 3) // ASCII mode
#define FLAG_LBn (1 << 4) // line buffers
#define FLAG_N (1 << 5) // show line numbers
#define FLAG_OFFLINE (1 << 6) // ???
#define FLAG_T (1 << 7) // prevent fc from converting tabs to spaces
#define FLAG_U (1 << 8) // Unicode
#define FLAG_W (1 << 9) // compress white space
#define FLAG_nnnn (1 << 10) // ???
#define FLAG_HELP (1 << 11) // show usage
typedef struct FILECOMPARE
{
DWORD dwFlags; // FLAG_...
INT n; // # of line buffers
INT nnnn; // retry count before resynch
LPCWSTR file[2];
struct list list[2];
} FILECOMPARE;
// text.h
FCRET TextCompareW(FILECOMPARE *pFC,
HANDLE *phMapping0, const LARGE_INTEGER *pcb0,
HANDLE *phMapping1, const LARGE_INTEGER *pcb1);
FCRET TextCompareA(FILECOMPARE *pFC,
HANDLE *phMapping0, const LARGE_INTEGER *pcb0,
HANDLE *phMapping1, const LARGE_INTEGER *pcb1);
// fc.c
VOID PrintLineW(const FILECOMPARE *pFC, DWORD lineno, LPCWSTR psz);
VOID PrintLineA(const FILECOMPARE *pFC, DWORD lineno, LPCSTR psz);
VOID PrintCaption(LPCWSTR file);
VOID PrintEndOfDiff(VOID);
VOID PrintDots(VOID);
FCRET NoDifference(VOID);
FCRET Different(LPCWSTR file0, LPCWSTR file1);
FCRET LongerThan(LPCWSTR file0, LPCWSTR file1);
FCRET OutOfMemory(VOID);
FCRET CannotRead(LPCWSTR file);
FCRET InvalidSwitch(VOID);
FCRET ResyncFailed(VOID);
HANDLE DoOpenFileForInput(LPCWSTR file);
#ifdef _WIN64
#define MAX_VIEW_SIZE (256 * 1024 * 1024) // 256 MB
#else
#define MAX_VIEW_SIZE (64 * 1024 * 1024) // 64 MB
#endif

View File

@@ -0,0 +1,93 @@
#include <windef.h>
#include "resource.h"
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS FC Command"
#define REACTOS_STR_INTERNAL_NAME "fc"
#define REACTOS_STR_ORIGINAL_FILENAME "fc.exe"
#include <reactos/version.rc>
#pragma code_page(65001) /* UTF-8 */
#ifdef LANGUAGE_BG_BG
#include "lang/bg-BG.rc"
#endif
#ifdef LANGUAGE_CS_CZ
#include "lang/cs-CZ.rc"
#endif
#ifdef LANGUAGE_DE_DE
#include "lang/de-DE.rc"
#endif
#ifdef LANGUAGE_EL_GR
#include "lang/el-GR.rc"
#endif
#ifdef LANGUAGE_EN_GB
#include "lang/en-GB.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/en-US.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/es-ES.rc"
#endif
#ifdef LANGUAGE_ET_EE
#include "lang/et-EE.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
#ifdef LANGUAGE_HE_IL
#include "lang/he-IL.rc"
#endif
#ifdef LANGUAGE_HU_HU
#include "lang/hu-HU.rc"
#endif
#ifdef LANGUAGE_ID_ID
#include "lang/id-ID.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_NL_NL
#include "lang/nl-NL.rc"
#endif
#ifdef LANGUAGE_NB_NO
#include "lang/no-NO.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif
#ifdef LANGUAGE_PT_BR
#include "lang/pt-BR.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/pt-PT.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/tr-TR.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/uk-UA.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/zh-CN.rc"
#endif
#ifdef LANGUAGE_ZH_TW
#include "lang/zh-TW.rc"
#endif

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

View File

@@ -0,0 +1,41 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Compares two files or sets of files and displays the differences between\n\
them\n\
\n\
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]\n\
[drive1:][path1]filename1 [drive2:][path2]filename2\n\
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2\n\
\n\
/A Displays only first and last lines for each set of differences.\n\
/B Performs a binary comparison.\n\
/C Disregards the case of letters.\n\
/L Compares files as ASCII text.\n\
/LBn Sets the maximum consecutive mismatches to the specified\n\
number of lines (default: 100).\n\
/N Displays the line numbers on an ASCII comparison.\n\
/OFF[LINE] Doesn't skip files with offline attribute set.\n\
/T Doesn't expand tabs to spaces (default: expand).\n\
/U Compare files as UNICODE text files.\n\
/W Compresses white space (tabs and spaces) for comparison.\n\
/nnnn Specifies the number of consecutive lines that must match\n\
after a mismatch (default: 2).\n\
[drive1:][path1]filename1\n\
Specifies the first file or set of files to compare.\n\
[drive2:][path2]filename2\n\
Specifies the second file or set of files to compare.\n"
IDS_NO_DIFFERENCE "FC: no differences encountered\n"
IDS_LONGER_THAN "FC: %ls longer than %ls\n"
IDS_COMPARING "Comparing files %ls and %ls\n"
IDS_OUT_OF_MEMORY "FC: Out of memory\n"
IDS_CANNOT_READ "FC: cannot read from %ls\n"
IDS_INVALID_SWITCH "FC: Invalid Switch\n"
IDS_CANNOT_OPEN "FC: cannot open %ls - No such file or folder\n"
IDS_NEEDS_FILES "FC: Insufficient number of file specifications\n"
IDS_CANT_USE_WILDCARD "Wildcard ('*' and '?') are not supported yet\n"
IDS_DIFFERENT "FC: File %ls and %ls are different\n"
IDS_TOO_LARGE "FC: File %ls too large\n"
IDS_RESYNC_FAILED "Resync failed. Files are too different.\n"
END

Some files were not shown because too many files have changed in this diff Show More