ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
July 2017
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
19 participants
213 discussions
Start a n
N
ew thread
[tfaber] 75314: [USBPORT] Patch by Vadim Galyant: - Improve variable naming - Make more consistent use of constants
by tfaber@svn.reactos.org
Author: tfaber Date: Sun Jul 9 21:05:58 2017 New Revision: 75314 URL:
http://svn.reactos.org/svn/reactos?rev=75314&view=rev
Log: [USBPORT] Patch by Vadim Galyant: - Improve variable naming - Make more consistent use of constants Modified: trunk/reactos/drivers/usb/usbport/debug.c trunk/reactos/drivers/usb/usbport/pnp.c trunk/reactos/drivers/usb/usbport/roothub.c trunk/reactos/drivers/usb/usbport/usbport.c trunk/reactos/drivers/usb/usbport/usbport.h trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h Modified: trunk/reactos/drivers/usb/usbport/debug.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/debug.…
============================================================================== --- trunk/reactos/drivers/usb/usbport/debug.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbport/debug.c [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -9,7 +9,7 @@ ULONG NTAPI -USBPORT_DbgPrint(IN PVOID Context, +USBPORT_DbgPrint(IN PVOID MiniPortExtension, IN ULONG Level, IN PCH Format, ...) @@ -20,7 +20,7 @@ ULONG NTAPI -USBPORT_TestDebugBreak(IN PVOID Context) +USBPORT_TestDebugBreak(IN PVOID MiniPortExtension) { DPRINT("USBPORT_TestDebugBreak: UNIMPLEMENTED. FIXME. \n"); return 0; @@ -28,7 +28,7 @@ ULONG NTAPI -USBPORT_AssertFailure(PVOID Context, +USBPORT_AssertFailure(PVOID MiniPortExtension, PVOID FailedAssertion, PVOID FileName, ULONG LineNumber, @@ -41,7 +41,7 @@ VOID NTAPI -USBPORT_BugCheck(IN PVOID Context) +USBPORT_BugCheck(IN PVOID MiniPortExtension) { DPRINT1("USBPORT_BugCheck: FIXME \n"); //KeBugCheckEx(BUGCODE_USB_DRIVER, ...); @@ -50,15 +50,15 @@ ULONG NTAPI -USBPORT_LogEntry(IN PVOID BusContext, +USBPORT_LogEntry(IN PVOID MiniPortExtension, IN ULONG DriverTag, IN ULONG EnumTag, IN ULONG P1, IN ULONG P2, IN ULONG P3) { - DPRINT_MINIPORT("USBPORT_LogEntry: BusContext - %p, EnumTag - %lx, P1 - %lx, P2 - %lx, P3 - %lx\n", - BusContext, + DPRINT_MINIPORT("USBPORT_LogEntry: MiniPortExtension - %p, EnumTag - %lx, P1 - %lx, P2 - %lx, P3 - %lx\n", + MiniPortExtension, EnumTag, P1, P2, Modified: trunk/reactos/drivers/usb/usbport/pnp.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/pnp.c?…
============================================================================== --- trunk/reactos/drivers/usb/usbport/pnp.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbport/pnp.c [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -1372,7 +1372,7 @@ if (!(FdoCommonExtension->PnpStateFlags & USBPORT_PNP_STATE_FAILED)) { USBPORT_InvalidateControllerHandler(FdoDevice, - INVALIDATE_CONTROLLER_SURPRISE_REMOVE); + USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE); } goto ForwardIrp; Modified: trunk/reactos/drivers/usb/usbport/roothub.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/roothu…
============================================================================== --- trunk/reactos/drivers/usb/usbport/roothub.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbport/roothub.c [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -907,7 +907,7 @@ ULONG NTAPI -USBPORT_InvalidateRootHub(PVOID Context) +USBPORT_InvalidateRootHub(PVOID MiniPortExtension) { PUSBPORT_DEVICE_EXTENSION FdoExtension; PDEVICE_OBJECT FdoDevice; @@ -917,7 +917,7 @@ DPRINT("USBPORT_InvalidateRootHub ... \n"); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; Modified: trunk/reactos/drivers/usb/usbport/usbport.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/usbpor…
============================================================================== --- trunk/reactos/drivers/usb/usbport/usbport.c [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbport/usbport.c [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -363,7 +363,7 @@ MPSTATUS NTAPI -USBPORT_GetMiniportRegistryKeyValue(IN PVOID Context, +USBPORT_GetMiniportRegistryKeyValue(IN PVOID MiniPortExtension, IN BOOL UseDriverKey, IN PCWSTR SourceString, IN SIZE_T LengthStr, @@ -374,18 +374,15 @@ PDEVICE_OBJECT FdoDevice; NTSTATUS Status; - DPRINT("USBPORT_GetMiniportRegistryKeyValue: Context - %p, UseDriverKey - %x, SourceString - %S, LengthStr - %x, Buffer - %p, BufferLength - %x\n", - Context, + DPRINT("USBPORT_GetMiniportRegistryKeyValue: MiniPortExtension - %p, UseDriverKey - %x, SourceString - %S, LengthStr - %x, Buffer - %p, BufferLength - %x\n", + MiniPortExtension, UseDriverKey, SourceString, LengthStr, Buffer, BufferLength); - //DbgBreakPoint(); - - //FdoExtension->MiniPortExt = (PVOID)((ULONG_PTR)FdoExtension + sizeof(USBPORT_DEVICE_EXTENSION)); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; @@ -449,7 +446,7 @@ MPSTATUS NTAPI -USBPORT_ReadWriteConfigSpace(IN PVOID Context, +USBPORT_ReadWriteConfigSpace(IN PVOID MiniPortExtension, IN BOOLEAN IsReadData, IN PVOID Buffer, IN ULONG Offset, @@ -462,7 +459,7 @@ DPRINT("USBPORT_ReadWriteConfigSpace: ... \n"); //FdoExtension->MiniPortExt = (PVOID)((ULONG_PTR)FdoExtension + sizeof(USBPORT_DEVICE_EXTENSION)); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; @@ -536,7 +533,7 @@ NTSTATUS NTAPI -USBPORT_Wait(IN PVOID Context, +USBPORT_Wait(IN PVOID MiniPortExtension, IN ULONG Milliseconds) { LARGE_INTEGER Interval = {{0, 0}}; @@ -640,15 +637,15 @@ switch (Type) { - case INVALIDATE_CONTROLLER_RESET: + case USBPORT_INVALIDATE_CONTROLLER_RESET: DPRINT1("USBPORT_InvalidateControllerHandler: INVALIDATE_CONTROLLER_RESET UNIMPLEMENTED. FIXME. \n"); break; - case INVALIDATE_CONTROLLER_SURPRISE_REMOVE: + case USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE: DPRINT1("USBPORT_InvalidateControllerHandler: INVALIDATE_CONTROLLER_SURPRISE_REMOVE UNIMPLEMENTED. FIXME. \n"); break; - case INVALIDATE_CONTROLLER_SOFT_INTERRUPT: + case USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT: if (InterlockedIncrement(&FdoExtension->IsrDpcCounter)) { InterlockedDecrement(&FdoExtension->IsrDpcCounter); @@ -663,7 +660,7 @@ ULONG NTAPI -USBPORT_InvalidateController(IN PVOID Context, +USBPORT_InvalidateController(IN PVOID MiniPortExtension, IN ULONG Type) { PUSBPORT_DEVICE_EXTENSION FdoExtension; @@ -672,7 +669,7 @@ DPRINT("USBPORT_InvalidateController: Invalidate Type - %x\n", Type); //FdoExtension->MiniPortExt = (PVOID)((ULONG_PTR)FdoExtension + sizeof(USBPORT_DEVICE_EXTENSION)); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; @@ -683,8 +680,8 @@ ULONG NTAPI -USBPORT_NotifyDoubleBuffer(IN PVOID Context1, - IN PVOID Context2, +USBPORT_NotifyDoubleBuffer(IN PVOID MiniPortExtension, + IN PVOID MiniPortTransfer, IN PVOID Buffer, IN SIZE_T Length) { @@ -2011,7 +2008,7 @@ ULONG NTAPI -USBPORT_RequestAsyncCallback(IN PVOID Context, +USBPORT_RequestAsyncCallback(IN PVOID MiniPortExtension, IN ULONG TimerValue, IN PVOID Buffer, IN SIZE_T Length, @@ -2024,7 +2021,7 @@ DPRINT("USBPORT_RequestAsyncCallback: ... \n"); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; @@ -2096,8 +2093,8 @@ ULONG NTAPI -USBPORT_InvalidateEndpoint(IN PVOID Context1, - IN PVOID Context2) +USBPORT_InvalidateEndpoint(IN PVOID MiniPortExtension, + IN PVOID MiniPortEndpoint) { PUSBPORT_DEVICE_EXTENSION FdoExtension; PDEVICE_OBJECT FdoDevice; @@ -2105,26 +2102,25 @@ DPRINT_CORE("USBPORT_InvalidateEndpoint: ... \n"); - FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)Context1 - + FdoExtension = (PUSBPORT_DEVICE_EXTENSION)((ULONG_PTR)MiniPortExtension - sizeof(USBPORT_DEVICE_EXTENSION)); FdoDevice = FdoExtension->CommonExtension.SelfDevice; - Endpoint = (PUSBPORT_ENDPOINT)((ULONG_PTR)Context2 - - sizeof(USBPORT_ENDPOINT)); - - if (Context2) - { - USBPORT_InvalidateEndpointHandler(FdoDevice, - Endpoint, - INVALIDATE_ENDPOINT_ONLY); - } - else + if (!MiniPortEndpoint) { USBPORT_InvalidateEndpointHandler(FdoDevice, NULL, INVALIDATE_ENDPOINT_ONLY); - } + return 0; + } + + Endpoint = (PUSBPORT_ENDPOINT)((ULONG_PTR)MiniPortEndpoint - + sizeof(USBPORT_ENDPOINT)); + + USBPORT_InvalidateEndpointHandler(FdoDevice, + Endpoint, + INVALIDATE_ENDPOINT_ONLY); return 0; } @@ -2698,7 +2694,7 @@ DPRINT("USBPORT_RegisterUSBPortDriver: sizeof(USBPORT_DEVICE_EXTENSION) - %x\n", sizeof(USBPORT_DEVICE_EXTENSION)); - if (Version < 100) // 100 - USB1.1; 200 - USB2.0 + if (Version < USB10_MINIPORT_INTERFACE_VERSION) { return STATUS_UNSUCCESSFUL; } Modified: trunk/reactos/drivers/usb/usbport/usbport.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbport/usbpor…
============================================================================== --- trunk/reactos/drivers/usb/usbport/usbport.h [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbport/usbport.h [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -25,10 +25,6 @@ #define USBPORT_RECIPIENT_ROOT_HUB BMREQUEST_TO_DEVICE #define USBPORT_RECIPIENT_ROOT_PORT BMREQUEST_TO_OTHER - -#define INVALIDATE_CONTROLLER_RESET 1 -#define INVALIDATE_CONTROLLER_SURPRISE_REMOVE 2 -#define INVALIDATE_CONTROLLER_SOFT_INTERRUPT 3 #define INVALIDATE_ENDPOINT_ONLY 0 #define INVALIDATE_ENDPOINT_WORKER_THREAD 1 @@ -414,7 +410,7 @@ NTSTATUS NTAPI USBPORT_Wait( - IN PVOID Context, + IN PVOID MiniPortExtension, IN ULONG Milliseconds); VOID @@ -570,7 +566,7 @@ ULONG NTAPI USBPORT_DbgPrint( - IN PVOID Context, + IN PVOID MiniPortExtension, IN ULONG Level, IN PCH Format, ...); @@ -578,12 +574,12 @@ ULONG NTAPI USBPORT_TestDebugBreak( - IN PVOID Context); + IN PVOID MiniPortExtension); ULONG NTAPI USBPORT_AssertFailure( - PVOID Context, + PVOID MiniPortExtension, PVOID FailedAssertion, PVOID FileName, ULONG LineNumber, @@ -592,12 +588,12 @@ VOID NTAPI USBPORT_BugCheck( - IN PVOID Context); + IN PVOID MiniPortExtension); ULONG NTAPI USBPORT_LogEntry( - IN PVOID BusContext, + IN PVOID MiniPortExtension, IN ULONG DriverTag, IN ULONG EnumTag, IN ULONG P1, @@ -1090,7 +1086,7 @@ ULONG NTAPI USBPORT_InvalidateRootHub( - PVOID Context); + PVOID MiniPortExtension); VOID NTAPI Modified: trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/reactos/driver…
============================================================================== --- trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/reactos/drivers/usbport/usbmport.h [iso-8859-1] Sun Jul 9 21:05:58 2017 @@ -20,6 +20,21 @@ #define USBPORT_ENDPOINT_RUN 0 #define USBPORT_ENDPOINT_HALT 1 #define USBPORT_ENDPOINT_CONTROL 4 + +/* Interrupt Endpoint Poll Interval */ +#define ENDPOINT_INTERRUPT_1ms 1 +#define ENDPOINT_INTERRUPT_2ms 2 +#define ENDPOINT_INTERRUPT_4ms 4 +#define ENDPOINT_INTERRUPT_8ms 8 +#define ENDPOINT_INTERRUPT_16ms 16 +#define ENDPOINT_INTERRUPT_32ms 32 + +#define INTERRUPT_ENDPOINTs (ENDPOINT_INTERRUPT_32ms + \ + ENDPOINT_INTERRUPT_16ms + \ + ENDPOINT_INTERRUPT_8ms + \ + ENDPOINT_INTERRUPT_4ms + \ + ENDPOINT_INTERRUPT_2ms + \ + ENDPOINT_INTERRUPT_1ms) /* Types of resources. For USBPORT_RESOURCES::ResourcesTypes */ #define USBPORT_RESOURCES_PORT 1 @@ -405,6 +420,10 @@ PVOID, ULONG); +#define USBPORT_INVALIDATE_CONTROLLER_RESET 1 +#define USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE 2 +#define USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT 3 + typedef ULONG (NTAPI *PUSBPORT_INVALIDATE_CONTROLLER)( PVOID, @@ -452,6 +471,9 @@ #define USB_MINIPORT_FLAGS_POLLING 0x0080 #define USB_MINIPORT_FLAGS_NO_DMA 0x0100 #define USB_MINIPORT_FLAGS_WAKE_SUPPORT 0x0200 + +#define TOTAL_USB11_BUS_BANDWIDTH 12000 +#define TOTAL_USB20_BUS_BANDWIDTH 400000 typedef struct _USBPORT_REGISTRATION_PACKET { ULONG MiniPortVersion; @@ -545,6 +567,9 @@ ULONG Reserved5; } USBPORT_REGISTRATION_PACKET, *PUSBPORT_REGISTRATION_PACKET; +#define USB10_MINIPORT_INTERFACE_VERSION 100 +#define USB20_MINIPORT_INTERFACE_VERSION 200 + typedef struct _USBPORT_MINIPORT_INTERFACE { PDRIVER_OBJECT DriverObject; LIST_ENTRY DriverLink;
7 years, 5 months
1
0
0
0
[gadamopoulos] 75313: [EXPLORER] - CTrayWindow: Implement the IContextMenu interface. This will be used by the CBandSite to query the context menu of its site (the CTrayWindow) and add it in its co...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Sun Jul 9 20:57:01 2017 New Revision: 75313 URL:
http://svn.reactos.org/svn/reactos?rev=75313&view=rev
Log: [EXPLORER] - CTrayWindow: Implement the IContextMenu interface. This will be used by the CBandSite to query the context menu of its site (the CTrayWindow) and add it in its context menu. - CTrayWindowCtxMenu: Use Shell_MergeMenus in QueryContextMenu and respect its parameters. Modified: trunk/reactos/base/shell/explorer/resource.h trunk/reactos/base/shell/explorer/traywnd.cpp Modified: trunk/reactos/base/shell/explorer/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/resour…
============================================================================== --- trunk/reactos/base/shell/explorer/resource.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/resource.h [iso-8859-1] Sun Jul 9 20:57:01 2017 @@ -177,15 +177,15 @@ #define ID_SHELL_CMD_FIRST 0xF #define ID_SHELL_CMD_LAST 0x7FEF -#define ID_SHELL_CMD_PROPERTIES (ID_SHELL_CMD_LAST + 1) -#define ID_SHELL_CMD_OPEN_ALL_USERS (ID_SHELL_CMD_LAST + 2) -#define ID_SHELL_CMD_EXPLORE_ALL_USERS (ID_SHELL_CMD_LAST + 3) -#define ID_LOCKTASKBAR (ID_SHELL_CMD_LAST + 4) -#define ID_SHELL_CMD_OPEN_TASKMGR (ID_SHELL_CMD_LAST + 5) -#define ID_SHELL_CMD_UNDO_ACTION (ID_SHELL_CMD_LAST + 6) -#define ID_SHELL_CMD_SHOW_DESKTOP (ID_SHELL_CMD_LAST + 7) -#define ID_SHELL_CMD_TILE_WND_V (ID_SHELL_CMD_LAST + 8) -#define ID_SHELL_CMD_TILE_WND_H (ID_SHELL_CMD_LAST + 9) -#define ID_SHELL_CMD_CASCADE_WND (ID_SHELL_CMD_LAST + 10) -#define ID_SHELL_CMD_CUST_NOTIF (ID_SHELL_CMD_LAST + 11) -#define ID_SHELL_CMD_ADJUST_DAT (ID_SHELL_CMD_LAST + 12) +#define ID_SHELL_CMD_PROPERTIES (401) +#define ID_SHELL_CMD_OPEN_ALL_USERS (402) +#define ID_SHELL_CMD_EXPLORE_ALL_USERS (403) +#define ID_LOCKTASKBAR (404) +#define ID_SHELL_CMD_OPEN_TASKMGR (405) +#define ID_SHELL_CMD_UNDO_ACTION (406) +#define ID_SHELL_CMD_SHOW_DESKTOP (407) +#define ID_SHELL_CMD_TILE_WND_V (408) +#define ID_SHELL_CMD_TILE_WND_H (409) +#define ID_SHELL_CMD_CASCADE_WND (410) +#define ID_SHELL_CMD_CUST_NOTIF (411) +#define ID_SHELL_CMD_ADJUST_DAT (412) Modified: trunk/reactos/base/shell/explorer/traywnd.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traywn…
============================================================================== --- trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] Sun Jul 9 20:57:01 2017 @@ -190,7 +190,8 @@ public CWindowImpl < CTrayWindow, CWindow, CControlWinTraits >, public ITrayWindow, public IShellDesktopTray, - public IOleWindow + public IOleWindow, + public IContextMenu { CStartButton m_StartButton; @@ -198,6 +199,7 @@ CComPtr<IMenuPopup> m_StartMenuPopup; CComPtr<IDeskBand> m_TaskBand; + CComPtr<IContextMenu> m_ContextMenu; HTHEME m_Theme; HFONT m_Font; @@ -2078,8 +2080,44 @@ } - - + /* + * IContextMenu + */ + HRESULT STDMETHODCALLTYPE QueryContextMenu(HMENU hPopup, + UINT indexMenu, + UINT idCmdFirst, + UINT idCmdLast, + UINT uFlags) + { + if (!m_ContextMenu) + { + HRESULT hr = TrayWindowCtxMenuCreator(this, m_hWnd, &m_ContextMenu); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + } + + return m_ContextMenu->QueryContextMenu(hPopup, indexMenu, idCmdFirst, idCmdLast, uFlags); + } + + HRESULT STDMETHODCALLTYPE InvokeCommand(LPCMINVOKECOMMANDINFO lpici) + { + if (!m_ContextMenu) + return E_INVALIDARG; + + return m_ContextMenu->InvokeCommand(lpici); + } + + HRESULT STDMETHODCALLTYPE GetCommandString(UINT_PTR idCmd, + UINT uType, + UINT *pwReserved, + LPSTR pszName, + UINT cchMax) + { + if (!m_ContextMenu) + return E_INVALIDARG; + + return m_ContextMenu->GetCommandString(idCmd, uType, pwReserved, pszName, cchMax); + } /********************************************************** @@ -2590,9 +2628,7 @@ { HandleTrayContextMenu: /* Tray the default tray window context menu */ - CComPtr<IContextMenu> ctxMenu; - TrayWindowCtxMenuCreator(this, m_hWnd, &ctxMenu); - TrackCtxMenu(ctxMenu, ppt, NULL, FALSE, this); + TrackCtxMenu(this, ppt, NULL, FALSE, this); } } return Ret; @@ -2998,6 +3034,7 @@ /*COM_INTERFACE_ENTRY_IID(IID_ITrayWindow, ITrayWindow)*/ COM_INTERFACE_ENTRY_IID(IID_IShellDesktopTray, IShellDesktopTray) COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) END_COM_MAP() }; @@ -3009,12 +3046,14 @@ HWND hWndOwner; CComPtr<CTrayWindow> TrayWnd; CComPtr<IContextMenu> pcm; + UINT m_idCmdCmFirst; public: HRESULT Initialize(ITrayWindow * pTrayWnd, IN HWND hWndOwner) { this->TrayWnd = (CTrayWindow *) pTrayWnd; this->hWndOwner = hWndOwner; + this->m_idCmdCmFirst = 0; return S_OK; } @@ -3026,30 +3065,8 @@ UINT uFlags) { HMENU menubase = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCEW(IDM_TRAYWND)); - if (!menubase) return HRESULT_FROM_WIN32(GetLastError()); - - int count = ::GetMenuItemCount(menubase); - - for (int i = 0; i < count; i++) - { - WCHAR label[128]; - - MENUITEMINFOW mii = { 0 }; - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_STATE | MIIM_ID | MIIM_SUBMENU | MIIM_CHECKMARKS - | MIIM_DATA | MIIM_STRING | MIIM_BITMAP | MIIM_FTYPE; - mii.dwTypeData = label; - mii.cch = _countof(label); - ::GetMenuItemInfoW(menubase, i, TRUE, &mii); - - TRACE("Adding item %d label %S type %d\n", mii.wID, mii.dwTypeData, mii.fType); - - ::InsertMenuItemW(hPopup, i + 1, TRUE, &mii); - } - - ::DestroyMenu(menubase); if (SHRestricted(REST_CLASSICSHELL) != 0) { @@ -3062,13 +3079,19 @@ ID_LOCKTASKBAR, MF_BYCOMMAND | (TrayWnd->Locked ? MF_CHECKED : MF_UNCHECKED)); + UINT idCmdNext; + idCmdNext = Shell_MergeMenus(hPopup, menubase, indexMenu, idCmdFirst, idCmdLast, MM_SUBMENUSHAVEIDS | MM_ADDSEPARATOR); + m_idCmdCmFirst = idCmdNext - idCmdFirst; + + ::DestroyMenu(menubase); + if (TrayWnd->m_TrayBandSite != NULL) { if (FAILED(TrayWnd->m_TrayBandSite->AddContextMenus( hPopup, - 0, - ID_SHELL_CMD_FIRST, - ID_SHELL_CMD_LAST, + indexMenu, + idCmdNext, + idCmdLast, CMF_NORMAL, &pcm))) { @@ -3086,7 +3109,7 @@ UINT uiCmdId = (UINT) lpici->lpVerb; if (uiCmdId != 0) { - if (uiCmdId >= ID_SHELL_CMD_FIRST && uiCmdId <= ID_SHELL_CMD_LAST) + if (uiCmdId >= m_idCmdCmFirst) { CMINVOKECOMMANDINFO cmici = { 0 }; @@ -3095,7 +3118,7 @@ /* Setup and invoke the shell command */ cmici.cbSize = sizeof(cmici); cmici.hwnd = hWndOwner; - cmici.lpVerb = (LPCSTR) MAKEINTRESOURCEW(uiCmdId - ID_SHELL_CMD_FIRST); + cmici.lpVerb = (LPCSTR) MAKEINTRESOURCEW(uiCmdId - m_idCmdCmFirst); cmici.nShow = SW_NORMAL; pcm->InvokeCommand(&cmici);
7 years, 5 months
1
0
0
0
[jimtabor] 75312: [ENG] - Turn on GradientFill apply small hack fix to keep it out of a loop. - Turning code off does not fix the code, 8 years later!
by jimtabor@svn.reactos.org
Author: jimtabor Date: Sun Jul 9 18:06:24 2017 New Revision: 75312 URL:
http://svn.reactos.org/svn/reactos?rev=75312&view=rev
Log: [ENG] - Turn on GradientFill apply small hack fix to keep it out of a loop. - Turning code off does not fix the code, 8 years later! Modified: trunk/reactos/win32ss/gdi/eng/gradient.c Modified: trunk/reactos/win32ss/gdi/eng/gradient.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/eng/gradient.c…
============================================================================== --- trunk/reactos/win32ss/gdi/eng/gradient.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/eng/gradient.c [iso-8859-1] Sun Jul 9 18:06:24 2017 @@ -286,7 +286,7 @@ x[line] = a->x; \ sx[line] = a->x + pptlDitherOrg->x; \ dx[line] = abs(b->x - a->x); \ - dy[line] = abs(b->y - a->y); \ + dy[line] = max(abs(b->y - a->y),1); \ incx[line] = LINC[b->x > a->x]; \ ex[line] = -(dy[line]>>1); \ destx[line] = b->x @@ -319,19 +319,19 @@ { SURFOBJ *psoOutput; PTRIVERTEX v1, v2, v3; - //RECT_ENUM RectEnum; - //BOOL EnumMore; - //ULONG i; + RECT_ENUM RectEnum; + BOOL EnumMore; + ULONG i; POINTL Translate; INTENG_ENTER_LEAVE EnterLeave; RECTL FillRect = { 0, 0, 0, 0 }; - //ULONG Color; - - //BOOL sx[NLINES]; - //LONG x[NLINES], dx[NLINES], dy[NLINES], incx[NLINES], ex[NLINES], destx[NLINES]; - //LONG c[NLINES][3], dc[NLINES][3], ec[NLINES][3], ic[NLINES][3]; /* colors on lines */ - //LONG g, gx, gxi, gc[3], gd[3], ge[3], gi[3]; /* colors in triangle */ - //LONG sy, y, bt; + ULONG Color; + + BOOL sx[NLINES]; + LONG x[NLINES], dx[NLINES], dy[NLINES], incx[NLINES], ex[NLINES], destx[NLINES]; + LONG c[NLINES][3], dc[NLINES][3], ec[NLINES][3], ic[NLINES][3]; /* colors on lines */ + LONG g, gx, gxi, gc[3], gd[3], ge[3], gi[3]; /* colors in triangle */ + LONG sy, y, bt; v1 = (pVertex + gTriangle->Vertex1); v2 = (pVertex + gTriangle->Vertex2); @@ -363,94 +363,94 @@ return FALSE; } - //if (VCMPCLRS(v1, v2, v3)) - //{ - // CLIPOBJ_cEnumStart(pco, FALSE, CT_RECTANGLES, CD_RIGHTDOWN, 0); - // do - // { - // EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum); - // for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++) - // { - // if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents)) - // { - // BOOL InY; - - // DOINIT(v1, v3, 0); - // DOINIT(v1, v2, 1); - // DOINIT(v2, v3, 2); - - // y = v1->y; - // sy = v1->y + pptlDitherOrg->y; - // bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom); - - // while (sy < bt) - // { - // InY = !(sy < FillRect.top || sy >= FillRect.bottom); - // GOLINE(v1, v3, 0); - // DOLINE(v1, v3, 0); - // ENDLINE(v1, v3, 0); - - // GOLINE(v1, v2, 1); - // DOLINE(v1, v2, 1); - // FILLLINE(0, 1); - // ENDLINE(v1, v2, 1); - - // GOLINE(v2, v3, 2); - // DOLINE(v2, v3, 2); - // FILLLINE(0, 2); - // ENDLINE(23, v3, 2); - - // y++; - // sy++; - // } - // } - // } - // } while (EnumMore); - - // return IntEngLeave(&EnterLeave); - //} - - ///* fill triangle with one solid color */ - - //Color = XLATEOBJ_iXlate(pxlo, RGB(v1->Red >> 8, v1->Green >> 8, v1->Blue >> 8)); - //CLIPOBJ_cEnumStart(pco, FALSE, CT_RECTANGLES, CD_RIGHTDOWN, 0); - //do - //{ - // EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum); - // for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++) - // { - // if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents)) - // { - // S_INITLINE(v1, v3, 0); - // S_INITLINE(v1, v2, 1); - // S_INITLINE(v2, v3, 2); - - // y = v1->y; - // sy = v1->y + pptlDitherOrg->y; - // bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom); - - // while (sy < bt) - // { - // S_GOLINE(v1, v3, 0); - // S_DOLINE(v1, v3, 0); - // S_ENDLINE(v1, v3, 0); - - // S_GOLINE(v1, v2, 1); - // S_DOLINE(v1, v2, 1); - // S_FILLLINE(0, 1); - // S_ENDLINE(v1, v2, 1); - - // S_GOLINE(v2, v3, 2); - // S_DOLINE(v2, v3, 2); - // S_FILLLINE(0, 2); - // S_ENDLINE(23, v3, 2); - - // y++; - // sy++; - // } - // } - // } - //} while (EnumMore); + if (VCMPCLRS(v1, v2, v3)) + { + CLIPOBJ_cEnumStart(pco, FALSE, CT_RECTANGLES, CD_RIGHTDOWN, 0); + do + { + EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum); + for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++) + { + if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents)) + { + BOOL InY; + + DOINIT(v1, v3, 0); + DOINIT(v1, v2, 1); + DOINIT(v2, v3, 2); + + y = v1->y; + sy = v1->y + pptlDitherOrg->y; + bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom); + + while (sy < bt) + { + InY = !(sy < FillRect.top || sy >= FillRect.bottom); + GOLINE(v1, v3, 0); + DOLINE(v1, v3, 0); + ENDLINE(v1, v3, 0); + + GOLINE(v1, v2, 1); + DOLINE(v1, v2, 1); + FILLLINE(0, 1); + ENDLINE(v1, v2, 1); + + GOLINE(v2, v3, 2); + DOLINE(v2, v3, 2); + FILLLINE(0, 2); + ENDLINE(23, v3, 2); + + y++; + sy++; + } + } + } + } while (EnumMore); + + return IntEngLeave(&EnterLeave); + } + + /* fill triangle with one solid color */ + + Color = XLATEOBJ_iXlate(pxlo, RGB(v1->Red >> 8, v1->Green >> 8, v1->Blue >> 8)); + CLIPOBJ_cEnumStart(pco, FALSE, CT_RECTANGLES, CD_RIGHTDOWN, 0); + do + { + EnumMore = CLIPOBJ_bEnum(pco, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum); + for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top <= prclExtents->bottom; i++) + { + if (RECTL_bIntersectRect(&FillRect, &RectEnum.arcl[i], prclExtents)) + { + S_INITLINE(v1, v3, 0); + S_INITLINE(v1, v2, 1); + S_INITLINE(v2, v3, 2); + + y = v1->y; + sy = v1->y + pptlDitherOrg->y; + bt = min(v3->y + pptlDitherOrg->y, FillRect.bottom); + + while (sy < bt) + { + S_GOLINE(v1, v3, 0); + S_DOLINE(v1, v3, 0); + S_ENDLINE(v1, v3, 0); + + S_GOLINE(v1, v2, 1); + S_DOLINE(v1, v2, 1); + S_FILLLINE(0, 1); + S_ENDLINE(v1, v2, 1); + + S_GOLINE(v2, v3, 2); + S_DOLINE(v2, v3, 2); + S_FILLLINE(0, 2); + S_ENDLINE(23, v3, 2); + + y++; + sy++; + } + } + } + } while (EnumMore); return IntEngLeave(&EnterLeave); }
7 years, 5 months
1
0
0
0
[hbelusca] 75311: [old_WORDPAD]: Fix typo (caught by user_trisquel).
by hbelusca@svn.reactos.org
Author: hbelusca Date: Sun Jul 9 16:06:07 2017 New Revision: 75311 URL:
http://svn.reactos.org/svn/reactos?rev=75311&view=rev
Log: [old_WORDPAD]: Fix typo (caught by user_trisquel). Modified: trunk/rosapps/templates/old_wordpad/lang/ru-RU.rc Modified: trunk/rosapps/templates/old_wordpad/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/templates/old_wordpad/lang…
============================================================================== --- trunk/rosapps/templates/old_wordpad/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/rosapps/templates/old_wordpad/lang/ru-RU.rc [iso-8859-1] Sun Jul 9 16:06:07 2017 @@ -113,7 +113,7 @@ STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "ÐÑа пÑогÑамма ÑвлÑеÑÑÑ Ñвободно ÑаÑпÑоÑÑÑанÑемой; ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑаÑпÑоÑÑÑанÑÑÑ ÐµÐµ повÑоÑно и (или) изменÑÑÑ, ÑоблÑÐ´Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐÑкÑÑÑого лиÑензионного ÑоглаÑÐµÐ½Ð¸Ñ GNU, опÑбликованного Фондом Ñвободно ÑаÑпÑоÑÑÑанÑемого пÑогÑаммного обеÑпеÑениÑ; либо ÑедакÑии 2 СоглаÑениÑ, либо (на ваÑе ÑÑмоÑÑение) лÑбой ÑедакÑии, вÑпÑÑенной позже.\r\n\r\nÐÑа пÑогÑамма ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð² надежде на Ñо, ÑÑо она окажеÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹, но ÐÐÐ ÐÐÐÐÐ¥-ÐÐÐÐ ÐÐÐ ÐÐТÐÐ, вклÑÑÐ°Ñ Ð¿Ð¾Ð´ÑазÑмеваемÑÑ Ð³Ð°ÑанÑÐ¸Ñ ÐÐЧÐСТÐРлибо ÐÐ ÐÐÐÐÐÐСТРÐÐЯ ÐÐÐ ÐÐÐÐÐÐÐЫХ ЦÐÐÐÐ. ÐодÑобноÑÑи ÑодеÑжаÑÑÑ Ð² ÐÑкÑÑÑом лиÑензионном ÑоглаÑении GNU.\r\n\r\nÐмеÑÑе Ñ ÑÑой пÑогÑаммой должен ÑаÑпÑоÑÑÑанÑÑÑÑÑ ÑкземплÑÑ ÐÑкÑÑÑого лиÑензионного ÑоглаÑÐµÐ½Ð¸Ñ GNU, еÑли он оÑÑÑÑÑÑвÑеÑ, ÑообÑиÑе об ÑÑом в Фонд Ñвободно ÑаÑпÑоÑÑÑанÑемого пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ (Free Software Foundation, Inc.), 675 Mass Ave, Cambridge, MA 02139, USA." - IDS_DEFAULT_NAME "ÐомекÑÐ¼ÐµÐ½Ñ %1!u!" + IDS_DEFAULT_NAME "ÐокÑÐ¼ÐµÐ½Ñ %1!u!" IDS_READY " ÐоÑово." END
7 years, 5 months
1
0
0
0
[mjansen] 75310: [FONTS] Add substitutes for the System font, and remove a hack for the System font. Patch by Katayama Hirofumi MZ. CORE-9222
by mjansen@svn.reactos.org
Author: mjansen Date: Sun Jul 9 15:06:49 2017 New Revision: 75310 URL:
http://svn.reactos.org/svn/reactos?rev=75310&view=rev
Log: [FONTS] Add substitutes for the System font, and remove a hack for the System font. Patch by Katayama Hirofumi MZ. CORE-9222 Modified: trunk/reactos/base/setup/usetup/muifonts.h trunk/reactos/win32ss/gdi/ntgdi/freetype.c Modified: trunk/reactos/base/setup/usetup/muifonts.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/muifonts…
============================================================================== --- trunk/reactos/base/setup/usetup/muifonts.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/muifonts.h [iso-8859-1] Sun Jul 9 15:06:49 2017 @@ -18,6 +18,7 @@ { L"Terminal", L"DejaVu Sans Mono" }, { L"Times New Roman", L"Liberation Serif" }, { L"Trebuchet MS", L"Open Sans" }, + { L"System", L"FreeSans" }, { NULL, NULL } }; @@ -38,6 +39,7 @@ { L"Terminal", L"DejaVu Sans Mono" }, { L"Times New Roman", L"Liberation Serif" }, { L"Trebuchet MS", L"Open Sans" }, + { L"System", L"FreeSans" }, { NULL, NULL } }; @@ -58,6 +60,7 @@ { L"Terminal", L"DejaVu Sans Mono" }, { L"Times New Roman", L"Liberation Serif" }, { L"Trebuchet MS", L"Open Sans" }, + { L"System", L"FreeSans" }, { NULL, NULL } }; @@ -78,6 +81,7 @@ { L"Terminal", L"DejaVu Sans Mono" }, { L"Times New Roman", L"DejaVu Serif" }, { L"Trebuchet MS", L"Open Sans" }, + { L"System", L"FreeSans" }, { NULL, NULL } }; @@ -107,6 +111,7 @@ { L"SimSun", L"Droid Sans Fallback" }, { L"NSimSun", L"Droid Sans Fallback" }, { L"MS Song", L"Droid Sans Fallback" }, + { L"System", L"Droid Sans Fallback" }, /* localized names */ { CSF_LocalName0, L"Droid Sans Fallback" }, { CSF_LocalName1, L"Droid Sans Fallback" }, @@ -141,6 +146,7 @@ { L"PMingLiU", L"Droid Sans Fallback" }, { L"DLCMingMedium", L"Droid Sans Fallback" }, { L"DLCMingBold", L"Droid Sans Fallback" }, + { L"System", L"Droid Sans Fallback" }, /* localized names */ { CTF_LocalName0, L"Droid Sans Fallback" }, { CTF_LocalName1, L"Droid Sans Fallback" }, @@ -174,6 +180,7 @@ { L"MS PMincho", L"Droid Sans Fallback" }, { L"MS Gothic", L"Droid Sans Fallback" }, { L"MS PGothic", L"Droid Sans Fallback" }, + { L"System", L"Droid Sans Fallback" }, /* localized names */ { JF_LocalName0, L"Droid Sans Fallback" }, { JF_LocalName1, L"Droid Sans Fallback" }, @@ -211,6 +218,7 @@ { L"GungsuhChe", L"Droid Sans Fallback" }, { L"Gulim", L"Droid Sans Fallback" }, { L"GulimChe", L"Droid Sans Fallback" }, + { L"System", L"Droid Sans Fallback" }, /* localized names */ { KF_LocalName0, L"Droid Sans Fallback" }, { KF_LocalName1, L"Droid Sans Fallback" }, @@ -238,5 +246,6 @@ { L"Terminal", L"DejaVu Sans Mono" }, { L"Times New Roman", L"DejaVu Serif" }, { L"Trebuchet MS", L"Open Sans" }, - { NULL, NULL } -}; + { L"System", L"FreeSans" }, + { NULL, NULL } +}; Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype…
============================================================================== --- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Sun Jul 9 15:06:49 2017 @@ -52,8 +52,6 @@ /* special font names */ static const UNICODE_STRING MarlettW = RTL_CONSTANT_STRING(L"Marlett"); -static const UNICODE_STRING SystemW = RTL_CONSTANT_STRING(L"System"); -static const UNICODE_STRING FixedSysW = RTL_CONSTANT_STRING(L"FixedSys"); /* registry */ static UNICODE_STRING FontRegPath = @@ -3979,7 +3977,7 @@ ULONG Penalty = 0; BYTE Byte; LONG Long; - BOOL fFixedSys = FALSE, fNeedScaling = FALSE; + BOOL fNeedScaling = FALSE; const BYTE UserCharSet = CharSetFromLangID(gusLanguageID); const TEXTMETRICW * TM = &Otm->otmTextMetrics; WCHAR* ActualNameW; @@ -3993,62 +3991,38 @@ /* FIXME: SmallPenalty Penalty 1 */ /* FIXME: FaceNameSubst Penalty 500 */ - if (_wcsicmp(LogFont->lfFaceName, L"System") == 0) - { - /* "System" font */ - if (TM->tmCharSet != UserCharSet) + Byte = LogFont->lfCharSet; + if (Byte == DEFAULT_CHARSET) + { + if (_wcsicmp(LogFont->lfFaceName, L"Marlett") == 0) + { + if (Byte == ANSI_CHARSET) + { + DPRINT("Warning: FIXME: It's Marlett but ANSI_CHARSET.\n"); + } + /* We assume SYMBOL_CHARSET for "Marlett" font */ + Byte = SYMBOL_CHARSET; + } + } + + if (Byte != TM->tmCharSet) + { + if (Byte != DEFAULT_CHARSET && Byte != ANSI_CHARSET) { /* CharSet Penalty 65000 */ /* Requested charset does not match the candidate's. */ Penalty += 65000; } - } - else if (_wcsicmp(LogFont->lfFaceName, L"FixedSys") == 0) - { - /* "FixedSys" font */ - if (TM->tmCharSet != UserCharSet) - { - /* CharSet Penalty 65000 */ - /* Requested charset does not match the candidate's. */ - Penalty += 65000; - } - fFixedSys = TRUE; - } - else /* Request is non-"System" font */ - { - Byte = LogFont->lfCharSet; - if (Byte == DEFAULT_CHARSET) - { - if (_wcsicmp(LogFont->lfFaceName, L"Marlett") == 0) - { - if (Byte == ANSI_CHARSET) - { - DPRINT("Warning: FIXME: It's Marlett but ANSI_CHARSET.\n"); - } - /* We assume SYMBOL_CHARSET for "Marlett" font */ - Byte = SYMBOL_CHARSET; - } - } - - if (Byte != TM->tmCharSet) - { - if (Byte != DEFAULT_CHARSET && Byte != ANSI_CHARSET) - { - /* CharSet Penalty 65000 */ - /* Requested charset does not match the candidate's. */ - Penalty += 65000; - } - else - { - if (UserCharSet != TM->tmCharSet) + else + { + if (UserCharSet != TM->tmCharSet) + { + /* UNDOCUMENTED */ + Penalty += 100; + if (ANSI_CHARSET != TM->tmCharSet) { /* UNDOCUMENTED */ Penalty += 100; - if (ANSI_CHARSET != TM->tmCharSet) - { - /* UNDOCUMENTED */ - Penalty += 100; - } } } } @@ -4083,11 +4057,6 @@ Byte = (LogFont->lfPitchAndFamily & 0x0F); if (Byte == DEFAULT_PITCH) Byte = VARIABLE_PITCH; - if (fFixedSys) - { - /* "FixedSys" font should be fixed-pitch */ - Byte = FIXED_PITCH; - } if (Byte == FIXED_PITCH) { if (TM->tmPitchAndFamily & _TMPF_VARIABLE_PITCH)
7 years, 5 months
1
0
0
0
[pschweitzer] 75309: [RDBSS] Fix broken assignment. Spotted by cppcheck.
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Jul 8 21:22:55 2017 New Revision: 75309 URL:
http://svn.reactos.org/svn/reactos?rev=75309&view=rev
Log: [RDBSS] Fix broken assignment. Spotted by cppcheck. Modified: trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c Modified: trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/rdbsslib/r…
============================================================================== --- trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c [iso-8859-1] Sat Jul 8 21:22:55 2017 @@ -1260,7 +1260,7 @@ /* Get the FCB from RX_CONTEXT */ Fcb = (PFCB)RxContext->pFcb; - SrvOpen == NULL; + SrvOpen = NULL; } /* If we don't have RX_CONTEXT, allocte one, we'll need it */
7 years, 5 months
1
0
0
0
[ekohl] 75308: [NETAPI32] - Add DsAddressToSiteNamesExA stub. - Implement DsAddressToSiteNamesExW.
by ekohl@svn.reactos.org
Author: ekohl Date: Sat Jul 8 21:07:29 2017 New Revision: 75308 URL:
http://svn.reactos.org/svn/reactos?rev=75308&view=rev
Log: [NETAPI32] - Add DsAddressToSiteNamesExA stub. - Implement DsAddressToSiteNamesExW. Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec trunk/reactos/dll/win32/netapi32/netlogon.c Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] Sat Jul 8 21:07:29 2017 @@ -1,7 +1,7 @@ @ stub CredpValidateTargetName @ stdcall DsAddressToSiteNamesA(str long ptr str) -@ stub DsAddressToSiteNamesExA -@ stub DsAddressToSiteNamesExW +@ stdcall DsAddressToSiteNamesExA(str long ptr str str) +@ stdcall DsAddressToSiteNamesExW(wstr long ptr wstr wstr) @ stdcall DsAddressToSiteNamesW(wstr long ptr wstr) @ stdcall DsDeregisterDnsHostRecordsA(str str ptr ptr str) @ stdcall DsDeregisterDnsHostRecordsW(wstr wstr ptr ptr wstr) Modified: trunk/reactos/dll/win32/netapi32/netlogon.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netlogo…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] Sat Jul 8 21:07:29 2017 @@ -162,6 +162,122 @@ DWORD WINAPI +DsAddressToSiteNamesExA( + _In_opt_ LPCSTR ComputerName, + _In_ DWORD EntryCount, + _In_ PSOCKET_ADDRESS SocketAddresses, + _Out_ LPSTR **SiteNames, + _Out_ LPSTR **SubnetNames) +{ + FIXME("DsAddressToSiteNamesExA(%s, %lu, %p, %p, %p)\n", + debugstr_a(ComputerName), EntryCount, SocketAddresses, + SiteNames, SubnetNames); + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +DWORD +WINAPI +DsAddressToSiteNamesExW( + _In_opt_ LPCWSTR ComputerName, + _In_ DWORD EntryCount, + _In_ PSOCKET_ADDRESS SocketAddresses, + _Out_ LPWSTR **SiteNames, + _Out_ LPWSTR **SubnetNames) +{ + PNL_SITE_NAME_EX_ARRAY SiteNameArray = NULL; + PWSTR *SiteNamesBuffer = NULL, *SubnetNamesBuffer = NULL, Ptr; + ULONG SiteNameBufferSize, SubnetNameBufferSize, i; + NET_API_STATUS status; + + TRACE("DsAddressToSiteNamesExW(%s, %lu, %p, %p, %p)\n", + debugstr_w(ComputerName), EntryCount, SocketAddresses, + SiteNames, SubnetNames); + + if (EntryCount == 0) + return ERROR_INVALID_PARAMETER; + + *SiteNames = NULL; + *SubnetNames = NULL; + + RpcTryExcept + { + status = DsrAddressToSiteNamesExW((PWSTR)ComputerName, + EntryCount, + (PNL_SOCKET_ADDRESS)SocketAddresses, + &SiteNameArray); + if (status == NERR_Success) + { + if (SiteNameArray->EntryCount == 0) + { + status = ERROR_INVALID_PARAMETER; + } + else + { + SiteNameBufferSize = SiteNameArray->EntryCount * sizeof(PWSTR); + SubnetNameBufferSize = SiteNameArray->EntryCount * sizeof(PWSTR); + for (i = 0; i < SiteNameArray->EntryCount; i++) + { + SiteNameBufferSize += SiteNameArray->SiteNames[i].Length + sizeof(WCHAR); + SubnetNameBufferSize += SiteNameArray->SubnetNames[i].Length + sizeof(WCHAR); + } + + status = NetApiBufferAllocate(SiteNameBufferSize, (PVOID*)&SiteNamesBuffer); + if (status == NERR_Success) + { + ZeroMemory(SiteNamesBuffer, SiteNameBufferSize); + + Ptr = (PWSTR)((ULONG_PTR)SiteNamesBuffer + SiteNameArray->EntryCount * sizeof(PWSTR)); + for (i = 0; i < SiteNameArray->EntryCount; i++) + { + SiteNamesBuffer[i] = Ptr; + CopyMemory(Ptr, + SiteNameArray->SiteNames[i].Buffer, + SiteNameArray->SiteNames[i].Length); + + Ptr = (PWSTR)((ULONG_PTR)Ptr + SiteNameArray->SiteNames[i].Length + sizeof(WCHAR)); + } + + *SiteNames = SiteNamesBuffer; + } + + status = NetApiBufferAllocate(SubnetNameBufferSize, (PVOID*)&SubnetNamesBuffer); + if (status == NERR_Success) + { + ZeroMemory(SubnetNamesBuffer, SubnetNameBufferSize); + + Ptr = (PWSTR)((ULONG_PTR)SubnetNamesBuffer + SiteNameArray->EntryCount * sizeof(PWSTR)); + for (i = 0; i < SiteNameArray->EntryCount; i++) + { + SubnetNamesBuffer[i] = Ptr; + CopyMemory(Ptr, + SiteNameArray->SubnetNames[i].Buffer, + SiteNameArray->SubnetNames[i].Length); + + Ptr = (PWSTR)((ULONG_PTR)Ptr + SiteNameArray->SubnetNames[i].Length + sizeof(WCHAR)); + } + + *SubnetNames = SubnetNamesBuffer; + } + } + + MIDL_user_free(SiteNameArray); + } + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; + + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +DWORD +WINAPI DsDeregisterDnsHostRecordsA( _In_opt_ LPSTR ServerName, _In_opt_ LPSTR DnsDomainName,
7 years, 5 months
1
0
0
0
[pschweitzer] 75307: [RXCE] - Define RxShouldPostCompletion() and use it - Define RxIsResourceOwnershipStateExclusive() and use it - Define some magic values [RDBSS] - Implement CheckForLoudOperati...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Jul 8 17:12:33 2017 New Revision: 75307 URL:
http://svn.reactos.org/svn/reactos?rev=75307&view=rev
Log: [RXCE] - Define RxShouldPostCompletion() and use it - Define RxIsResourceOwnershipStateExclusive() and use it - Define some magic values [RDBSS] - Implement CheckForLoudOperations(), RxAdjustFileTimesAndSize(), RxIsOkToPurgeFcb() - Continue implementation of RxCommonCleanup() - Fix bugs in the RxCommonCleanup() implementation and make it more explicit when in the delete on close path - Stub RxCleanupPipeQueues(), RxLowIoLockControlShell() - Silent a few DPRINTs CORE-8204 CORE-11327 Modified: trunk/reactos/sdk/include/ddk/fcb.h trunk/reactos/sdk/include/ddk/mrx.h trunk/reactos/sdk/include/ddk/ntrxdef.h trunk/reactos/sdk/include/ddk/rxprocs.h trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c trunk/reactos/sdk/lib/drivers/rxce/rxce.c Modified: trunk/reactos/sdk/include/ddk/fcb.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/ddk/fcb.h?rev=…
============================================================================== --- trunk/reactos/sdk/include/ddk/fcb.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/ddk/fcb.h [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -200,6 +200,7 @@ } FCB, *PFCB; #define FCB_STATE_DELETE_ON_CLOSE 0x00000001 +#define FCB_STATE_TRUNCATE_ON_CLOSE 0x00000002 #define FCB_STATE_PAGING_FILE 0x00000004 #define FCB_STATE_DISABLE_LOCAL_BUFFERING 0x00000010 #define FCB_STATE_TEMPORARY 0x00000020 @@ -287,6 +288,9 @@ #define FOBX_FLAG_MATCH_ALL 0x10000 #define FOBX_FLAG_FREE_UNICODE 0x20000 +#define FOBX_FLAG_USER_SET_LAST_WRITE 0x40000 +#define FOBX_FLAG_USER_SET_LAST_ACCESS 0x80000 +#define FOBX_FLAG_USER_SET_LAST_CHANGE 0x200000 #define FOBX_FLAG_DELETE_ON_CLOSE 0x800000 #define FOBX_FLAG_SRVOPEN_CLOSED 0x1000000 #define FOBX_FLAG_UNC_NAME 0x2000000 Modified: trunk/reactos/sdk/include/ddk/mrx.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/ddk/mrx.h?rev=…
============================================================================== --- trunk/reactos/sdk/include/ddk/mrx.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/ddk/mrx.h [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -1,5 +1,7 @@ #ifndef _RXMINIRDR_ #define _RXMINIRDR_ + +#define RxShouldPostCompletion() ((KeGetCurrentIrql() >= DISPATCH_LEVEL)) #define RX_REGISTERMINI_FLAG_DONT_PROVIDE_UNCS 0x00000001 #define RX_REGISTERMINI_FLAG_DONT_PROVIDE_MAILSLOTS 0x00000002 @@ -313,6 +315,7 @@ } LOWIO_CONTEXT; #define LOWIO_CONTEXT_FLAG_SYNCCALL 0x01 +#define LOWIO_CONTEXT_FLAG_SAVEUNLOCKS 0x2 #define LOWIO_CONTEXT_FLAG_LOUDOPS 0x04 #define LOWIO_CONTEXT_FLAG_CAN_COMPLETE_AT_DPC_LEVEL 0x08 Modified: trunk/reactos/sdk/include/ddk/ntrxdef.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/ddk/ntrxdef.h?…
============================================================================== --- trunk/reactos/sdk/include/ddk/ntrxdef.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/ddk/ntrxdef.h [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -9,8 +9,12 @@ #define RxAllocatePoolWithTag ExAllocatePoolWithTag #define RxFreePool ExFreePool +#define RxIsResourceOwnershipStateExclusive(Resource) (FlagOn((Resource)->Flag, ResourceOwnedExclusive)) + #define RxMdlIsLocked(Mdl) ((Mdl)->MdlFlags & MDL_PAGES_LOCKED) #define RxMdlSourceIsNonPaged(Mdl) ((Mdl)->MdlFlags & MDL_SOURCE_IS_NONPAGED_POOL) + +#define RxGetRequestorProcess(RxContext) IoGetRequestorProcess(RxContext->CurrentIrp) #define RxAdjustAllocationSizeforCC(Fcb) \ { \ Modified: trunk/reactos/sdk/include/ddk/rxprocs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/ddk/rxprocs.h?…
============================================================================== --- trunk/reactos/sdk/include/ddk/rxprocs.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/ddk/rxprocs.h [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -115,6 +115,9 @@ #define FCB_MODE_SHARED 2 #define FCB_MODE_SHARED_WAIT_FOR_EXCLUSIVE 3 #define FCB_MODE_SHARED_STARVE_EXCLUSIVE 4 + +#define CHANGE_BUFFERING_STATE_CONTEXT ((PRX_CONTEXT)IntToPtr(0xffffffff)) +#define CHANGE_BUFFERING_STATE_CONTEXT_WAIT ((PRX_CONTEXT)IntToPtr(0xfffffffe)) NTSTATUS __RxAcquireFcb( @@ -374,6 +377,18 @@ _In_ PUNICODE_STRING RemainingName); #endif +#if (_WIN32_WINNT >= 0x0600) +NTSTATUS +RxLowIoLockControlShell( + _In_ PRX_CONTEXT RxContext, + _In_ PIRP Irp, + _In_ PFCB Fcb); +#else +NTSTATUS +RxLowIoLockControlShell( + _In_ PRX_CONTEXT RxContext); +#endif + NTSTATUS NTAPI RxChangeBufferingState( Modified: trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/rdbsslib/r…
============================================================================== --- trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/drivers/rdbsslib/rdbss.c [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -491,6 +491,7 @@ FAST_MUTEX RxContextPerFileSerializationMutex; RDBSS_DATA RxData; FCB RxDeviceFCB; +BOOLEAN RxLoudLowIoOpsEnabled = FALSE; RX_FSD_DISPATCH_VECTOR RxDeviceFCBVector[IRP_MJ_MAXIMUM_FUNCTION + 1] = { { RxCommonDispatchProblem }, @@ -593,11 +594,31 @@ /* FUNCTIONS ****************************************************************/ +/* + * @implemented + */ VOID CheckForLoudOperations( PRX_CONTEXT RxContext) { - UNIMPLEMENTED; + PAGED_CODE(); + +#define ALLSCR_LENGTH (sizeof(L"all.scr") - sizeof(UNICODE_NULL)) + + /* Are loud operations enabled? */ + if (RxLoudLowIoOpsEnabled) + { + PFCB Fcb; + + /* If so, the operation will be loud only if filename ends with all.scr */ + Fcb = (PFCB)RxContext->pFcb; + if (RtlCompareMemory(Add2Ptr(Fcb->PrivateAlreadyPrefixedName.Buffer, (Fcb->PrivateAlreadyPrefixedName.Length - ALLSCR_LENGTH)), + L"all.scr", ALLSCR_LENGTH) == ALLSCR_LENGTH) + { + SetFlag(RxContext->LowIoContext.Flags, LOWIO_CONTEXT_FLAG_LOUDOPS); + } + } +#undef ALLSCR_LENGTH } /* @@ -744,6 +765,106 @@ ExInitializeWorkItem(&RxContext->WorkQueueItem, RxFspDispatch, RxContext); ExQueueWorkItem((PWORK_QUEUE_ITEM)&RxContext->WorkQueueItem, Queue); +} + +/* + * @implemented + */ +VOID +RxAdjustFileTimesAndSize( + PRX_CONTEXT Context) +{ + PFCB Fcb; + PFOBX Fobx; + NTSTATUS Status; + PFILE_OBJECT FileObject; + LARGE_INTEGER CurrentTime; + FILE_BASIC_INFORMATION FileBasicInfo; + FILE_END_OF_FILE_INFORMATION FileEOFInfo; + BOOLEAN FileModified, SetLastChange, SetLastAccess, SetLastWrite, NeedUpdate; + + PAGED_CODE(); + + FileObject = Context->CurrentIrpSp->FileObject; + /* If Cc isn't initialized, the file was not read nor written, nothing to do */ + if (FileObject->PrivateCacheMap == NULL) + { + return; + } + + /* Get now */ + KeQuerySystemTime(&CurrentTime); + + Fobx = (PFOBX)Context->pFobx; + /* Was the file modified? */ + FileModified = BooleanFlagOn(FileObject->Flags, FO_FILE_MODIFIED); + /* We'll set last write if it was modified and user didn't update yet */ + SetLastWrite = FileModified && !BooleanFlagOn(Fobx->Flags, FOBX_FLAG_USER_SET_LAST_WRITE); + /* File was accessed if: written or read (fastio), we'll update last access if user didn't */ + SetLastAccess = SetLastWrite || + (BooleanFlagOn(FileObject->Flags, FO_FILE_FAST_IO_READ) && + !BooleanFlagOn(Fobx->Flags, FOBX_FLAG_USER_SET_LAST_ACCESS)); + /* We'll set last change if it was modified and user didn't update yet */ + SetLastChange = FileModified && !BooleanFlagOn(Fobx->Flags, FOBX_FLAG_USER_SET_LAST_CHANGE); + + /* Nothing to update? Job done */ + if (!FileModified && !SetLastWrite && !SetLastAccess && !SetLastChange) + { + return; + } + + Fcb = (PFCB)Context->pFcb; + /* By default, we won't issue any MRxSetFileInfoAtCleanup call */ + NeedUpdate = FALSE; + RtlZeroMemory(&FileBasicInfo, sizeof(FileBasicInfo)); + + /* Update lastwrite time if required */ + if (SetLastWrite) + { + NeedUpdate = TRUE; + Fcb->LastWriteTime.QuadPart = CurrentTime.QuadPart; + FileBasicInfo.LastWriteTime.QuadPart = CurrentTime.QuadPart; + } + + /* Update lastaccess time if required */ + if (SetLastAccess) + { + NeedUpdate = TRUE; + Fcb->LastAccessTime.QuadPart = CurrentTime.QuadPart; + FileBasicInfo.LastAccessTime.QuadPart = CurrentTime.QuadPart; + } + + /* Update lastchange time if required */ + if (SetLastChange) + { + NeedUpdate = TRUE; + Fcb->LastChangeTime.QuadPart = CurrentTime.QuadPart; + FileBasicInfo.ChangeTime.QuadPart = CurrentTime.QuadPart; + } + + /* If one of the date was modified, issue a call to mini-rdr */ + if (NeedUpdate) + { + Context->Info.FileInformationClass = FileBasicInformation; + Context->Info.Buffer = &FileBasicInfo; + Context->Info.Length = sizeof(FileBasicInfo); + + MINIRDR_CALL(Status, Context, Fcb->MRxDispatch, MRxSetFileInfoAtCleanup, (Context)); + (void)Status; + } + + /* If the file was modified, update its EOF */ + if (FileModified) + { + FileEOFInfo.EndOfFile.QuadPart = Fcb->Header.FileSize.QuadPart; + + Context->Info.FileInformationClass = FileEndOfFileInformation; + Context->Info.Buffer = &FileEOFInfo; + Context->Info.Length = sizeof(FileEOFInfo); + + MINIRDR_CALL(Status, Context, Fcb->MRxDispatch, MRxSetFileInfoAtCleanup, (Context)); + (void)Status; + } } /* @@ -1067,6 +1188,13 @@ } return STATUS_SUCCESS; +} + +VOID +RxCleanupPipeQueues( + PRX_CONTEXT Context) +{ + UNIMPLEMENTED; } /* @@ -1462,8 +1590,9 @@ NTSTATUS Status; PNET_ROOT NetRoot; PFILE_OBJECT FileObject; - PLARGE_INTEGER TruncateSize; - BOOLEAN NeedPurge, FcbTableAcquired, OneLeft, IsFile, FcbAcquired; + LARGE_INTEGER TruncateSize; + PLARGE_INTEGER TruncateSizePtr; + BOOLEAN NeedPurge, FcbTableAcquired, OneLeft, IsFile, FcbAcquired, LeftForDelete; PAGED_CODE(); @@ -1545,12 +1674,13 @@ NetRoot = (PNET_ROOT)Fcb->pNetRoot; FcbTableAcquired = FALSE; - OneLeft = FALSE; + LeftForDelete = FALSE; + OneLeft = (Fcb->UncleanCount == 1); _SEH2_TRY { /* Unclean count and delete on close? Verify whether we're the one */ - if (Fcb->UncleanCount == 1 && BooleanFlagOn(Fcb->FcbState, FCB_STATE_DELETE_ON_CLOSE)) + if (OneLeft && BooleanFlagOn(Fcb->FcbState, FCB_STATE_DELETE_ON_CLOSE)) { if (RxAcquireFcbTableLockExclusive(&NetRoot->FcbTable, FALSE)) { @@ -1572,9 +1702,10 @@ FcbTableAcquired = TRUE; } + /* That means we'll perform the delete on close! */ if (Fcb->UncleanCount == 1) { - OneLeft = TRUE; + LeftForDelete = TRUE; } else { @@ -1584,18 +1715,82 @@ } IsFile = FALSE; - TruncateSize = NULL; + TruncateSizePtr = NULL; /* Handle cleanup for pipes and printers */ if (NetRoot->Type == NET_ROOT_PIPE || NetRoot->Type == NET_ROOT_PRINT) { - UNIMPLEMENTED; + RxCleanupPipeQueues(Context); } /* Handle cleanup for files */ else if (NetRoot->Type == NET_ROOT_DISK || NetRoot->Type == NET_ROOT_WILD) { + Context->LowIoContext.Flags |= LOWIO_CONTEXT_FLAG_SAVEUNLOCKS; if (NodeType(Fcb) == RDBSS_NTC_STORAGE_TYPE_FILE) { - UNIMPLEMENTED; + /* First, unlock */ + FsRtlFastUnlockAll(&Fcb->Specific.Fcb.FileLock, FileObject, RxGetRequestorProcess(Context), Context); + + /* If there are still locks to release, proceed */ + if (Context->LowIoContext.ParamsFor.Locks.LockList != NULL) + { + RxInitializeLowIoContext(&Context->LowIoContext, LOWIO_OP_UNLOCK_MULTIPLE); + Context->LowIoContext.ParamsFor.Locks.Flags = 0; + Status = RxLowIoLockControlShell(Context); + } + + /* Fix times and size */ + RxAdjustFileTimesAndSize(Context); + + /* If we're the only one left... */ + if (OneLeft) + { + /* And if we're supposed to delete on close */ + if (LeftForDelete) + { + /* Update the sizes */ + RxAcquirePagingIoResource(Context, Fcb); + Fcb->Header.FileSize.QuadPart = 0; + Fcb->Header.ValidDataLength.QuadPart = 0; + RxReleasePagingIoResource(Context, Fcb); + } + /* Otherwise, call the mini-rdr to adjust sizes */ + else + { + /* File got grown up, fill with zeroes */ + if (!BooleanFlagOn(Fcb->FcbState, FCB_STATE_PAGING_FILE) && + (Fcb->Header.ValidDataLength.QuadPart < Fcb->Header.FileSize.QuadPart)) + { + MINIRDR_CALL(Status, Context, Fcb->MRxDispatch, MRxZeroExtend, (Context)); + Fcb->Header.ValidDataLength.QuadPart = Fcb->Header.FileSize.QuadPart; + } + + /* File was truncated, let mini-rdr proceed */ + if (BooleanFlagOn(Fcb->FcbState, FCB_STATE_TRUNCATE_ON_CLOSE)) + { + MINIRDR_CALL(Status, Context, Fcb->MRxDispatch, MRxTruncate, (Context)); + ClearFlag(Fcb->FcbState, FCB_STATE_TRUNCATE_ON_CLOSE); + + /* Keep track of file change for Cc uninit */ + TruncateSize.QuadPart = Fcb->Header.FileSize.QuadPart; + TruncateSizePtr = &TruncateSize; + } + } + } + + /* If RxMarkFobxOnCleanup() asked for purge, make sure we're the only one left first */ + if (NeedPurge) + { + if (!OneLeft) + { + NeedPurge = FALSE; + } + } + /* Otherwise, try to see whether we can purge */ + else + { + NeedPurge = (OneLeft && (LeftForDelete || !BooleanFlagOn(Fcb->FcbState, FCB_STATE_COLLAPSING_ENABLED))); + } + IsFile = TRUE; } } @@ -1622,7 +1817,7 @@ if (Fcb->NonPaged->SectionObjectPointers.DataSectionObject != NULL && Fcb->UncleanCount == Fcb->UncachedUncleanCount) { - DPRINT1("Flushing %p due to last cached handle cleanup\n", Context); + DPRINT("Flushing %p due to last cached handle cleanup\n", Context); RxFlushFcbInSystemCache(Fcb, TRUE); } } @@ -1631,7 +1826,7 @@ /* Always */ if (Fcb->NonPaged->SectionObjectPointers.DataSectionObject != NULL) { - DPRINT1("Flushing %p on cleanup\n", Context); + DPRINT("Flushing %p on cleanup\n", Context); RxFlushFcbInSystemCache(Fcb, TRUE); } } @@ -1644,32 +1839,32 @@ if (Fcb->UncachedUncleanCount == Fcb->UncleanCount && Fcb->NonPaged->SectionObjectPointers.DataSectionObject != NULL) { - DPRINT1("Flushing FCB in system cache for %p\n", Context); + DPRINT("Flushing FCB in system cache for %p\n", Context); RxPurgeFcbInSystemCache(Fcb, NULL, 0, FALSE, TRUE); } } } - /* If purge required, flush */ - if (!OneLeft && NeedPurge) - { - DPRINT1("Flushing FCB in system cache for %p\n", Context); + /* If purge required, and not about to delete, flush */ + if (!LeftForDelete && NeedPurge) + { + DPRINT("Flushing FCB in system cache for %p\n", Context); RxFlushFcbInSystemCache(Fcb, TRUE); } /* If it was a file, drop cache */ if (IsFile) { - DPRINT1("Uninit cache map for file\n"); - RxUninitializeCacheMap(Context, FileObject, TruncateSize); - } - - /* If that's the one left, or if it needs purge, flush */ - if (OneLeft || NeedPurge) - { - RxPurgeFcbInSystemCache(Fcb, NULL, 0, FALSE, !OneLeft); - /* Also remove from FCB table */ - if (OneLeft) + DPRINT("Uninit cache map for file\n"); + RxUninitializeCacheMap(Context, FileObject, TruncateSizePtr); + } + + /* If that's the one left for deletion, or if it needs purge, flush */ + if (LeftForDelete || NeedPurge) + { + RxPurgeFcbInSystemCache(Fcb, NULL, 0, FALSE, !LeftForDelete); + /* If that's for deletion, also remove from FCB table */ + if (LeftForDelete) { RxRemoveNameNetFcb(Fcb); RxReleaseFcbTableLock(&NetRoot->FcbTable); @@ -4943,12 +5138,43 @@ return Found; } +/* + * @implemented + */ BOOLEAN RxIsOkToPurgeFcb( PFCB Fcb) { - UNIMPLEMENTED; - return FALSE; + PLIST_ENTRY Entry; + + /* No associated SRV_OPEN, it's OK to purge */ + if (IsListEmpty(&Fcb->SrvOpenList)) + { + return TRUE; + } + + /* Only allow to purge if all the associated SRV_OPEN + * - have no outstanding opens ongoing + * - have only read attribute set + */ + for (Entry = Fcb->SrvOpenList.Flink; + Entry != &Fcb->SrvOpenList; + Entry = Entry->Flink) + { + PSRV_OPEN SrvOpen; + + SrvOpen = CONTAINING_RECORD(Entry, SRV_OPEN, SrvOpenQLinks); + + /* Failing previous needs, don't allow purge */ + if (SrvOpen->UncleanFobxCount != 0 || + (SrvOpen->DesiredAccess & 0xFFEFFFFF) != FILE_READ_ATTRIBUTES) + { + return FALSE; + } + } + + /* All correct, allow purge */ + return TRUE; } /* @@ -5089,6 +5315,14 @@ Irp->IoStatus.Status = Status; return Status; +} + +NTSTATUS +RxLowIoLockControlShell( + IN PRX_CONTEXT RxContext) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; } /* Modified: trunk/reactos/sdk/lib/drivers/rxce/rxce.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/rxce/rxce.…
============================================================================== --- trunk/reactos/sdk/lib/drivers/rxce/rxce.c [iso-8859-1] (original) +++ trunk/reactos/sdk/lib/drivers/rxce/rxce.c [iso-8859-1] Sat Jul 8 17:12:33 2017 @@ -5116,7 +5116,7 @@ DPRINT("RxLowIoCompletionTail(%p)\n", RxContext); /* Only continue if we're at APC_LEVEL or lower */ - if (KeGetCurrentIrql() >= DISPATCH_LEVEL && + if (RxShouldPostCompletion() && !BooleanFlagOn(RxContext->LowIoContext.Flags, LOWIO_CONTEXT_FLAG_CAN_COMPLETE_AT_DPC_LEVEL)) { return STATUS_MORE_PROCESSING_REQUIRED; @@ -5755,7 +5755,8 @@ if (!RxAcquireFcbTableLockExclusive(&NetRoot->FcbTable, FALSE)) { - if (RxContext != NULL && RxContext != (PVOID)-1 && RxContext != (PVOID)-2) + if (RxContext != NULL && RxContext != CHANGE_BUFFERING_STATE_CONTEXT && + RxContext != CHANGE_BUFFERING_STATE_CONTEXT_WAIT) { RxContext->Flags |= RX_CONTEXT_FLAG_BYPASS_VALIDOP_CHECK; } @@ -7807,11 +7808,11 @@ { Case = RX_FCBTRACKER_CASE_NULLCONTEXT; } - else if ((ULONG_PTR)RxContext == -1) + else if (RxContext == CHANGE_BUFFERING_STATE_CONTEXT) { Case = RX_FCBTRACKER_CASE_CBS_CONTEXT; } - else if ((ULONG_PTR)RxContext == -2) + else if (RxContext == CHANGE_BUFFERING_STATE_CONTEXT_WAIT) { Case = RX_FCBTRACKER_CASE_CBS_WAIT_CONTEXT; } @@ -8211,7 +8212,7 @@ SpecialContext = FALSE; ContextIsPresent = FALSE; /* Check for special context */ - if ((ULONG_PTR)RxContext == -1 || (ULONG_PTR)RxContext == -2) + if (RxContext == CHANGE_BUFFERING_STATE_CONTEXT || RxContext == CHANGE_BUFFERING_STATE_CONTEXT_WAIT) { SpecialContext = TRUE; } @@ -8374,7 +8375,7 @@ RxAcquireSerializationMutex(); BufferingPending = BooleanFlagOn(MrxFcb->FcbState, FCB_STATE_BUFFERING_STATE_CHANGE_PENDING); - IsExclusive = BooleanFlagOn(MrxFcb->Header.Resource->Flag, ResourceOwnedExclusive); + IsExclusive = !!RxIsResourceOwnershipStateExclusive(MrxFcb->Header.Resource); /* If no buffering pending, or no exclusive lock (we can only handle with an exclusive lock), * then just release the FCB @@ -8421,7 +8422,7 @@ RxAcquireSerializationMutex(); BufferingPending = BooleanFlagOn(MrxFcb->FcbState, FCB_STATE_BUFFERING_STATE_CHANGE_PENDING); - IsExclusive = BooleanFlagOn(MrxFcb->Header.Resource->Flag, ResourceOwnedExclusive); + IsExclusive = !!RxIsResourceOwnershipStateExclusive(MrxFcb->Header.Resource); /* If no buffering pending, or no exclusive lock (we can only handle with an exclusive lock), * then just release the FCB
7 years, 5 months
1
0
0
0
[ekohl] 75306: [NETAPI32] - Add DsValidateSubnetNameA/W stubs. - Move DsRoleFreeMemory to a better location. [SDK/INCLUDE] Add DsValidateSubnetNameA/W prototypes to dsgetdc.h.
by ekohl@svn.reactos.org
Author: ekohl Date: Sat Jul 8 12:00:44 2017 New Revision: 75306 URL:
http://svn.reactos.org/svn/reactos?rev=75306&view=rev
Log: [NETAPI32] - Add DsValidateSubnetNameA/W stubs. - Move DsRoleFreeMemory to a better location. [SDK/INCLUDE] Add DsValidateSubnetNameA/W prototypes to dsgetdc.h. Modified: trunk/reactos/dll/win32/netapi32/dssetup.c trunk/reactos/dll/win32/netapi32/netapi32.spec trunk/reactos/dll/win32/netapi32/netlogon.c trunk/reactos/sdk/include/psdk/dsgetdc.h Modified: trunk/reactos/dll/win32/netapi32/dssetup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/dssetup…
============================================================================== --- trunk/reactos/dll/win32/netapi32/dssetup.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/dssetup.c [iso-8859-1] Sat Jul 8 12:00:44 2017 @@ -77,6 +77,16 @@ } +VOID +WINAPI +DsRoleFreeMemory( + _In_ PVOID Buffer) +{ + TRACE("DsRoleFreeMemory(%p)\n", Buffer); + HeapFree(GetProcessHeap(), 0, Buffer); +} + + DWORD WINAPI DsRoleGetPrimaryDomainInformation( Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] Sat Jul 8 12:00:44 2017 @@ -36,8 +36,8 @@ @ stub DsRoleIfmHandleFree @ stub DsRoleServerSaveStateForUpgrade @ stub DsRoleUpgradeDownlevelServer -@ stub DsValidateSubnetNameA -@ stub DsValidateSubnetNameW +@ stdcall DsValidateSubnetNameA(str) +@ stdcall DsValidateSubnetNameW(wstr) @ stub I_BrowserDebugCall @ stdcall I_BrowserDebugTrace(wstr str) @ stdcall I_BrowserQueryEmulatedDomains(wstr ptr ptr) Modified: trunk/reactos/dll/win32/netapi32/netlogon.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netlogo…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] Sat Jul 8 12:00:44 2017 @@ -436,13 +436,25 @@ } -VOID -WINAPI -DsRoleFreeMemory( - _In_ PVOID Buffer) -{ - TRACE("DsRoleFreeMemory(%p)\n", Buffer); - HeapFree(GetProcessHeap(), 0, Buffer); +DWORD +WINAPI +DsValidateSubnetNameA( + _In_ LPCSTR SubnetName) +{ + FIXME("DsValidateSubnetNameA(%s)\n", + debugstr_a(SubnetName)); + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +DWORD +WINAPI +DsValidateSubnetNameW( + _In_ LPCWSTR SubnetName) +{ + FIXME("DsValidateSubnetNameW(%s)\n", + debugstr_w(SubnetName)); + return ERROR_CALL_NOT_IMPLEMENTED; } Modified: trunk/reactos/sdk/include/psdk/dsgetdc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/psdk/dsgetdc.h…
============================================================================== --- trunk/reactos/sdk/include/psdk/dsgetdc.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/psdk/dsgetdc.h [iso-8859-1] Sat Jul 8 12:00:44 2017 @@ -175,6 +175,14 @@ PLSA_FOREST_TRUST_INFORMATION NewForestTrustInfo, PLSA_FOREST_TRUST_INFORMATION OldForestTrustInfo, PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo); + +DWORD WINAPI +DsValidateSubnetNameA( + LPCSTR SubnetName); + +DWORD WINAPI +DsValidateSubnetNameW( + LPCWSTR SubnetName); #ifdef UNICODE typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO; @@ -185,6 +193,7 @@ #define DsGetDcName DsGetDcNameW #define DsGetDcSiteCoverage DsGetDcSiteCoverageW #define DsGetSiteName DsGetSiteNameW +#define DsValidateSubnetName DsValidateSubnetNameW #else typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO, *PDOMAIN_CONTROLLER_INFO; typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS, *PDS_DOMAIN_TRUSTS; @@ -194,6 +203,7 @@ #define DsGetDcName DsGetDcNameA #define DsGetDcSiteCoverage DsGetDcSiteCoverageA #define DsGetSiteName DsGetSiteNameA +#define DsValidateSubnetName DsValidateSubnetNameA #endif #ifdef __cplusplus
7 years, 5 months
1
0
0
0
[ekohl] 75305: [NETAPI32] - Add DsDeregisterDnsHostRecordsA stub. - Implement DsDeregisterDnsHostRecordsW. [SDK/INCLUDE] Add DsDeregisterDnsHostRecordsA/W prototypes to dsgetdc.h.
by ekohl@svn.reactos.org
Author: ekohl Date: Sat Jul 8 09:11:22 2017 New Revision: 75305 URL:
http://svn.reactos.org/svn/reactos?rev=75305&view=rev
Log: [NETAPI32] - Add DsDeregisterDnsHostRecordsA stub. - Implement DsDeregisterDnsHostRecordsW. [SDK/INCLUDE] Add DsDeregisterDnsHostRecordsA/W prototypes to dsgetdc.h. Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec trunk/reactos/dll/win32/netapi32/netlogon.c trunk/reactos/sdk/include/psdk/dsgetdc.h Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] Sat Jul 8 09:11:22 2017 @@ -3,8 +3,8 @@ @ stub DsAddressToSiteNamesExA @ stub DsAddressToSiteNamesExW @ stdcall DsAddressToSiteNamesW(wstr long ptr wstr) -@ stub DsDeregisterDnsHostRecordsA -@ stub DsDeregisterDnsHostRecordsW +@ stdcall DsDeregisterDnsHostRecordsA(str str ptr ptr str) +@ stdcall DsDeregisterDnsHostRecordsW(wstr wstr ptr ptr wstr) 8 stdcall DsEnumerateDomainTrustsA(wstr long ptr ptr) 9 stdcall DsEnumerateDomainTrustsW(wstr long ptr ptr) @ stub DsGetDcCloseW Modified: trunk/reactos/dll/win32/netapi32/netlogon.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netlogo…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netlogon.c [iso-8859-1] Sat Jul 8 09:11:22 2017 @@ -162,6 +162,55 @@ DWORD WINAPI +DsDeregisterDnsHostRecordsA( + _In_opt_ LPSTR ServerName, + _In_opt_ LPSTR DnsDomainName, + _In_opt_ GUID *DomainGuid, + _In_opt_ GUID *DsaGuid, + _In_ LPSTR DnsHostName) +{ + FIXME("DsDeregisterDnsHostRecordsA(%s, %s, %p, %p, %s)\n", + debugstr_a(ServerName), debugstr_a(DnsDomainName), + DomainGuid, DsaGuid, debugstr_a(DnsHostName)); + return ERROR_CALL_NOT_IMPLEMENTED; +} + + +DWORD +WINAPI +DsDeregisterDnsHostRecordsW( + _In_opt_ LPWSTR ServerName, + _In_opt_ LPWSTR DnsDomainName, + _In_opt_ GUID *DomainGuid, + _In_opt_ GUID *DsaGuid, + _In_ LPWSTR DnsHostName) +{ + NET_API_STATUS status; + + TRACE("DsDeregisterDnsHostRecordsW(%s, %s, %p, %p, %s)\n", + debugstr_w(ServerName), debugstr_w(DnsDomainName), + DomainGuid, DsaGuid, debugstr_w(DnsHostName)); + + RpcTryExcept + { + status = DsrDeregisterDnsHostRecords(ServerName, + DnsDomainName, + DomainGuid, + DsaGuid, + DnsHostName); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; +} + + +DWORD +WINAPI DsEnumerateDomainTrustsA( _In_opt_ LPSTR ServerName, _In_ ULONG Flags, Modified: trunk/reactos/sdk/include/psdk/dsgetdc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/psdk/dsgetdc.h…
============================================================================== --- trunk/reactos/sdk/include/psdk/dsgetdc.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/psdk/dsgetdc.h [iso-8859-1] Sat Jul 8 09:11:22 2017 @@ -93,6 +93,22 @@ LPWSTR **SubnetNames); DWORD WINAPI +DsDeregisterDnsHostRecordsA( + LPSTR ServerName, + LPSTR DnsDomainName, + GUID *DomainGuid, + GUID *DsaGuid, + LPSTR DnsHostName); + +DWORD WINAPI +DsDeregisterDnsHostRecordsW( + LPWSTR ServerName, + LPWSTR DnsDomainName, + GUID *DomainGuid, + GUID *DsaGuid, + LPWSTR DnsHostName); + +DWORD WINAPI DsEnumerateDomainTrustsA( LPSTR ServerName, ULONG Flags, @@ -124,42 +140,36 @@ ULONG Flags, PDOMAIN_CONTROLLER_INFOW* DomainControllerInfo); -DWORD -WINAPI +DWORD WINAPI DsGetDcSiteCoverageA( LPCSTR ServerName, PULONG EntryCount, LPSTR **SiteNames); -DWORD -WINAPI +DWORD WINAPI DsGetDcSiteCoverageW( LPCWSTR ServerName, PULONG EntryCount, LPWSTR **SiteNames); -DWORD -WINAPI +DWORD WINAPI DsGetForestTrustInformationW( LPCWSTR ServerName, LPCWSTR TrustedDomainName, DWORD Flags, PLSA_FOREST_TRUST_INFORMATION *ForestTrustInfo); -DWORD -WINAPI +DWORD WINAPI DsGetSiteNameA( LPCSTR ComputerName, LPSTR *SiteName); -DWORD -WINAPI +DWORD WINAPI DsGetSiteNameW( LPCWSTR ComputerName, LPWSTR *SiteName); -DWORD -WINAPI +DWORD WINAPI DsMergeForestTrustInformationW( LPCWSTR DomainName, PLSA_FOREST_TRUST_INFORMATION NewForestTrustInfo,
7 years, 5 months
1
0
0
0
← Newer
1
...
13
14
15
16
17
18
19
...
22
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Results per page:
10
25
50
100
200