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
October 2008
----- 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
25 participants
517 discussions
Start a n
N
ew thread
[ekohl] 36991: Service Manager: - Get rid of the globally created binding handle and use the WIDL-generated custom binding handles and context handles instead. The other RPC interfaces will be converted as soon as possible.
by ekohlï¼ svn.reactos.org
Author: ekohl Date: Sun Oct 26 10:11:28 2008 New Revision: 36991 URL:
http://svn.reactos.org/svn/reactos?rev=36991&view=rev
Log: Service Manager: - Get rid of the globally created binding handle and use the WIDL-generated custom binding handles and context handles instead. The other RPC interfaces will be converted as soon as possible. Modified: trunk/reactos/base/system/services/rpcserver.c trunk/reactos/dll/win32/advapi32/service/scm.c trunk/reactos/dll/win32/advapi32/service/sctrl.c trunk/reactos/include/reactos/idl/svcctl.idl Modified: trunk/reactos/base/system/services/rpcserver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcse…
============================================================================== --- trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] (original) +++ trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] Sun Oct 26 10:11:28 2008 @@ -400,7 +400,6 @@ /* Function 0 */ DWORD RCloseServiceHandle( - handle_t BindingHandle, LPSC_RPC_HANDLE hSCObject) { PMANAGER_HANDLE hManager; @@ -526,7 +525,6 @@ /* Function 1 */ DWORD RControlService( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwControl, LPSERVICE_STATUS lpServiceStatus) @@ -657,7 +655,6 @@ /* Function 2 */ DWORD RDeleteService( - handle_t BindingHandle, SC_RPC_HANDLE hService) { PSERVICE_HANDLE hSvc; @@ -707,7 +704,6 @@ /* Function 3 */ DWORD RLockServiceDatabase( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPSC_RPC_LOCK lpLock) { @@ -736,7 +732,6 @@ /* Function 4 */ DWORD RQueryServiceObjectSecurity( - handle_t BindingHandle, SC_RPC_HANDLE hService, SECURITY_INFORMATION dwSecurityInformation, LPBYTE lpSecurityDescriptor, @@ -820,7 +815,6 @@ /* Function 5 */ DWORD RSetServiceObjectSecurity( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwSecurityInformation, LPBYTE lpSecurityDescriptor, @@ -940,7 +934,6 @@ /* Function 6 */ DWORD RQueryServiceStatus( - handle_t BindingHandle, SC_RPC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus) { @@ -1004,7 +997,6 @@ /* Function 7 */ DWORD RSetServiceStatus( -// handle_t BindingHandle, RPC_SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus) { @@ -1070,7 +1062,6 @@ /* Function 8 */ DWORD RUnlockServiceDatabase( - handle_t BindingHandle, LPSC_RPC_LOCK Lock) { UNIMPLEMENTED; @@ -1080,7 +1071,6 @@ /* Function 9 */ DWORD RNotifyBootConfigStatus( - handle_t BindingHandle, SVCCTL_HANDLEW lpMachineName, DWORD BootAcceptable) { @@ -1091,7 +1081,6 @@ /* Function 10 */ DWORD RI_ScSetServiceBitsW( -// handle_t BindingHandle, RPC_SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, int bSetBitsOn, @@ -1105,7 +1094,6 @@ /* Function 11 */ DWORD RChangeServiceConfigW( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwServiceType, DWORD dwStartType, @@ -1715,7 +1703,6 @@ /* Function 12 */ DWORD RCreateServiceW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPWSTR lpServiceName, LPWSTR lpDisplayName, @@ -2051,7 +2038,6 @@ /* Function 13 */ DWORD REnumDependentServicesW( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwServiceState, LPBYTE lpServices, @@ -2181,7 +2167,6 @@ /* Function 14 */ DWORD REnumServicesStatusW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, DWORD dwServiceType, DWORD dwServiceState, @@ -2388,7 +2373,6 @@ /* Function 15 */ DWORD ROpenSCManagerW( -// handle_t BindingHandle, LPWSTR lpMachineName, LPWSTR lpDatabaseName, DWORD dwDesiredAccess, @@ -2439,7 +2423,6 @@ /* Function 16 */ DWORD ROpenServiceW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPWSTR lpServiceName, DWORD dwDesiredAccess, @@ -2515,7 +2498,6 @@ /* Function 17 */ DWORD RQueryServiceConfigW( - handle_t BindingHandle, SC_RPC_HANDLE hService, LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGW lpServiceConfig, DWORD cbBufSize, @@ -2692,7 +2674,6 @@ /* Function 18 */ DWORD RQueryServiceLockStatusW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, DWORD cbBufSize, @@ -2705,7 +2686,6 @@ /* Function 19 */ DWORD RStartServiceW( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD argc, LPSTRING_PTRSW argv) @@ -2760,7 +2740,6 @@ /* Function 20 */ DWORD RGetServiceDisplayNameW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPWSTR lpServiceName, LPWSTR lpDisplayName, @@ -2832,7 +2811,6 @@ /* Function 21 */ DWORD RGetServiceKeyNameW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPWSTR lpDisplayName, LPWSTR lpServiceName, @@ -2893,7 +2871,6 @@ /* Function 22 */ DWORD RI_ScSetServiceBitsA( -// handle_t BindingHandle, RPC_SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, int bSetBitsOn, @@ -2907,7 +2884,6 @@ /* Function 23 */ DWORD RChangeServiceConfigA( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwServiceType, DWORD dwStartType, @@ -3192,7 +3168,6 @@ /* Function 24 */ DWORD RCreateServiceA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPSTR lpServiceName, LPSTR lpDisplayName, @@ -3217,7 +3192,6 @@ /* Function 25 */ DWORD REnumDependentServicesA( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwServiceState, LPBYTE lpServices, @@ -3365,7 +3339,6 @@ /* Function 26 */ DWORD REnumServicesStatusA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, DWORD dwServiceType, DWORD dwServiceState, @@ -3394,7 +3367,7 @@ } } - dwError = REnumServicesStatusW(BindingHandle, + dwError = REnumServicesStatusW(//BindingHandle, hSCManager, dwServiceType, dwServiceState, @@ -3462,7 +3435,6 @@ /* Function 27 */ DWORD ROpenSCManagerA( -// handle_t BindingHandle, LPSTR lpMachineName, LPSTR lpDatabaseName, DWORD dwDesiredAccess, @@ -3500,7 +3472,6 @@ /* Function 28 */ DWORD ROpenServiceA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPSTR lpServiceName, DWORD dwDesiredAccess, @@ -3515,7 +3486,7 @@ RtlCreateUnicodeStringFromAsciiz(&ServiceName, lpServiceName); - dwError = ROpenServiceW(BindingHandle, + dwError = ROpenServiceW(//BindingHandle, hSCManager, lpServiceName ? ServiceName.Buffer : NULL, dwDesiredAccess, @@ -3530,7 +3501,6 @@ /* Function 29 */ DWORD RQueryServiceConfigA( - handle_t BindingHandle, SC_RPC_HANDLE hService, LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig, DWORD cbBufSize, @@ -3739,7 +3709,6 @@ /* Function 30 */ DWORD RQueryServiceLockStatusA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, DWORD cbBufSize, @@ -3752,7 +3721,6 @@ /* Function 31 */ DWORD RStartServiceA( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD argc, LPSTRING_PTRSA argv) @@ -3806,7 +3774,6 @@ /* Function 32 */ DWORD RGetServiceDisplayNameA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPSTR lpServiceName, LPSTR lpDisplayName, @@ -3908,7 +3875,6 @@ /* Function 33 */ DWORD RGetServiceKeyNameA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPSTR lpDisplayName, LPSTR lpServiceName, @@ -3983,7 +3949,6 @@ /* Function 34 */ DWORD RI_ScGetCurrentGroupStateW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, LPWSTR lpLoadOrderGroup, LPDWORD lpState) @@ -3995,7 +3960,6 @@ /* Function 35 */ DWORD REnumServiceGroupW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, DWORD dwServiceType, DWORD dwServiceState, @@ -4013,7 +3977,6 @@ /* Function 36 */ DWORD RChangeServiceConfig2A( - handle_t BindingHandle, SC_RPC_HANDLE hService, SC_RPC_CONFIG_INFOA Info) { @@ -4024,7 +3987,6 @@ /* Function 37 */ DWORD RChangeServiceConfig2W( - handle_t BindingHandle, SC_RPC_HANDLE hService, SC_RPC_CONFIG_INFOW Info) { @@ -4117,7 +4079,6 @@ /* Function 38 */ DWORD RQueryServiceConfig2A( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwInfoLevel, LPBYTE lpBuffer, @@ -4225,7 +4186,6 @@ /* Function 39 */ DWORD RQueryServiceConfig2W( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwInfoLevel, LPBYTE lpBuffer, @@ -4324,7 +4284,6 @@ /* Function 40 */ DWORD RQueryServiceStatusEx( - handle_t BindingHandle, SC_RPC_HANDLE hService, SC_STATUS_TYPE InfoLevel, LPBYTE lpBuffer, @@ -4385,7 +4344,6 @@ /* Function 41 */ DWORD REnumServicesStatusExA( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, SC_ENUM_TYPE InfoLevel, DWORD dwServiceType, @@ -4433,8 +4391,7 @@ } } - dwError = REnumServicesStatusExW(BindingHandle, - hSCManager, + dwError = REnumServicesStatusExW(hSCManager, InfoLevel, dwServiceType, dwServiceState, @@ -4507,7 +4464,6 @@ /* Function 42 */ DWORD REnumServicesStatusExW( - handle_t BindingHandle, SC_RPC_HANDLE hSCManager, SC_ENUM_TYPE InfoLevel, DWORD dwServiceType, @@ -4782,7 +4738,7 @@ /* Function 43 */ DWORD RSendTSMessage( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4839,7 +4795,7 @@ /* Function 46 */ DWORD RQueryServiceTagInfo( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4848,7 +4804,6 @@ /* Function 47 */ DWORD RNotifyServiceStatusChange( - handle_t BindingHandle, SC_RPC_HANDLE hService, SC_RPC_NOTIFY_PARAMS NotifyParams, GUID *pClientProcessGuid, @@ -4863,7 +4818,6 @@ /* Function 48 */ DWORD RGetNotifyResults( - handle_t BindingHandle, SC_NOTIFY_RPC_HANDLE hNotify, PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams) { @@ -4874,7 +4828,6 @@ /* Function 49 */ DWORD RCloseNotifyHandle( - handle_t BindingHandle, LPSC_NOTIFY_RPC_HANDLE phNotify, PBOOL pfApcFired) { @@ -4885,7 +4838,6 @@ /* Function 50 */ DWORD RControlServiceExA( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwControl, DWORD dwInfoLevel) @@ -4897,7 +4849,6 @@ /* Function 51 */ DWORD RControlServiceExW( - handle_t BindingHandle, SC_RPC_HANDLE hService, DWORD dwControl, DWORD dwInfoLevel) @@ -4909,7 +4860,7 @@ /* Function 52 */ DWORD RSendPnPMessage( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4918,7 +4869,7 @@ /* Function 53 */ DWORD RValidatePnPService( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4927,7 +4878,7 @@ /* Function 54 */ DWORD ROpenServiceStatusHandle( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4936,7 +4887,7 @@ /* Function 55 */ DWORD RFunction55( - handle_t BindingHandle) + handle_t BindingHandle) /* FIXME */ { UNIMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED; @@ -4969,5 +4920,4 @@ { } - /* EOF */ Modified: trunk/reactos/dll/win32/advapi32/service/scm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service…
============================================================================== --- trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] Sun Oct 26 10:11:28 2008 @@ -21,16 +21,126 @@ /* FUNCTIONS *****************************************************************/ -handle_t BindingHandle = NULL; - -VOID -HandleBind(VOID) -{ +handle_t __RPC_USER +SVCCTL_HANDLEA_bind(SVCCTL_HANDLEA szMachineName) +{ + handle_t hBinding = NULL; + UCHAR *pszStringBinding; + RPC_STATUS status; + + ERR("SVCCTL_HANDLEA_bind() called\n"); + + status = RpcStringBindingComposeA((UCHAR *)szMachineName, + (UCHAR *)"ncacn_np", + NULL, + (UCHAR *)"\\pipe\\ntsvcs", + NULL, + (UCHAR **)&pszStringBinding); + if (status) + { + ERR("RpcStringBindingCompose returned 0x%x\n", status); + return NULL; + } + + /* Set the binding handle that will be used to bind to the server. */ + status = RpcBindingFromStringBindingA(pszStringBinding, + &hBinding); + if (status) + { + ERR("RpcBindingFromStringBinding returned 0x%x\n", status); + } + + status = RpcStringFreeA(&pszStringBinding); + if (status) + { + ERR("RpcStringFree returned 0x%x\n", status); + } + + return hBinding; +} + + +void __RPC_USER +SVCCTL_HANDLEA_unbind(SVCCTL_HANDLEA szMachineName, + handle_t hBinding) +{ + RPC_STATUS status; + + ERR("SVCCTL_HANDLEA_unbind() called\n"); + + status = RpcBindingFree(&hBinding); + if (status) + { + ERR("RpcBindingFree returned 0x%x\n", status); + } +} + + +handle_t __RPC_USER +SVCCTL_HANDLEW_bind(SVCCTL_HANDLEW szMachineName) +{ + handle_t hBinding = NULL; LPWSTR pszStringBinding; RPC_STATUS status; - if (BindingHandle != NULL) - return; + ERR("SVCCTL_HANDLEW_bind() called\n"); + + + status = RpcStringBindingComposeW(szMachineName, + L"ncacn_np", + NULL, + L"\\pipe\\ntsvcs", + NULL, + &pszStringBinding); + if (status) + { + ERR("RpcStringBindingCompose returned 0x%x\n", status); + return NULL; + } + + /* Set the binding handle that will be used to bind to the server. */ + status = RpcBindingFromStringBindingW(pszStringBinding, + &hBinding); + if (status) + { + ERR("RpcBindingFromStringBinding returned 0x%x\n", status); + } + + status = RpcStringFreeW(&pszStringBinding); + if (status) + { + ERR("RpcStringFree returned 0x%x\n", status); + } + + return hBinding; +} + + +void __RPC_USER +SVCCTL_HANDLEW_unbind(SVCCTL_HANDLEW szMachineName, + handle_t hBinding) +{ + RPC_STATUS status; + + ERR("SVCCTL_HANDLEW_unbind() called\n"); + + status = RpcBindingFree(&hBinding); + if (status) + { + ERR("RpcBindingFree returned 0x%x\n", status); + } +} + + +handle_t __RPC_USER +RPC_SERVICE_STATUS_HANDLE_bind(RPC_SERVICE_STATUS_HANDLE hServiceStatus) +{ + handle_t hBinding = NULL; + LPWSTR pszStringBinding; + RPC_STATUS status; + + ERR("RPC_SERVICE_STATUS_HANDLE_bind() called\n"); + status = RpcStringBindingComposeW(NULL, L"ncacn_np", @@ -40,116 +150,6 @@ &pszStringBinding); if (status) { - TRACE("RpcStringBindingCompose returned 0x%x\n", status); - return; - } - - /* Set the binding handle that will be used to bind to the server. */ - status = RpcBindingFromStringBindingW(pszStringBinding, - &BindingHandle); - if (status) - { - TRACE("RpcBindingFromStringBinding returned 0x%x\n", status); - } - - status = RpcStringFreeW(&pszStringBinding); - if (status) - { - TRACE("RpcStringFree returned 0x%x\n", status); - } -} - - -#if 0 -static VOID -HandleUnbind(VOID) -{ - RPC_STATUS status; - - if (BindingHandle == NULL) - return; - - status = RpcBindingFree(&BindingHandle); - if (status) - { - TRACE("RpcBindingFree returned 0x%x\n", status); - } -} -#endif - -handle_t __RPC_USER -SVCCTL_HANDLEA_bind(SVCCTL_HANDLEA szMachineName) -{ - handle_t hBinding = NULL; - UCHAR *pszStringBinding; - RPC_STATUS status; - - ERR("SVCCTL_HANDLEA_bind() called\n"); - - status = RpcStringBindingComposeA((UCHAR *)szMachineName, - (UCHAR *)"ncacn_np", - NULL, - (UCHAR *)"\\pipe\\ntsvcs", - NULL, - (UCHAR **)&pszStringBinding); - if (status) - { - ERR("RpcStringBindingCompose returned 0x%x\n", status); - return NULL; - } - - /* Set the binding handle that will be used to bind to the server. */ - status = RpcBindingFromStringBindingA(pszStringBinding, - &hBinding); - if (status) - { - ERR("RpcBindingFromStringBinding returned 0x%x\n", status); - } - - status = RpcStringFreeA(&pszStringBinding); - if (status) - { - ERR("RpcStringFree returned 0x%x\n", status); - } - - return hBinding; -} - - -void __RPC_USER -SVCCTL_HANDLEA_unbind(SVCCTL_HANDLEA szMachineName, - handle_t hBinding) -{ - RPC_STATUS status; - - ERR("SVCCTL_HANDLEA_unbind() called\n"); - - status = RpcBindingFree(&hBinding); - if (status) - { - ERR("RpcBindingFree returned 0x%x\n", status); - } -} - - -handle_t __RPC_USER -SVCCTL_HANDLEW_bind(SVCCTL_HANDLEW szMachineName) -{ - handle_t hBinding = NULL; - LPWSTR pszStringBinding; - RPC_STATUS status; - - ERR("SVCCTL_HANDLEW_bind() called\n"); - - - status = RpcStringBindingComposeW(szMachineName, - L"ncacn_np", - NULL, - L"\\pipe\\ntsvcs", - NULL, - &pszStringBinding); - if (status) - { ERR("RpcStringBindingCompose returned 0x%x\n", status); return NULL; } @@ -173,62 +173,6 @@ void __RPC_USER -SVCCTL_HANDLEW_unbind(SVCCTL_HANDLEW szMachineName, - handle_t hBinding) -{ - RPC_STATUS status; - - ERR("SVCCTL_HANDLEW_unbind() called\n"); - - status = RpcBindingFree(&hBinding); - if (status) - { - ERR("RpcBindingFree returned 0x%x\n", status); - } -} - - -handle_t __RPC_USER -RPC_SERVICE_STATUS_HANDLE_bind(RPC_SERVICE_STATUS_HANDLE hServiceStatus) -{ - handle_t hBinding = NULL; - LPWSTR pszStringBinding; - RPC_STATUS status; - - ERR("RPC_SERVICE_STATUS_HANDLE_bind() called\n"); - - - status = RpcStringBindingComposeW(NULL, - L"ncacn_np", - NULL, - L"\\pipe\\ntsvcs", - NULL, - &pszStringBinding); - if (status) - { - ERR("RpcStringBindingCompose returned 0x%x\n", status); - return NULL; - } - - /* Set the binding handle that will be used to bind to the server. */ - status = RpcBindingFromStringBindingW(pszStringBinding, - &hBinding); - if (status) - { - ERR("RpcBindingFromStringBinding returned 0x%x\n", status); - } - - status = RpcStringFreeW(&pszStringBinding); - if (status) - { - ERR("RpcStringFree returned 0x%x\n", status); - } - - return hBinding; -} - - -void __RPC_USER RPC_SERVICE_STATUS_HANDLE_unbind(RPC_SERVICE_STATUS_HANDLE hServiceStatus, handle_t hBinding) { @@ -300,12 +244,9 @@ if (lpInfo == NULL) return TRUE; - HandleBind(); - - _SEH_TRY - { - dwError = RChangeServiceConfig2A(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = RChangeServiceConfig2A((SC_RPC_HANDLE)hService, Info); } _SEH_HANDLE @@ -363,12 +304,9 @@ if (lpInfo == NULL) return TRUE; - HandleBind(); - - _SEH_TRY - { - dwError = RChangeServiceConfig2W(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = RChangeServiceConfig2W((SC_RPC_HANDLE)hService, Info); } _SEH_HANDLE @@ -428,13 +366,10 @@ /* FIXME: Encrypt the password */ - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RChangeServiceConfigA(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RChangeServiceConfigA((SC_RPC_HANDLE)hService, dwServiceType, dwStartType, dwErrorControl, @@ -505,13 +440,10 @@ /* FIXME: Encrypt the password */ - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RChangeServiceConfigW(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RChangeServiceConfigW((SC_RPC_HANDLE)hService, dwServiceType, dwStartType, dwErrorControl, @@ -554,13 +486,10 @@ TRACE("CloseServiceHandle() called\n"); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RCloseServiceHandle(BindingHandle, - (LPSC_RPC_HANDLE)&hSCObject); + dwError = RCloseServiceHandle((LPSC_RPC_HANDLE)&hSCObject); } _SEH_HANDLE { @@ -596,13 +525,10 @@ TRACE("ControlService(%x, %x, %p)\n", hService, dwControl, lpServiceStatus); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RControlService(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RControlService((SC_RPC_HANDLE)hService, dwControl, lpServiceStatus); } @@ -853,13 +779,10 @@ /* FIXME: Encrypt the password */ - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RCreateServiceW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = RCreateServiceW((SC_RPC_HANDLE)hSCManager, (LPWSTR)lpServiceName, (LPWSTR)lpDisplayName, dwDesiredAccess, @@ -905,13 +828,10 @@ TRACE("DeleteService(%x)\n", hService); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RDeleteService(BindingHandle, - (SC_RPC_HANDLE)hService); + dwError = RDeleteService((SC_RPC_HANDLE)hService); } _SEH_HANDLE { @@ -949,12 +869,9 @@ TRACE("EnumServicesStatusA() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumDependentServicesA(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = REnumDependentServicesA((SC_RPC_HANDLE)hService, dwServiceState, (LPBYTE)lpServices, cbBufSize, @@ -1013,12 +930,9 @@ TRACE("EnumServicesStatusW() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumDependentServicesW(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = REnumDependentServicesW((SC_RPC_HANDLE)hService, dwServiceState, (LPBYTE)lpServices, cbBufSize, @@ -1103,12 +1017,9 @@ TRACE("EnumServicesStatusA() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumServicesStatusA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = REnumServicesStatusA((SC_RPC_HANDLE)hSCManager, dwServiceType, dwServiceState, (LPBYTE)lpServices, @@ -1171,12 +1082,9 @@ TRACE("EnumServicesStatusW() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumServicesStatusW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = REnumServicesStatusW((SC_RPC_HANDLE)hSCManager, dwServiceType, dwServiceState, (LPBYTE)lpServices, @@ -1241,12 +1149,9 @@ TRACE("EnumServicesStatusExA() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumServicesStatusExA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = REnumServicesStatusExA((SC_RPC_HANDLE)hSCManager, InfoLevel, dwServiceType, dwServiceState, @@ -1321,12 +1226,9 @@ TRACE("EnumServicesStatusExW() called\n"); - HandleBind(); - - _SEH_TRY - { - dwError = REnumServicesStatusExW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = REnumServicesStatusExW((SC_RPC_HANDLE)hSCManager, InfoLevel, dwServiceType, dwServiceState, @@ -1396,12 +1298,9 @@ if (!lpDisplayName) *lpcchBuffer = 0; - HandleBind(); - - _SEH_TRY - { - dwError = RGetServiceDisplayNameA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = RGetServiceDisplayNameA((SC_RPC_HANDLE)hSCManager, (LPSTR)lpServiceName, lpDisplayName, lpcchBuffer); @@ -1444,12 +1343,9 @@ if (!lpDisplayName) *lpcchBuffer = 0; - HandleBind(); - - _SEH_TRY - { - dwError = RGetServiceDisplayNameW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = RGetServiceDisplayNameW((SC_RPC_HANDLE)hSCManager, (LPWSTR)lpServiceName, lpDisplayName, lpcchBuffer); @@ -1489,12 +1385,9 @@ if (!lpServiceName) *lpcchBuffer = 0; - HandleBind(); - - _SEH_TRY - { - dwError = RGetServiceKeyNameA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = RGetServiceKeyNameA((SC_RPC_HANDLE)hSCManager, (LPSTR)lpDisplayName, lpServiceName, lpcchBuffer); @@ -1534,12 +1427,9 @@ if (!lpDisplayName) *lpcchBuffer = 0; - HandleBind(); - - _SEH_TRY - { - dwError = RGetServiceKeyNameW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + _SEH_TRY + { + dwError = RGetServiceKeyNameW((SC_RPC_HANDLE)hSCManager, (LPWSTR)lpDisplayName, lpServiceName, lpcchBuffer); @@ -1574,13 +1464,10 @@ TRACE("LockServiceDatabase(%x)\n", hSCManager); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RLockServiceDatabase(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = RLockServiceDatabase((SC_RPC_HANDLE)hSCManager, (SC_RPC_LOCK *)&hLock); } _SEH_HANDLE @@ -1660,13 +1547,10 @@ WaitForSCManager(); -// HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenSCManagerA(//BindingHandle, - (LPSTR)lpMachineName, + dwError = ROpenSCManagerA((LPSTR)lpMachineName, (LPSTR)lpDatabaseName, dwDesiredAccess, (SC_RPC_HANDLE *)&hScm); @@ -1708,13 +1592,10 @@ WaitForSCManager(); -// HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenSCManagerW(//BindingHandle, - (LPWSTR)lpMachineName, + dwError = ROpenSCManagerW((LPWSTR)lpMachineName, (LPWSTR)lpDatabaseName, dwDesiredAccess, (SC_RPC_HANDLE *)&hScm); @@ -1754,13 +1635,10 @@ TRACE("OpenServiceA(%p, %s, %lx)\n", hSCManager, lpServiceName, dwDesiredAccess); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenServiceA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = ROpenServiceA((SC_RPC_HANDLE)hSCManager, (LPSTR)lpServiceName, dwDesiredAccess, (SC_RPC_HANDLE *)&hService); @@ -1800,13 +1678,10 @@ TRACE("OpenServiceW(%p, %S, %lx)\n", hSCManager, lpServiceName, dwDesiredAccess); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenServiceW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = ROpenServiceW((SC_RPC_HANDLE)hSCManager, (LPWSTR)lpServiceName, dwDesiredAccess, (SC_RPC_HANDLE *)&hService); @@ -1849,13 +1724,10 @@ TRACE("QueryServiceConfigA(%p, %p, %lu, %p)\n", hService, lpServiceConfig, cbBufSize, pcbBytesNeeded); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceConfigA(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceConfigA((SC_RPC_HANDLE)hService, (LPBYTE)lpServiceConfig, cbBufSize, pcbBytesNeeded); @@ -1921,13 +1793,10 @@ TRACE("QueryServiceConfigW(%p, %p, %lu, %p)\n", hService, lpServiceConfig, cbBufSize, pcbBytesNeeded); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceConfigW(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceConfigW((SC_RPC_HANDLE)hService, (LPBYTE)lpServiceConfig, cbBufSize, pcbBytesNeeded); @@ -2011,13 +1880,10 @@ return FALSE; } - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceConfig2A(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceConfig2A((SC_RPC_HANDLE)hService, dwInfoLevel, lpBuffer, cbBufSize, @@ -2109,13 +1975,10 @@ return FALSE; } - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceConfig2W(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceConfig2W((SC_RPC_HANDLE)hService, dwInfoLevel, lpBuffer, cbBufSize, @@ -2191,13 +2054,10 @@ TRACE("QueryServiceLockStatusA() called\n"); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceLockStatusA(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = RQueryServiceLockStatusA((SC_RPC_HANDLE)hSCManager, lpLockStatus, cbBufSize, pcbBytesNeeded); @@ -2242,13 +2102,10 @@ TRACE("QueryServiceLockStatusW() called\n"); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceLockStatusW(BindingHandle, - (SC_RPC_HANDLE)hSCManager, + dwError = RQueryServiceLockStatusW((SC_RPC_HANDLE)hSCManager, lpLockStatus, cbBufSize, pcbBytesNeeded); @@ -2295,13 +2152,10 @@ TRACE("QueryServiceObjectSecurity(%p, %lu, %p)\n", hService, dwSecurityInformation, lpSecurityDescriptor); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceObjectSecurity(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceObjectSecurity((SC_RPC_HANDLE)hService, dwSecurityInformation, (LPBYTE)lpSecurityDescriptor, cbBufSize, @@ -2365,13 +2219,10 @@ return FALSE; } - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RSetServiceObjectSecurity(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RSetServiceObjectSecurity((SC_RPC_HANDLE)hService, dwSecurityInformation, (LPBYTE)SelfRelativeSD, Length); @@ -2409,13 +2260,10 @@ TRACE("QueryServiceStatus(%p, %p)\n", hService, lpServiceStatus); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceStatus(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceStatus((SC_RPC_HANDLE)hService, lpServiceStatus); } _SEH_HANDLE @@ -2451,13 +2299,10 @@ TRACE("QueryServiceStatusEx() called\n"); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RQueryServiceStatusEx(BindingHandle, - (SC_RPC_HANDLE)hService, + dwError = RQueryServiceStatusEx((SC_RPC_HANDLE)hService, InfoLevel, lpBuffer, cbBufSize, @@ -2492,12 +2337,9 @@ { DWORD dwError; - HandleBind(); - - _SEH_TRY - { - dwError = RStartServiceA(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = RStartServiceA((SC_RPC_HANDLE)hService, dwNumServiceArgs, (LPSTRING_PTRSA)lpServiceArgVectors); } @@ -2530,12 +2372,9 @@ { DWORD dwError; - HandleBind(); - - _SEH_TRY - { - dwError = RStartServiceW(BindingHandle, - (SC_RPC_HANDLE)hService, + _SEH_TRY + { + dwError = RStartServiceW((SC_RPC_HANDLE)hService, dwNumServiceArgs, (LPSTRING_PTRSW)lpServiceArgVectors); } @@ -2568,13 +2407,10 @@ TRACE("UnlockServiceDatabase(%x)\n", ScLock); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RUnlockServiceDatabase(BindingHandle, - (LPSC_RPC_LOCK)&ScLock); + dwError = RUnlockServiceDatabase((LPSC_RPC_LOCK)&ScLock); } _SEH_HANDLE { @@ -2605,13 +2441,10 @@ TRACE("NotifyBootConfigStatus()\n"); - HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - dwError = RNotifyBootConfigStatus(BindingHandle, - NULL, + dwError = RNotifyBootConfigStatus(NULL, BootAcceptable); } _SEH_HANDLE Modified: trunk/reactos/dll/win32/advapi32/service/sctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service…
============================================================================== --- trunk/reactos/dll/win32/advapi32/service/sctrl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/service/sctrl.c [iso-8859-1] Sun Oct 26 10:11:28 2008 @@ -19,8 +19,6 @@ /* TYPES *********************************************************************/ - -VOID HandleBind(VOID); typedef struct _ACTIVE_SERVICE { @@ -42,7 +40,6 @@ /* GLOBALS *******************************************************************/ -extern handle_t BindingHandle; static DWORD dwActiveServiceCount = 0; static PACTIVE_SERVICE lpActiveServices = NULL; @@ -544,13 +541,10 @@ { BOOL bResult; -// HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - bResult = RI_ScSetServiceBitsA(//BindingHandle, - (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, + bResult = RI_ScSetServiceBitsA((RPC_SERVICE_STATUS_HANDLE)hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately, @@ -583,13 +577,10 @@ { BOOL bResult; -// HandleBind(); - _SEH_TRY { /* Call to services.exe using RPC */ - bResult = RI_ScSetServiceBitsW(//BindingHandle, - (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, + bResult = RI_ScSetServiceBitsW((RPC_SERVICE_STATUS_HANDLE)hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately, @@ -639,11 +630,8 @@ TRACE("SetServiceStatus() called\n"); TRACE("hServiceStatus %lu\n", hServiceStatus); -// HandleBind(); - /* Call to services.exe using RPC */ - dwError = RSetServiceStatus(//BindingHandle, - (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, + dwError = RSetServiceStatus((RPC_SERVICE_STATUS_HANDLE)hServiceStatus, lpServiceStatus); if (dwError != ERROR_SUCCESS) { Modified: trunk/reactos/include/reactos/idl/svcctl.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/svcctl…
============================================================================== --- trunk/reactos/include/reactos/idl/svcctl.idl [iso-8859-1] (original) +++ trunk/reactos/include/reactos/idl/svcctl.idl [iso-8859-1] Sun Oct 26 10:11:28 2008 @@ -18,11 +18,11 @@ typedef [handle] LPSTR SVCCTL_HANDLEA; typedef [handle] LPWSTR SVCCTL_HANDLEW; typedef [handle] ULONG_PTR RPC_SERVICE_STATUS_HANDLE; -typedef /*[context_handle]*/ unsigned long SC_RPC_HANDLE; +typedef [context_handle] PVOID SC_RPC_HANDLE; typedef SC_RPC_HANDLE* LPSC_RPC_HANDLE; -typedef /*[context_handle]*/ unsigned long SC_RPC_LOCK; +typedef [context_handle] PVOID SC_RPC_LOCK; typedef SC_RPC_LOCK* LPSC_RPC_LOCK; -typedef /*[context_handle]*/ unsigned long SC_NOTIFY_RPC_HANDLE; +typedef [context_handle] PVOID SC_NOTIFY_RPC_HANDLE; typedef SC_NOTIFY_RPC_HANDLE* LPSC_NOTIFY_RPC_HANDLE; typedef [range(0, 1024 * 4)] DWORD BOUNDED_DWORD_4K; typedef BOUNDED_DWORD_4K* LPBOUNDED_DWORD_4K; @@ -297,38 +297,33 @@ uuid(367abb81-9844-35f1-ad32-98f038001003), version(2.0), pointer_default(unique), -// #ifndef __midl + #ifndef __midl ,explicit_handle -// #endif + #endif ] interface svcctl { /* Function 0 */ DWORD RCloseServiceHandle( - [in] handle_t BindingHandle, [in, out] LPSC_RPC_HANDLE hSCObject); /* Function 1 */ DWORD RControlService( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [out] LPSERVICE_STATUS lpServiceStatus); /* Function 2 */ DWORD RDeleteService( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService); /* Function 3 */ DWORD RLockServiceDatabase( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [out] LPSC_RPC_LOCK lpLock); /* Function 4 */ DWORD RQueryServiceObjectSecurity( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] SECURITY_INFORMATION dwSecurityInformation, [out, size_is(cbBufSize)] LPBYTE lpSecurityDescriptor, @@ -337,7 +332,6 @@ /* Function 5 */ DWORD RSetServiceObjectSecurity( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwSecurityInformation, [in, size_is(dwSecuityDescriptorSize)] LPBYTE lpSecurityDescriptor, @@ -345,30 +339,25 @@ /* Function 6 */ DWORD RQueryServiceStatus( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [out] LPSERVICE_STATUS lpServiceStatus); /* Function 7 */ DWORD RSetServiceStatus( -// [in] handle_t BindingHandle, [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] LPSERVICE_STATUS lpServiceStatus); /* Function 8 */ DWORD RUnlockServiceDatabase( - [in] handle_t BindingHandle, [in, out] LPSC_RPC_LOCK Lock); /* Function 9 */ DWORD RNotifyBootConfigStatus( - [in] handle_t BindingHandle, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName, [in] DWORD BootAcceptable); /* Function 10 */ DWORD RI_ScSetServiceBitsW( -// [in] handle_t BindingHandle, [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, @@ -377,7 +366,6 @@ /* Function 11 */ DWORD RChangeServiceConfigW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwServiceType, [in] DWORD dwStartType, @@ -394,7 +382,6 @@ /* Function 12 */ DWORD RCreateServiceW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName, @@ -414,7 +401,6 @@ /* Function 13 */ DWORD REnumDependentServicesW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpServices, @@ -424,7 +410,6 @@ /* Function 14 */ DWORD REnumServicesStatusW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, @@ -436,7 +421,6 @@ /* Function 15 */ DWORD ROpenSCManagerW( -// [in] handle_t BindingHandle, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName, [in] DWORD dwDesiredAccess, @@ -444,7 +428,6 @@ /* Function 16 */ DWORD ROpenServiceW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [in] DWORD dwDesiredAccess, @@ -452,7 +435,6 @@ /* Function 17 */ DWORD RQueryServiceConfigW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig, /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGW lpServiceConfig, */ @@ -461,7 +443,6 @@ /* Function 18 */ DWORD RQueryServiceLockStatusW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [out] LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus, [in, range(0, 1024*4)] DWORD cbBufSize, @@ -469,14 +450,12 @@ /* Function 19 */ DWORD RStartServiceW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, unique, size_is(argc)] LPSTRING_PTRSW argv); /* Function 20 */ DWORD RGetServiceDisplayNameW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName, [out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName, @@ -484,7 +463,6 @@ /* Function 21 */ DWORD RGetServiceKeyNameW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName, [out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName, @@ -492,7 +470,6 @@ /* Function 22 */ DWORD RI_ScSetServiceBitsA( -// [in] handle_t BindingHandle, [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, @@ -501,7 +478,6 @@ /* Function 23 */ DWORD RChangeServiceConfigA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwServiceType, [in] DWORD dwStartType, @@ -518,7 +494,6 @@ /* Function 24 */ DWORD RCreateServiceA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName, @@ -538,7 +513,6 @@ /* Function 25 */ DWORD REnumDependentServicesA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwServiceState, [out, size_is(cbBufSize)] LPBYTE lpServices, @@ -548,7 +522,6 @@ /* Function 26 */ DWORD REnumServicesStatusA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, @@ -560,7 +533,6 @@ /* Function 27 */ DWORD ROpenSCManagerA( -// [in] handle_t BindingHandle, [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEA lpMachineName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName, [in] DWORD dwDesiredAccess, @@ -568,7 +540,6 @@ /* Function 28 */ DWORD ROpenServiceA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [in] DWORD dwDesiredAccess, @@ -576,7 +547,6 @@ /* Function 29 */ DWORD RQueryServiceConfigA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig, /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */ @@ -585,7 +555,6 @@ /* Function 30 */ DWORD RQueryServiceLockStatusA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [out] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus, [in, range(0, 1024*4)] DWORD cbBufSize, @@ -593,14 +562,12 @@ /* Function 31 */ DWORD RStartServiceA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in, range(0, SC_MAX_ARGUMENTS)] DWORD argc, [in, unique, size_is(argc)] LPSTRING_PTRSA argv); /* Function 32 */ DWORD RGetServiceDisplayNameA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName, [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName, @@ -608,7 +575,6 @@ /* Function 33 */ DWORD RGetServiceKeyNameA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName, [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName, @@ -616,14 +582,12 @@ /* Function 34 */ DWORD RI_ScGetCurrentGroupStateW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup, [out] LPDWORD lpState); /* Function 35 */ DWORD REnumServiceGroupW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in] DWORD dwServiceType, [in] DWORD dwServiceState, @@ -636,19 +600,16 @@ /* Function 36 */ DWORD RChangeServiceConfig2A( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] SC_RPC_CONFIG_INFOA Info); /* Function 37 */ DWORD RChangeServiceConfig2W( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] SC_RPC_CONFIG_INFOW Info); /* Function 38 */ DWORD RQueryServiceConfig2A( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwInfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, @@ -657,7 +618,6 @@ /* Function 39 */ DWORD RQueryServiceConfig2W( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwInfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, @@ -666,7 +626,6 @@ /* Function 40 */ DWORD RQueryServiceStatusEx( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] SC_STATUS_TYPE InfoLevel, [out, size_is(cbBufSize)] LPBYTE lpBuffer, @@ -675,7 +634,6 @@ /* Function 41 */ DWORD REnumServicesStatusExA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in] SC_ENUM_TYPE InfoLevel, [in] DWORD dwServiceType, @@ -689,7 +647,6 @@ /* Function 42 */ DWORD REnumServicesStatusExW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hSCManager, [in] SC_ENUM_TYPE InfoLevel, [in] DWORD dwServiceType, @@ -749,7 +706,6 @@ /* Function 47 */ DWORD RNotifyServiceStatusChange( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] SC_RPC_NOTIFY_PARAMS NotifyParams, [in] GUID* pClientProcessGuid, @@ -759,19 +715,16 @@ /* Function 48 */ DWORD RGetNotifyResults( - [in] handle_t BindingHandle, [in] SC_NOTIFY_RPC_HANDLE hNotify, [out] PSC_RPC_NOTIFY_PARAMS_LIST *ppNotifyParams); /* Function 49 */ DWORD RCloseNotifyHandle( - [in] handle_t BindingHandle, [in, out] LPSC_NOTIFY_RPC_HANDLE phNotify, [out] PBOOL pfApcFired); /* Function 50 */ DWORD RControlServiceExA( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [in] DWORD dwInfoLevel/*, @@ -780,7 +733,6 @@ /* Function 51 */ DWORD RControlServiceExW( - [in] handle_t BindingHandle, [in] SC_RPC_HANDLE hService, [in] DWORD dwControl, [in] DWORD dwInfoLevel/*,
16Â years, 2Â months
1
0
0
0
[sginsberg] 36990: - Fix function definitions to match header changes - Don't use x86 fiber assembly for amd64, just stub it out completely - Use AMD64 definitions in BasepInitializeContext, and add a broken KGDT_64_R3_TEB
by sginsbergï¼ svn.reactos.org
Author: sginsberg Date: Sun Oct 26 09:45:13 2008 New Revision: 36990 URL:
http://svn.reactos.org/svn/reactos?rev=36990&view=rev
Log: - Fix function definitions to match header changes - Don't use x86 fiber assembly for amd64, just stub it out completely - Use AMD64 definitions in BasepInitializeContext, and add a broken KGDT_64_R3_TEB Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/process/proc.c branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] Sun Oct 26 09:45:13 2008 @@ -386,11 +386,11 @@ /* The other registers are undefined */ /* Setup the Segments */ - Context->SegFs = KGDT_R3_TEB | RPL_MASK; - Context->SegEs = KGDT_R3_DATA | RPL_MASK; - Context->SegDs = KGDT_R3_DATA | RPL_MASK; - Context->SegCs = KGDT_R3_CODE | RPL_MASK; - Context->SegSs = KGDT_R3_DATA | RPL_MASK; + Context->SegFs = KGDT_64_R3_TEB | RPL_MASK; + Context->SegEs = KGDT_64_DATA | RPL_MASK; + Context->SegDs = KGDT_64_DATA | RPL_MASK; + Context->SegCs = KGDT_64_R3_CODE | RPL_MASK; + Context->SegSs = KGDT_64_DATA | RPL_MASK; Context->SegGs = 0; /* Set the EFLAGS */ Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/process/proc.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] Sun Oct 26 09:45:13 2008 @@ -33,8 +33,8 @@ */ BOOL STDCALL GetProcessAffinityMask (HANDLE hProcess, - LPDWORD lpProcessAffinityMask, - LPDWORD lpSystemAffinityMask) + PDWORD_PTR lpProcessAffinityMask, + PDWORD_PTR lpSystemAffinityMask) { PROCESS_BASIC_INFORMATION ProcessInfo; SYSTEM_BASIC_INFORMATION SystemInfo; @@ -73,7 +73,7 @@ */ BOOL STDCALL SetProcessAffinityMask (HANDLE hProcess, - DWORD dwProcessAffinityMask) + DWORD_PTR dwProcessAffinityMask) { NTSTATUS Status; Modified: branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/kernel32/thread/amd64/fiber.S [iso-8859-1] Sun Oct 26 09:45:13 2008 @@ -9,116 +9,9 @@ #include <ndk/asm.h> -#define CONTEXT_FULL 0x10007 -#define CONTEXT_FLOATING_POINT 0xF - .globl _SwitchToFiber .intel_syntax noprefix _SwitchToFiber: - /* Get the TEB */ - mov edx, fs:[KGDT_R3_TEB] - - /* Get the Fiber */ - mov eax, [edx+TEB_FIBER_DATA] - - /* Save the non-volatile registers */ - mov [eax+FIBER_CONTEXT_EBX], ebx - mov [eax+FIBER_CONTEXT_ESI], esi - mov [eax+FIBER_CONTEXT_EDI], edi - mov [eax+FIBER_CONTEXT_EBP], ebp - - /* Check if we're to save FPU State */ - cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT - jnz NoFpuStateSave - - /* Save the FPU State (Status and Control)*/ - fstsw [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] - fstcw [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] - - /* Check if the CPU supports SIMD MXCSR State Save */ - cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0 - jnz NoFpuStateSave - stmxcsr [eax+FIBER_CONTEXT_DR6] - -NoFpuStateSave: - - /* Save stack since we're not touching it anymore */ - mov [eax+FIBER_CONTEXT_ESP], esp - - /* Transfer some data from the TEB */ - mov ecx, [edx+TEB_FLS_DATA] - mov [eax+FIBER_FLS_DATA], ecx - mov ecx, [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER] - mov [eax+FIBER_ACTIVATION_CONTEXT_STACK], ecx - - /* Transfer some data related to the Stack */ - mov ecx, [edx+TEB_EXCEPTION_LIST] - mov [eax+FIBER_EXCEPTION_LIST], ecx - mov ecx, [edx+TEB_STACK_LIMIT] - mov [eax+FIBER_STACK_LIMIT], ecx - mov ecx, [edx+TEB_GUARANTEED_STACK_BYTES] - mov [eax+FIBER_GUARANTEED_STACK_BYTES], ecx - - /* Switch to the new fiber */ - mov ecx, [esp+4] - mov [edx+TEB_FIBER_DATA], ecx - - /* Switch Fiber Data */ - mov esi, [ecx+FIBER_EXCEPTION_LIST] - mov [edx+TEB_EXCEPTION_LIST], esi - mov esi, [ecx+FIBER_STACK_BASE] - mov [edx+TEB_STACK_BASE], esi - mov esi, [ecx+FIBER_STACK_LIMIT] - mov [edx+TEB_STACK_LIMIT], esi - mov esi, [ecx+FIBER_DEALLOCATION_STACK] - mov [edx+TEB_DEALLOCATION_STACK], esi - mov esi, [ecx+FIBER_GUARANTEED_STACK_BYTES] - mov [edx+TEB_GUARANTEED_STACK_BYTES], esi - mov esi, [ecx+FIBER_ACTIVATION_CONTEXT_STACK] - mov [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER], esi - - /* Restore FPU State */ - cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL + CONTEXT_FLOATING_POINT - jnz NoFpuStateRestore - - /* Check if the Status Word Changed */ - mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] - cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD] - jnz StatusWordChanged - - /* Check if the Control Word Changed */ - mov esi, [eax+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] - cmp si, word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] - jz ControlWordEqual - -StatusWordChanged: - - /* Load the new one */ - mov word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD], 0xFFFF - fldenv [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD] - -ControlWordEqual: - - /* Load the new one */ - cmp byte ptr ds:[PROCESSOR_FEATURE_FXSR], 0 - jnz NoFpuStateRestore - ldmxcsr [ecx+FIBER_CONTEXT_DR6] - -NoFpuStateRestore: - - /* Restore non-volatile registers */ - mov esi, [ecx+FIBER_CONTEXT_ESI] - mov edi, [ecx+FIBER_CONTEXT_EDI] - mov ebx, [ecx+FIBER_CONTEXT_EBX] - mov ebp, [ecx+FIBER_CONTEXT_EBP] - mov esp, [ecx+FIBER_CONTEXT_ESP] - - /* Restore FLS Data */ - mov eax, [ecx+FIBER_FLS_DATA] - mov [edx+TEB_FLS_DATA], eax - - /* Return */ + /* FIXME: TODO */ ret 4 - -/* EOF */ Modified: branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] Sun Oct 26 09:45:13 2008 @@ -64,6 +64,7 @@ #define KGDT_64_R3_CODE 0x0030 // 33 #define KGDT_TSS 0x0040 #define KGDT_32_R3_TEB 0x0050 // 53 +#define KGDT_64_R3_TEB 0x0000 // FIXME //
16Â years, 2Â months
1
0
0
0
[fireball] 36989: - Print out event GUID if it's unknown in umpnpmgr. - Fix a typo in vdmmain.c.
by fireballï¼ svn.reactos.org
Author: fireball Date: Sun Oct 26 09:38:50 2008 New Revision: 36989 URL:
http://svn.reactos.org/svn/reactos?rev=36989&view=rev
Log: - Print out event GUID if it's unknown in umpnpmgr. - Fix a typo in vdmmain.c. Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c trunk/reactos/ntoskrnl/vdm/vdmmain.c Modified: trunk/reactos/base/services/umpnpmgr/umpnpmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/umpnpmgr/ump…
============================================================================== --- trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] (original) +++ trunk/reactos/base/services/umpnpmgr/umpnpmgr.c [iso-8859-1] Sun Oct 26 09:38:50 2008 @@ -2193,7 +2193,11 @@ } else { - DPRINT1("Unknown event\n"); + DPRINT1("Unknown event, GUID {%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}\n", + PnpEvent->EventGuid.Data1, PnpEvent->EventGuid.Data2, PnpEvent->EventGuid.Data3, + PnpEvent->EventGuid.Data4[0], PnpEvent->EventGuid.Data4[1], PnpEvent->EventGuid.Data4[2], + PnpEvent->EventGuid.Data4[3], PnpEvent->EventGuid.Data4[4], PnpEvent->EventGuid.Data4[5], + PnpEvent->EventGuid.Data4[6], PnpEvent->EventGuid.Data4[7]); } /* Dequeue the current pnp event and signal the next one */ Modified: trunk/reactos/ntoskrnl/vdm/vdmmain.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/vdm/vdmmain.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/vdm/vdmmain.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/vdm/vdmmain.c [iso-8859-1] Sun Oct 26 09:38:50 2008 @@ -120,7 +120,7 @@ return Status; } - /* Now, copy the first physical pagee into the first virtual page */ + /* Now, copy the first physical page into the first virtual page */ _SEH_TRY { RtlMoveMemory(NullAddress, BaseAddress, ViewSize);
16Â years, 2Â months
1
0
0
0
[sginsberg] 36988: - Make user32 compile and link by defining Get/SetClass/WindowLongPtrA/W
by sginsbergï¼ svn.reactos.org
Author: sginsberg Date: Sun Oct 26 09:25:12 2008 New Revision: 36988 URL:
http://svn.reactos.org/svn/reactos?rev=36988&view=rev
Log: - Make user32 compile and link by defining Get/SetClass/WindowLongPtrA/W Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/class.c Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/user32/user32.spec [iso-8859-1] Sun Oct 26 09:25:12 2008 @@ -256,8 +256,11 @@ @ stdcall GetClassInfoW(long wstr ptr) @ stdcall GetClassLongA(long long) @ stdcall GetClassLongW(long long) -@ stub GetClassLongPtrA -@ stub GetClassLongPtrW + +; FIXME -- Only for Win64 +@ stdcall GetClassLongPtrA(ptr long) +@ stdcall GetClassLongPtrW(ptr long) + @ stdcall GetClassNameA(long ptr long) @ stdcall GetClassNameW(long ptr long) @ stdcall GetClassWord(long long) @@ -375,8 +378,11 @@ @ stdcall GetWindowDC(long) @ stdcall GetWindowInfo(long ptr) @ stdcall GetWindowLongA(long long) -@ stub GetWindowLongPtrA -@ stub GetWindowLongPtrW + +; FIXME -- Only for Win64 +@ stdcall GetWindowLongPtrA(ptr long) +@ stdcall GetWindowLongPtrW(ptr long) + @ stdcall GetWindowLongW(long long) @ stdcall GetWindowModuleFileName(long ptr long) GetWindowModuleFileNameA @ stdcall GetWindowModuleFileNameA(long ptr long) @@ -603,8 +609,11 @@ @ stdcall SetCaretBlinkTime(long) @ stdcall SetCaretPos(long long) @ stdcall SetClassLongA(long long long) -@ stub SetClassLongPtrA #(long long long) -@ stub SetClassLongPtrW #(long long long) + +; FIXME -- Only for Win64 +@ stdcall SetClassLongPtrA(ptr long ptr) +@ stdcall SetClassLongPtrW(ptr long ptr) + @ stdcall SetClassLongW(long long long) @ stdcall SetClassWord(long long long) @ stdcall SetClipboardData(long long) @@ -665,8 +674,11 @@ @ stdcall SetWindowContextHelpId(long long) @ stub SetWindowFullScreenState @ stdcall SetWindowLongA(long long long) -@ stub SetWindowLongPtrA #(long long long) -@ stub SetWindowLongPtrW #(long long long) + +; FIXME -- Only for Win64 +@ stdcall SetWindowLongPtrA(ptr long ptr) +@ stdcall SetWindowLongPtrW(ptr long ptr) + @ stdcall SetWindowLongW(long long long) @ stdcall SetWindowPlacement(long ptr) @ stdcall SetWindowPos(long long long long long long long) Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/class.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/class.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/class.c [iso-8859-1] Sun Oct 26 09:25:12 2008 @@ -410,6 +410,32 @@ return Ret; } +#ifdef _WIN64 +/* + * @unimplemented + */ +ULONG_PTR +WINAPI +GetClassLongPtrA(HWND hWnd, + INT nIndex) +{ + UNIMPLEMENTED; + return 0; +} + +/* + * @unimplemented + */ +ULONG_PTR +WINAPI +GetClassLongPtrW(HWND hWnd, + INT nIndex) +{ + UNIMPLEMENTED; + return 0; +} +#endif + /* * @implemented @@ -602,6 +628,32 @@ } } +#ifdef _WIN64 +/* + * @unimplemented + */ +LONG_PTR +WINAPI +GetWindowLongPtrA(HWND hWnd, + INT nIndex) +{ + UNIMPLEMENTED; + return 0; +} + +/* + * @unimplemented + */ +LONG_PTR +WINAPI +GetWindowLongPtrW(HWND hWnd, + INT nIndex) +{ + UNIMPLEMENTED; + return 0; +} +#endif // _WIN64 + /* * @implemented */ @@ -1159,6 +1211,33 @@ FALSE); } +#ifdef _WIN64 +/* + * @unimplemented + */ +ULONG_PTR +WINAPI +SetClassLongPtrA(HWND hWnd, + INT nIndex, + LONG_PTR dwNewLong) +{ + UNIMPLEMENTED; + return 0; +} + +/* + * @unimplemented + */ +ULONG_PTR +WINAPI +SetClassLongPtrW(HWND hWnd, + INT nIndex, + LONG_PTR dwNewLong) +{ + UNIMPLEMENTED; + return 0; +} +#endif // _WIN64 /* * @implemented @@ -1207,6 +1286,33 @@ return NtUserSetWindowLong(hWnd, nIndex, dwNewLong, FALSE); } +#ifdef _WIN64 +/* + * @unimplemented + */ +LONG_PTR +WINAPI +SetWindowLongPtrA(HWND hWnd, + INT nIndex, + LONG_PTR dwNewLong) +{ + UNIMPLEMENTED; + return 0; +} + +/* + * @unimplemented + */ +LONG_PTR +WINAPI +SetWindowLongPtrW(HWND hWnd, + INT nIndex, + LONG_PTR dwNewLong) +{ + UNIMPLEMENTED; + return 0; +} +#endif /* * @implemented
16Â years, 2Â months
1
0
0
0
[sserapion] 36987: - Fix user32 compilation errors. - Don't let stefan steal the glory.
by sserapionï¼ svn.reactos.org
Author: sserapion Date: Sun Oct 26 08:56:59 2008 New Revision: 36987 URL:
http://svn.reactos.org/svn/reactos?rev=36987&view=rev
Log: - Fix user32 compilation errors. - Don't let stefan steal the glory. Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/stubs.c branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/winhelp.c branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/stubs.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/stubs.c [iso-8859-1] Sun Oct 26 08:56:59 2008 @@ -206,7 +206,7 @@ HWND hwnd1, HWND hwnd2, UINT u1, - DWORD dw1, + ULONG_PTR dw1, HCURSOR hc1 ) { Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/winhelp.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/winhelp.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/user32/misc/winhelp.c [iso-8859-1] Sun Oct 26 08:56:59 2008 @@ -51,7 +51,7 @@ */ BOOL STDCALL -WinHelpA(HWND hWnd, LPCSTR lpszHelp, UINT uCommand, DWORD dwData) +WinHelpA(HWND hWnd, LPCSTR lpszHelp, UINT uCommand, ULONG_PTR dwData) { static WORD WM_WINHELP = 0; HWND hDest; @@ -137,7 +137,7 @@ */ BOOL STDCALL -WinHelpW(HWND hWnd, LPCWSTR lpszHelp, UINT uCommand, DWORD dwData) +WinHelpW(HWND hWnd, LPCWSTR lpszHelp, UINT uCommand, ULONG_PTR dwData) { INT len; LPSTR file; Modified: branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/dll/w…
============================================================================== --- branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] Sun Oct 26 08:56:59 2008 @@ -4523,7 +4523,7 @@ HMENU hMenu, UINT uPosition, UINT uFlags, - UINT uIDNewItem, + UINT_PTR uIDNewItem, LPCSTR lpNewItem) { MENUITEMINFOA mii; @@ -4645,7 +4645,7 @@ HMENU hMenu, UINT uPosition, UINT uFlags, - UINT uIDNewItem, + UINT_PTR uIDNewItem, LPCWSTR lpNewItem) { MENUITEMINFOW mii; @@ -4784,7 +4784,7 @@ HMENU hMnu, UINT uPosition, UINT uFlags, - UINT uIDNewItem, + UINT_PTR uIDNewItem, LPCSTR lpNewItem) { ROSMENUINFO mi; @@ -4831,7 +4831,7 @@ HMENU hMnu, UINT uPosition, UINT uFlags, - UINT uIDNewItem, + UINT_PTR uIDNewItem, LPCWSTR lpNewItem) { ROSMENUINFO mi;
16Â years, 2Â months
1
0
0
0
[cwittich] 36986: import LookupPrivilegeNameA from wine
by cwittichï¼ svn.reactos.org
Author: cwittich Date: Sun Oct 26 07:35:42 2008 New Revision: 36986 URL:
http://svn.reactos.org/svn/reactos?rev=36986&view=rev
Log: import LookupPrivilegeNameA from wine Modified: trunk/reactos/dll/win32/advapi32/sec/misc.c Modified: trunk/reactos/dll/win32/advapi32/sec/misc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/sec/mis…
============================================================================== --- trunk/reactos/dll/win32/advapi32/sec/misc.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/sec/misc.c [iso-8859-1] Sun Oct 26 07:35:42 2008 @@ -1396,11 +1396,51 @@ LookupPrivilegeNameA(LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, - LPDWORD cbName) -{ - FIXME("%s() not implemented!\n", __FUNCTION__); - SetLastError (ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + LPDWORD cchName) +{ + UNICODE_STRING lpSystemNameW; + BOOL ret; + DWORD wLen = 0; + + TRACE("%s %p %p %p\n", debugstr_a(lpSystemName), lpLuid, lpName, cchName); + + RtlCreateUnicodeStringFromAsciiz(&lpSystemNameW, lpSystemName); + ret = LookupPrivilegeNameW(lpSystemNameW.Buffer, lpLuid, NULL, &wLen); + if (!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER) + { + LPWSTR lpNameW = HeapAlloc(GetProcessHeap(), 0, wLen * sizeof(WCHAR)); + + ret = LookupPrivilegeNameW(lpSystemNameW.Buffer, lpLuid, lpNameW, + &wLen); + if (ret) + { + /* Windows crashes if cchName is NULL, so will I */ + unsigned int len = WideCharToMultiByte(CP_ACP, 0, lpNameW, -1, lpName, + *cchName, NULL, NULL); + + if (len == 0) + { + /* WideCharToMultiByte failed */ + ret = FALSE; + } + else if (len > *cchName) + { + *cchName = len; + SetLastError(ERROR_INSUFFICIENT_BUFFER); + ret = FALSE; + } + else + { + /* WideCharToMultiByte succeeded, output length needs to be + * length not including NULL terminator + */ + *cchName = len - 1; + } + } + HeapFree(GetProcessHeap(), 0, lpNameW); + } + RtlFreeUnicodeString(&lpSystemNameW); + return ret; }
16Â years, 2Â months
1
0
0
0
[ekohl] 36985: Service Manager: - Fix declaration of SERVICE_STATUS_HANDLE in the PSDK. - Add a new custom binding handle to svcctl.idl as an alias of SERVICE_STATUS_HANDLE. - Enable all custom binding handles in svcctl.idl and fix services.exe and advapi32.dll accordingly.
by ekohlï¼ svn.reactos.org
Author: ekohl Date: Sun Oct 26 07:33:36 2008 New Revision: 36985 URL:
http://svn.reactos.org/svn/reactos?rev=36985&view=rev
Log: Service Manager: - Fix declaration of SERVICE_STATUS_HANDLE in the PSDK. - Add a new custom binding handle to svcctl.idl as an alias of SERVICE_STATUS_HANDLE. - Enable all custom binding handles in svcctl.idl and fix services.exe and advapi32.dll accordingly. Modified: trunk/reactos/base/system/services/rpcserver.c trunk/reactos/dll/win32/advapi32/service/scm.c trunk/reactos/dll/win32/advapi32/service/sctrl.c trunk/reactos/include/psdk/winsvc.h trunk/reactos/include/reactos/idl/svcctl.idl Modified: trunk/reactos/base/system/services/rpcserver.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcse…
============================================================================== --- trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] (original) +++ trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] Sun Oct 26 07:33:36 2008 @@ -1004,8 +1004,8 @@ /* Function 7 */ DWORD RSetServiceStatus( - handle_t BindingHandle, - SC_RPC_HANDLE hServiceStatus, +// handle_t BindingHandle, + RPC_SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE_STATUS lpServiceStatus) { PSERVICE lpService; @@ -1026,7 +1026,7 @@ return ERROR_INVALID_HANDLE; } - lpService = ScmGetServiceEntryByClientHandle((ULONG)hServiceStatus); + lpService = ScmGetServiceEntryByClientHandle(hServiceStatus); if (lpService == NULL) { DPRINT1("lpService == NULL!\n"); @@ -1091,8 +1091,8 @@ /* Function 10 */ DWORD RI_ScSetServiceBitsW( - handle_t BindingHandle, - SC_RPC_HANDLE hServiceStatus, +// handle_t BindingHandle, + RPC_SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, int bSetBitsOn, int bUpdateImmediately, @@ -2388,7 +2388,7 @@ /* Function 15 */ DWORD ROpenSCManagerW( - handle_t BindingHandle, +// handle_t BindingHandle, LPWSTR lpMachineName, LPWSTR lpDatabaseName, DWORD dwDesiredAccess, @@ -2893,8 +2893,8 @@ /* Function 22 */ DWORD RI_ScSetServiceBitsA( - handle_t BindingHandle, - SC_RPC_HANDLE hServiceStatus, +// handle_t BindingHandle, + RPC_SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, int bSetBitsOn, int bUpdateImmediately, @@ -3462,7 +3462,7 @@ /* Function 27 */ DWORD ROpenSCManagerA( - handle_t BindingHandle, +// handle_t BindingHandle, LPSTR lpMachineName, LPSTR lpDatabaseName, DWORD dwDesiredAccess, @@ -3482,7 +3482,7 @@ RtlCreateUnicodeStringFromAsciiz(&DatabaseName, lpDatabaseName); - dwError = ROpenSCManagerW(BindingHandle, + dwError = ROpenSCManagerW(//BindingHandle, lpMachineName ? MachineName.Buffer : NULL, lpDatabaseName ? DatabaseName.Buffer : NULL, dwDesiredAccess, Modified: trunk/reactos/dll/win32/advapi32/service/scm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service…
============================================================================== --- trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/service/scm.c [iso-8859-1] Sun Oct 26 07:33:36 2008 @@ -76,6 +76,172 @@ } } #endif + +handle_t __RPC_USER +SVCCTL_HANDLEA_bind(SVCCTL_HANDLEA szMachineName) +{ + handle_t hBinding = NULL; + UCHAR *pszStringBinding; + RPC_STATUS status; + + ERR("SVCCTL_HANDLEA_bind() called\n"); + + status = RpcStringBindingComposeA((UCHAR *)szMachineName, + (UCHAR *)"ncacn_np", + NULL, + (UCHAR *)"\\pipe\\ntsvcs", + NULL, + (UCHAR **)&pszStringBinding); + if (status) + { + ERR("RpcStringBindingCompose returned 0x%x\n", status); + return NULL; + } + + /* Set the binding handle that will be used to bind to the server. */ + status = RpcBindingFromStringBindingA(pszStringBinding, + &hBinding); + if (status) + { + ERR("RpcBindingFromStringBinding returned 0x%x\n", status); + } + + status = RpcStringFreeA(&pszStringBinding); + if (status) + { + ERR("RpcStringFree returned 0x%x\n", status); + } + + return hBinding; +} + + +void __RPC_USER +SVCCTL_HANDLEA_unbind(SVCCTL_HANDLEA szMachineName, + handle_t hBinding) +{ + RPC_STATUS status; + + ERR("SVCCTL_HANDLEA_unbind() called\n"); + + status = RpcBindingFree(&hBinding); + if (status) + { + ERR("RpcBindingFree returned 0x%x\n", status); + } +} + + +handle_t __RPC_USER +SVCCTL_HANDLEW_bind(SVCCTL_HANDLEW szMachineName) +{ + handle_t hBinding = NULL; + LPWSTR pszStringBinding; + RPC_STATUS status; + + ERR("SVCCTL_HANDLEW_bind() called\n"); + + + status = RpcStringBindingComposeW(szMachineName, + L"ncacn_np", + NULL, + L"\\pipe\\ntsvcs", + NULL, + &pszStringBinding); + if (status) + { + ERR("RpcStringBindingCompose returned 0x%x\n", status); + return NULL; + } + + /* Set the binding handle that will be used to bind to the server. */ + status = RpcBindingFromStringBindingW(pszStringBinding, + &hBinding); + if (status) + { + ERR("RpcBindingFromStringBinding returned 0x%x\n", status); + } + + status = RpcStringFreeW(&pszStringBinding); + if (status) + { + ERR("RpcStringFree returned 0x%x\n", status); + } + + return hBinding; +} + + +void __RPC_USER +SVCCTL_HANDLEW_unbind(SVCCTL_HANDLEW szMachineName, + handle_t hBinding) +{ + RPC_STATUS status; + + ERR("SVCCTL_HANDLEW_unbind() called\n"); + + status = RpcBindingFree(&hBinding); + if (status) + { + ERR("RpcBindingFree returned 0x%x\n", status); + } +} + + +handle_t __RPC_USER +RPC_SERVICE_STATUS_HANDLE_bind(RPC_SERVICE_STATUS_HANDLE hServiceStatus) +{ + handle_t hBinding = NULL; + LPWSTR pszStringBinding; + RPC_STATUS status; + + ERR("RPC_SERVICE_STATUS_HANDLE_bind() called\n"); + + + status = RpcStringBindingComposeW(NULL, + L"ncacn_np", + NULL, + L"\\pipe\\ntsvcs", + NULL, + &pszStringBinding); + if (status) + { + ERR("RpcStringBindingCompose returned 0x%x\n", status); + return NULL; + } + + /* Set the binding handle that will be used to bind to the server. */ + status = RpcBindingFromStringBindingW(pszStringBinding, + &hBinding); + if (status) + { + ERR("RpcBindingFromStringBinding returned 0x%x\n", status); + } + + status = RpcStringFreeW(&pszStringBinding); + if (status) + { + ERR("RpcStringFree returned 0x%x\n", status); + } + + return hBinding; +} + + +void __RPC_USER +RPC_SERVICE_STATUS_HANDLE_unbind(RPC_SERVICE_STATUS_HANDLE hServiceStatus, + handle_t hBinding) +{ + RPC_STATUS status; + + ERR("RPC_SERVICE_STATUS_HANDLE_unbind() called\n"); + + status = RpcBindingFree(&hBinding); + if (status) + { + ERR("RpcBindingFree returned 0x%x\n", status); + } +} DWORD @@ -1494,12 +1660,12 @@ WaitForSCManager(); - HandleBind(); +// HandleBind(); _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenSCManagerA(BindingHandle, + dwError = ROpenSCManagerA(//BindingHandle, (LPSTR)lpMachineName, (LPSTR)lpDatabaseName, dwDesiredAccess, @@ -1542,12 +1708,12 @@ WaitForSCManager(); - HandleBind(); +// HandleBind(); _SEH_TRY { /* Call to services.exe using RPC */ - dwError = ROpenSCManagerW(BindingHandle, + dwError = ROpenSCManagerW(//BindingHandle, (LPWSTR)lpMachineName, (LPWSTR)lpDatabaseName, dwDesiredAccess, Modified: trunk/reactos/dll/win32/advapi32/service/sctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/service…
============================================================================== --- trunk/reactos/dll/win32/advapi32/service/sctrl.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/service/sctrl.c [iso-8859-1] Sun Oct 26 07:33:36 2008 @@ -536,7 +536,7 @@ * @implemented */ BOOL STDCALL -I_ScSetServiceBitsA(SC_RPC_HANDLE hServiceStatus, +I_ScSetServiceBitsA(SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, BOOL bSetBitsOn, BOOL bUpdateImmediately, @@ -544,13 +544,13 @@ { BOOL bResult; - HandleBind(); +// HandleBind(); _SEH_TRY { /* Call to services.exe using RPC */ - bResult = RI_ScSetServiceBitsA(BindingHandle, - (SC_RPC_HANDLE)hServiceStatus, + bResult = RI_ScSetServiceBitsA(//BindingHandle, + (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately, @@ -575,7 +575,7 @@ * @implemented */ BOOL STDCALL -I_ScSetServiceBitsW(SC_RPC_HANDLE hServiceStatus, +I_ScSetServiceBitsW(SERVICE_STATUS_HANDLE hServiceStatus, DWORD dwServiceBits, BOOL bSetBitsOn, BOOL bUpdateImmediately, @@ -583,13 +583,13 @@ { BOOL bResult; - HandleBind(); +// HandleBind(); _SEH_TRY { /* Call to services.exe using RPC */ - bResult = RI_ScSetServiceBitsW(BindingHandle, - (SC_RPC_HANDLE)hServiceStatus, + bResult = RI_ScSetServiceBitsW(//BindingHandle, + (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately, @@ -639,11 +639,11 @@ TRACE("SetServiceStatus() called\n"); TRACE("hServiceStatus %lu\n", hServiceStatus); - HandleBind(); +// HandleBind(); /* Call to services.exe using RPC */ - dwError = RSetServiceStatus(BindingHandle, - (SC_RPC_HANDLE)hServiceStatus, + dwError = RSetServiceStatus(//BindingHandle, + (RPC_SERVICE_STATUS_HANDLE)hServiceStatus, lpServiceStatus); if (dwError != ERROR_SUCCESS) { Modified: trunk/reactos/include/psdk/winsvc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winsvc.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/winsvc.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winsvc.h [iso-8859-1] Sun Oct 26 07:33:36 2008 @@ -158,7 +158,7 @@ DECLARE_HANDLE(SC_HANDLE); typedef SC_HANDLE *LPSC_HANDLE; typedef PVOID SC_LOCK; -typedef DWORD SERVICE_STATUS_HANDLE; +DECLARE_HANDLE(SERVICE_STATUS_HANDLE); typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD); typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID); typedef struct _SERVICE_DESCRIPTIONA { Modified: trunk/reactos/include/reactos/idl/svcctl.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/svcctl…
============================================================================== --- trunk/reactos/include/reactos/idl/svcctl.idl [iso-8859-1] (original) +++ trunk/reactos/include/reactos/idl/svcctl.idl [iso-8859-1] Sun Oct 26 07:33:36 2008 @@ -15,8 +15,9 @@ const unsigned short SC_MAX_ARGUMENT_LENGTH = 1024; const unsigned short SC_MAX_ARGUMENTS = 1024; -typedef /*[handle]*/ LPSTR SVCCTL_HANDLEA; -typedef /*[handle]*/ LPWSTR SVCCTL_HANDLEW; +typedef [handle] LPSTR SVCCTL_HANDLEA; +typedef [handle] LPWSTR SVCCTL_HANDLEW; +typedef [handle] ULONG_PTR RPC_SERVICE_STATUS_HANDLE; typedef /*[context_handle]*/ unsigned long SC_RPC_HANDLE; typedef SC_RPC_HANDLE* LPSC_RPC_HANDLE; typedef /*[context_handle]*/ unsigned long SC_RPC_LOCK; @@ -296,9 +297,9 @@ uuid(367abb81-9844-35f1-ad32-98f038001003), version(2.0), pointer_default(unique), - #ifndef __midl +// #ifndef __midl ,explicit_handle - #endif +// #endif ] interface svcctl { @@ -350,8 +351,8 @@ /* Function 7 */ DWORD RSetServiceStatus( - [in] handle_t BindingHandle, - [in] SC_RPC_HANDLE hServiceStatus, +// [in] handle_t BindingHandle, + [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] LPSERVICE_STATUS lpServiceStatus); /* Function 8 */ @@ -367,8 +368,8 @@ /* Function 10 */ DWORD RI_ScSetServiceBitsW( - [in] handle_t BindingHandle, - [in] SC_RPC_HANDLE hServiceStatus, +// [in] handle_t BindingHandle, + [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, [in] BOOL bUpdateImmediately, @@ -435,8 +436,8 @@ /* Function 15 */ DWORD ROpenSCManagerW( - [in] handle_t BindingHandle, - [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPWSTR lpMachineName, +// [in] handle_t BindingHandle, + [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpScHandle); @@ -491,8 +492,8 @@ /* Function 22 */ DWORD RI_ScSetServiceBitsA( - [in] handle_t BindingHandle, - [in] SC_RPC_HANDLE hServiceStatus, +// [in] handle_t BindingHandle, + [in] RPC_SERVICE_STATUS_HANDLE hServiceStatus, [in] DWORD dwServiceBits, [in] BOOL bSetBitsOn, [in] BOOL bUpdateImmediately, @@ -559,8 +560,8 @@ /* Function 27 */ DWORD ROpenSCManagerA( - [in] handle_t BindingHandle, - [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] LPSTR lpMachineName, +// [in] handle_t BindingHandle, + [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEA lpMachineName, [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName, [in] DWORD dwDesiredAccess, [out] LPSC_RPC_HANDLE lpScHandle);
16Â years, 2Â months
1
0
0
0
[sginsberg] 36984: - Switch Win32K export list to .spec
by sginsbergï¼ svn.reactos.org
Author: sginsberg Date: Sun Oct 26 07:31:40 2008 New Revision: 36984 URL:
http://svn.reactos.org/svn/reactos?rev=36984&view=rev
Log: - Switch Win32K export list to .spec Added: trunk/reactos/subsystems/win32/win32k/win32k.spec (with props) Removed: trunk/reactos/subsystems/win32/win32k/win32k.def Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild Removed: trunk/reactos/subsystems/win32/win32k/win32k.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.def [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.def (removed) @@ -1,231 +1,0 @@ -; ReactOS win32k.sys exports -; Currently all exports from Windows XP/2003 are listed, sorted by ordinal. -LIBRARY win32k -EXPORTS -FLOATOBJ_AddFloatObj@8 -FLOATOBJ_DivFloatObj@8 -FLOATOBJ_MulFloatObj@8 -FLOATOBJ_SubFloatObj@8 -BRUSHOBJ_hGetColorTransform@4 -BRUSHOBJ_pvAllocRbrush@8 -BRUSHOBJ_pvGetRbrush@4 -BRUSHOBJ_ulGetBrushColor@4 -CLIPOBJ_bEnum@12 -CLIPOBJ_cEnumStart@20 -CLIPOBJ_ppoGetPath@4 -EngAcquireSemaphore@4 -EngAllocMem@12 -EngAllocPrivateUserMem@12 -EngAllocSectionMem@16 -EngAllocUserMem@8 -EngAlphaBlend@28 -EngAssociateSurface@12 -EngBitBlt@44 -EngBugCheckEx(a)20=NTOSKRNL.KeBugCheckEx -EngCheckAbort@4 -EngClearEvent@4 -EngComputeGlyphSet@12 -EngControlSprites@8 -EngCopyBits@24 -EngCreateBitmap@24 -EngCreateClip@0 -EngCreateDeviceBitmap@16 -EngCreateDeviceSurface@16 -EngCreateDriverObj@12 -EngCreateEvent@4 -EngCreatePalette@24 -EngCreatePath@0 -EngCreateSemaphore@0 -EngCreateWnd@20 -EngDebugBreak(a)0=NTOSKRNL.DbgBreakPoint -EngDebugPrint@12 -EngDeleteClip@4 -EngDeleteDriverObj@12 -EngDeleteEvent@4 -EngDeleteFile@4 -EngDeletePalette@4 -EngDeletePath@4 -EngDeleteSafeSemaphore@4 -EngDeleteSemaphore@4 -EngDeleteSurface@4 -EngDeleteWnd@4 -EngDeviceIoControl@28 -EngDitherColor@16 -EngDxIoctl@12 -EngEnumForms@24 -EngEraseSurface@12 -EngFileIoControl@28 -EngFileWrite@16 -EngFillPath@28 -EngFindImageProcAddress@8 -EngFindResource@16 -EngFntCacheAlloc@8 -EngFntCacheFault@8 -EngFntCacheLookUp@8 -EngFreeMem@4 -EngFreeModule@4 -EngFreePrivateUserMem@8 -EngFreeSectionMem@8 -EngFreeUserMem@4 -EngGetCurrentCodePage@8 -EngGetCurrentProcessId@0 -EngGetCurrentThreadId@0 -EngGetDriverName@4 -EngGetFileChangeTime@8 -EngGetFilePath@8 -EngGetForm@24 -EngGetLastError@0 -EngGetPrinter@20 -EngGetPrinterData@24 -EngGetPrinterDataFileName@4 -EngGetPrinterDriver@24 -EngGetProcessHandle@0 -EngGetTickCount@0 -EngGetType1FontList@24 -EngGradientFill@40 -EngHangNotification@8 -EngInitializeSafeSemaphore@4 -EngIsSemaphoreOwned@4 -EngIsSemaphoreOwnedByCurrentThread@4 -EngLineTo@36 -EngLoadImage@4 -EngLoadModule@4 -EngLoadModuleForWrite@8 -EngLockDirectDrawSurface@4 -EngLockDriverObj@4 -EngLockSurface@4 -EngLpkInstalled@0 -EngMapEvent@20 -EngMapFile@12 -EngMapFontFile@12 -EngMapFontFileFD@12 -EngMapModule@8 -EngMapSection@16 -EngMarkBandingSurface@4 -EngModifySurface@32 -EngMovePointer@16 -EngMulDiv@12 -EngMultiByteToUnicodeN(a)20=NTOSKRNL.RtlMultiByteToUnicodeN -EngMultiByteToWideChar@20 -EngNineGrid@36 -EngPaint@20 -EngPlgBlt@44 -EngProbeForRead(a)12=NTOSKRNL.ProbeForRead -EngProbeForReadAndWrite(a)12=NTOSKRNL.ProbeForWrite -EngQueryDeviceAttribute@24 -EngQueryFileTimeStamp@4 -EngQueryLocalTime@4 -EngQueryPalette@16 -EngQueryPerformanceCounter@4 -EngQueryPerformanceFrequency@4 -EngQuerySystemAttribute@8 -EngReadStateEvent@4 -EngReleaseSemaphore@4 -EngRestoreFloatingPointState@4 -EngSaveFloatingPointState@8 -EngSecureMem@8 -EngSetEvent@4 -EngSetLastError@4 -EngSetPointerShape@40 -EngSetPointerTag@20 -EngSetPrinterData@20 -EngSort@16 -EngStretchBlt@44 -EngStretchBltROP@52 -EngStrokeAndFillPath@40 -EngStrokePath@32 -EngTextOut@40 -EngTransparentBlt@32 -EngUnicodeToMultiByteN(a)20=NTOSKRNL.RtlUnicodeToMultiByteN -EngUnloadImage@4 -EngUnlockDirectDrawSurface@4 -EngUnlockDriverObj@4 -EngUnlockSurface@4 -EngUnmapEvent@4 -EngUnmapFile@4 -EngUnmapFontFile@4 -EngUnmapFontFileFD@4 -EngUnsecureMem@4 -EngWaitForSingleObject@8 -EngWideCharToMultiByte@20 -EngWritePrinter@16 -FLOATOBJ_Add@8 -FLOATOBJ_AddFloat@8 -FLOATOBJ_AddLong@8 -FLOATOBJ_Div@8 -FLOATOBJ_DivFloat@8 -FLOATOBJ_DivLong@8 -FLOATOBJ_Equal@8 -FLOATOBJ_EqualLong@8 -FLOATOBJ_GetFloat@4 -FLOATOBJ_GetLong@4 -FLOATOBJ_GreaterThan@8 -FLOATOBJ_GreaterThanLong@8 -FLOATOBJ_LessThan@8 -FLOATOBJ_LessThanLong@8 -FLOATOBJ_Mul@8 -FLOATOBJ_MulFloat@8 -FLOATOBJ_MulLong@8 -FLOATOBJ_Neg@4 -FLOATOBJ_SetFloat@8 -FLOATOBJ_SetLong@8 -FLOATOBJ_Sub@8 -FLOATOBJ_SubFloat@8 -FLOATOBJ_SubLong@8 -FONTOBJ_cGetAllGlyphHandles@8 -FONTOBJ_cGetGlyphs@20 -FONTOBJ_pQueryGlyphAttrs@8 -FONTOBJ_pfdg@4 -FONTOBJ_pifi@4 -FONTOBJ_pjOpenTypeTablePointer@12 -FONTOBJ_pvTrueTypeFontFile@8 -FONTOBJ_pwszFontFilePaths@8 -FONTOBJ_pxoGetXform@4 -FONTOBJ_vGetInfo@12 -HT_ComputeRGBGammaTable@24 -HT_Get8BPPFormatPalette@16 -HT_Get8BPPMaskPalette@24 -HeapVidMemAllocAligned@20 -PALOBJ_cGetColors@16 -PATHOBJ_bCloseFigure@4 -PATHOBJ_bEnum@8 -PATHOBJ_bEnumClipLines@12 -PATHOBJ_bMoveTo@12 -PATHOBJ_bPolyBezierTo@12 -PATHOBJ_bPolyLineTo@12 -PATHOBJ_vEnumStart@4 -PATHOBJ_vEnumStartClipLines@16 -PATHOBJ_vGetBounds@8 -RtlAnsiCharToUnicodeChar(a)4=NTOSKRNL.RtlAnsiCharToUnicodeChar -RtlMultiByteToUnicodeN(a)20=NTOSKRNL.RtlMultiByteToUnicodeN -RtlRaiseException(a)4=NTOSKRNL.RtlRaiseException -RtlUnicodeToMultiByteN(a)20=NTOSKRNL.RtlUnicodeToMultiByteN -RtlUnicodeToMultiByteSize(a)12=NTOSKRNL.RtlUnicodeToMultiByteSize -RtlUnwind(a)16=NTOSKRNL.RtlUnwind -RtlUpcaseUnicodeChar(a)4=NTOSKRNL.RtlUpcaseUnicodeChar -RtlUpcaseUnicodeToMultiByteN(a)20=NTOSKRNL.RtlUpcaseUnicodeToMultiByteN -STROBJ_bEnum@12 -STROBJ_bEnumPositionsOnly@12 -STROBJ_bGetAdvanceWidths@16 -STROBJ_dwGetCodePage@4 -STROBJ_fxBreakExtra@4 -STROBJ_fxCharacterExtra@4 -STROBJ_vEnumStart@4 -VidMemFree@8 -WNDOBJ_bEnum@12 -WNDOBJ_cEnumStart@16 -WNDOBJ_vSetConsumer@8 -XFORMOBJ_bApplyXform@20 -XFORMOBJ_iGetFloatObjXform@8 -XFORMOBJ_iGetXform@8 -XLATEOBJ_cGetPalette@16 -XLATEOBJ_hGetColorTransform@4 -XLATEOBJ_iXlate@8 -XLATEOBJ_piVector@4 -_abnormal_termination=NTOSKRNL._abnormal_termination -_except_handler2=NTOSKRNL._except_handler2 -_global_unwind2=NTOSKRNL._global_unwind2 -_itoa(a)12=NTOSKRNL._itoa -_itow(a)12=NTOSKRNL._itow -_local_unwind2=NTOSKRNL._local_unwind2 -;EOF Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Sun Oct 26 07:31:40 2008 @@ -183,7 +183,7 @@ </directory> </module> <module name="win32k" type="kernelmodedriver" installbase="system32" installname="win32k.sys" allowwarnings="true"> - <importlibrary definition="win32k.def" /> + <importlibrary definition="win32k.spec" /> <library>win32k_base</library> <library>pseh</library> <library>ntoskrnl</library> Added: trunk/reactos/subsystems/win32/win32k/win32k.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.spec (added) +++ trunk/reactos/subsystems/win32/win32k/win32k.spec [iso-8859-1] Sun Oct 26 07:31:40 2008 @@ -1,0 +1,228 @@ +#include "include/reactos/msvctarget.h" + +@ stdcall FLOATOBJ_AddFloatObj(ptr ptr) +@ stdcall FLOATOBJ_DivFloatObj(ptr ptr) +@ stdcall FLOATOBJ_MulFloatObj(ptr ptr) +@ stdcall FLOATOBJ_SubFloatObj(ptr ptr) +@ stdcall BRUSHOBJ_hGetColorTransform(ptr) +@ stdcall BRUSHOBJ_pvAllocRbrush(ptr long) +@ stdcall BRUSHOBJ_pvGetRbrush(ptr) +@ stdcall BRUSHOBJ_ulGetBrushColor(ptr) +@ stdcall CLIPOBJ_bEnum(ptr long ptr) +@ stdcall CLIPOBJ_cEnumStart(ptr long long long long) +@ stdcall CLIPOBJ_ppoGetPath(ptr) +@ stdcall EngAcquireSemaphore(ptr) +@ stdcall EngAllocMem(long long long) +@ stdcall EngAllocPrivateUserMem(ptr ptr long) +@ stdcall EngAllocSectionMem(ptr long ptr long) +@ stdcall EngAllocUserMem(ptr long) +@ stdcall EngAlphaBlend(ptr ptr ptr ptr ptr ptr ptr) +@ stdcall EngAssociateSurface(ptr ptr long) +@ stdcall EngBitBlt(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr long) +@ stdcall EngBugCheckEx(long ptr ptr ptr ptr) NTOSKRNL.KeBugCheckEx +@ stdcall EngCheckAbort(ptr) +@ stdcall EngClearEvent(ptr) +@ stdcall EngComputeGlyphSet(long long long) +@ stdcall EngControlSprites(ptr long) +@ stdcall EngCopyBits(ptr ptr ptr ptr ptr ptr) +@ stdcall EngCreateBitmap(long long long long long ptr) +@ stdcall EngCreateClip() +@ stdcall EngCreateDeviceBitmap(ptr long long long) +@ stdcall EngCreateDeviceSurface(ptr long long long) +@ stdcall EngCreateDriverObj(ptr ptr ptr) +@ stdcall EngCreateEvent(ptr) +@ stdcall EngCreatePalette(long long long long long long) +@ stdcall EngCreatePath() +@ stdcall EngCreateSemaphore() +@ stdcall EngCreateWnd(ptr ptr ptr long long) +@ stdcall EngDebugBreak() NTOSKRNL.DbgBreakPoint +@ stdcall EngDebugPrint(ptr ptr ptr) +@ stdcall EngDeleteClip(ptr) +@ stdcall EngDeleteDriverObj(ptr long long) +@ stdcall EngDeleteEvent(ptr) +@ stdcall EngDeleteFile(ptr) +@ stdcall EngDeletePalette(ptr) +@ stdcall EngDeletePath(ptr) +@ stdcall EngDeleteSafeSemaphore(ptr) +@ stdcall EngDeleteSemaphore(ptr) +@ stdcall EngDeleteSurface(ptr) +@ stdcall EngDeleteWnd(ptr) +@ stdcall EngDeviceIoControl(ptr long ptr long ptr long ptr) +@ stdcall EngDitherColor(ptr long long long) +@ stdcall EngDxIoctl(long ptr long) +@ stdcall EngEnumForms(ptr long ptr long ptr ptr) +@ stdcall EngEraseSurface(ptr ptr long) +@ stdcall EngFileIoControl(ptr long ptr ptr ptr ptr ptr) +@ stdcall EngFileWrite(ptr ptr ptr ptr) +@ stdcall EngFillPath(ptr ptr ptr ptr ptr long long) +@ stdcall EngFindImageProcAddress(ptr ptr) +@ stdcall EngFindResource(ptr long long ptr) +@ stdcall EngFntCacheAlloc(long long) +@ stdcall EngFntCacheFault(long long) +@ stdcall EngFntCacheLookUp(long ptr) +@ stdcall EngFreeMem(ptr) +@ stdcall EngFreeModule(ptr) +@ stdcall EngFreePrivateUserMem(ptr ptr) +@ stdcall EngFreeSectionMem(ptr ptr) +@ stdcall EngFreeUserMem(ptr) +@ stdcall EngGetCurrentCodePage(ptr ptr) +@ stdcall EngGetCurrentProcessId() +@ stdcall EngGetCurrentThreadId() +@ stdcall EngGetDriverName(ptr) +@ stdcall EngGetFileChangeTime(ptr ptr) +@ stdcall EngGetFilePath(ptr ptr) +@ stdcall EngGetForm(ptr ptr long ptr long ptr) +@ stdcall EngGetLastError() +@ stdcall EngGetPrinter(ptr long ptr long ptr) +@ stdcall EngGetPrinterData(ptr ptr ptr ptr long ptr) +@ stdcall EngGetPrinterDataFileName(ptr) +@ stdcall EngGetPrinterDriver(ptr ptr long ptr long ptr) +@ stdcall EngGetProcessHandle() +@ stdcall EngGetTickCount() +@ stdcall EngGetType1FontList(ptr ptr long ptr ptr ptr) +@ stdcall EngGradientFill(ptr ptr ptr ptr long ptr long ptr ptr long) +@ stdcall EngHangNotification(ptr ptr) +@ stdcall EngInitializeSafeSemaphore(ptr) +@ stdcall EngIsSemaphoreOwned(ptr) +@ stdcall EngIsSemaphoreOwnedByCurrentThread(ptr) +@ stdcall EngLineTo(ptr ptr ptr long long long long ptr long) +@ stdcall EngLoadImage(ptr) +@ stdcall EngLoadModule(ptr) +@ stdcall EngLoadModuleForWrite(ptr long) +@ stdcall EngLockDirectDrawSurface(ptr) +@ stdcall EngLockDriverObj(ptr) +@ stdcall EngLockSurface(ptr) +@ stdcall EngLpkInstalled() +@ stdcall EngMapEvent(ptr ptr ptr ptr ptr) +@ stdcall EngMapFile(ptr long ptr) +@ stdcall EngMapFontFile(ptr ptr ptr) +@ stdcall EngMapFontFileFD(ptr ptr ptr) +@ stdcall EngMapModule(ptr ptr) +@ stdcall EngMapSection(ptr long ptr ptr) +@ stdcall EngMarkBandingSurface(ptr) +@ stdcall EngModifySurface(ptr ptr long long ptr ptr long ptr) +@ stdcall EngMovePointer(ptr long long ptr) +@ stdcall EngMulDiv(long long long) +@ stdcall EngMultiByteToUnicodeN(ptr long ptr ptr long) NTOSKRNL.RtlMultiByteToUnicodeN +@ stdcall EngMultiByteToWideChar(long ptr long ptr long) +@ stdcall EngNineGrid(ptr ptr ptr ptr ptr ptr ptr ptr ptr) +@ stdcall EngPaint(ptr ptr ptr ptr long) +@ stdcall EngPlgBlt(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr long) +@ stdcall EngProbeForRead(ptr long long) NTOSKRNL.ProbeForRead +@ stdcall EngProbeForReadAndWrite(ptr long long) NTOSKRNL.ProbeForWrite +@ stdcall EngQueryDeviceAttribute(ptr long ptr long ptr long) +@ stdcall EngQueryFileTimeStamp(ptr) +@ stdcall EngQueryLocalTime(ptr) +@ stdcall EngQueryPalette(ptr ptr long ptr) +@ stdcall EngQueryPerformanceCounter(ptr) +@ stdcall EngQueryPerformanceFrequency(ptr) +@ stdcall EngQuerySystemAttribute(long ptr) +@ stdcall EngReadStateEvent(ptr) +@ stdcall EngReleaseSemaphore(ptr) +@ stdcall EngRestoreFloatingPointState(ptr) +@ stdcall EngSaveFloatingPointState(ptr long) +@ stdcall EngSecureMem(ptr long) +@ stdcall EngSetEvent(ptr) +@ stdcall EngSetLastError(long) +@ stdcall EngSetPointerShape(ptr ptr ptr ptr long long long long ptr long) +@ stdcall EngSetPointerTag(ptr ptr ptr ptr long) +@ stdcall EngSetPrinterData(ptr ptr long ptr long) +@ stdcall EngSort(ptr long long ptr) +@ stdcall EngStretchBlt(ptr ptr ptr ptr ptr long long ptr ptr ptr long) +@ stdcall EngStretchBltROP(ptr ptr ptr ptr ptr long long ptr ptr ptr long ptr long) +@ stdcall EngStrokeAndFillPath(ptr ptr ptr ptr ptr ptr ptr ptr long long) +@ stdcall EngStrokePath(ptr ptr ptr ptr ptr ptr ptr long) +@ stdcall EngTextOut(ptr ptr ptr ptr ptr ptr ptr ptr ptr long) +@ stdcall EngTransparentBlt(ptr ptr ptr ptr ptr ptr long long) +@ stdcall EngUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteN +@ stdcall EngUnloadImage(ptr) +@ stdcall EngUnlockDirectDrawSurface(ptr) +@ stdcall EngUnlockDriverObj(ptr) +@ stdcall EngUnlockSurface(ptr) +@ stdcall EngUnmapEvent(ptr) +@ stdcall EngUnmapFile(ptr) +@ stdcall EngUnmapFontFile(ptr) +@ stdcall EngUnmapFontFileFD(ptr) +@ stdcall EngUnsecureMem(ptr) +@ stdcall EngWaitForSingleObject(ptr ptr) +@ stdcall EngWideCharToMultiByte(long ptr long ptr long) +@ stdcall EngWritePrinter(ptr ptr long ptr) +@ stdcall FLOATOBJ_Add(ptr ptr) +@ stdcall FLOATOBJ_AddFloat(ptr long) +@ stdcall FLOATOBJ_AddLong(ptr long) +@ stdcall FLOATOBJ_Div(ptr ptr) +@ stdcall FLOATOBJ_DivFloat(ptr long) +@ stdcall FLOATOBJ_DivLong(ptr long) +@ stdcall FLOATOBJ_Equal(ptr ptr) +@ stdcall FLOATOBJ_EqualLong(ptr long) +@ stdcall FLOATOBJ_GetFloat(ptr) +@ stdcall FLOATOBJ_GetLong(ptr) +@ stdcall FLOATOBJ_GreaterThan(ptr ptr) +@ stdcall FLOATOBJ_GreaterThanLong(ptr long) +@ stdcall FLOATOBJ_LessThan(ptr ptr) +@ stdcall FLOATOBJ_LessThanLong(ptr long) +@ stdcall FLOATOBJ_Mul(ptr ptr) +@ stdcall FLOATOBJ_MulFloat(ptr long) +@ stdcall FLOATOBJ_MulLong(ptr long) +@ stdcall FLOATOBJ_Neg(ptr) +@ stdcall FLOATOBJ_SetFloat(ptr long) +@ stdcall FLOATOBJ_SetLong(ptr long) +@ stdcall FLOATOBJ_Sub(ptr ptr) +@ stdcall FLOATOBJ_SubFloat(ptr long) +@ stdcall FLOATOBJ_SubLong(ptr long) +@ stdcall FONTOBJ_cGetAllGlyphHandles(ptr ptr) +@ stdcall FONTOBJ_cGetGlyphs(ptr long long ptr ptr) +@ stdcall FONTOBJ_pQueryGlyphAttrs(ptr long) +@ stdcall FONTOBJ_pfdg(ptr) +@ stdcall FONTOBJ_pifi(ptr) +@ stdcall FONTOBJ_pjOpenTypeTablePointer(ptr long ptr) +@ stdcall FONTOBJ_pvTrueTypeFontFile(ptr ptr) +@ stdcall FONTOBJ_pwszFontFilePaths(ptr ptr) +@ stdcall FONTOBJ_pxoGetXform(ptr) +@ stdcall FONTOBJ_vGetInfo(ptr long ptr) +@ stdcall HT_ComputeRGBGammaTable(long long long long long ptr) +@ stdcall HT_Get8BPPFormatPalette(ptr long long long) +@ stdcall HT_Get8BPPMaskPalette(ptr long long long long long) +@ stdcall HeapVidMemAllocAligned(ptr long long ptr ptr) +@ stdcall PALOBJ_cGetColors(ptr long long ptr) +@ stdcall PATHOBJ_bCloseFigure(ptr) +@ stdcall PATHOBJ_bEnum(ptr ptr) +@ stdcall PATHOBJ_bEnumClipLines(ptr long ptr) +@ stdcall PATHOBJ_bMoveTo(ptr long long) +@ stdcall PATHOBJ_bPolyBezierTo(ptr ptr long) +@ stdcall PATHOBJ_bPolyLineTo(ptr ptr long) +@ stdcall PATHOBJ_vEnumStart(ptr) +@ stdcall PATHOBJ_vEnumStartClipLines(ptr ptr ptr ptr) +@ stdcall PATHOBJ_vGetBounds(ptr ptr) +@ stdcall RtlAnsiCharToUnicodeChar(ptr) NTOSKRNL.RtlAnsiCharToUnicodeChar +@ stdcall RtlMultiByteToUnicodeN(ptr long ptr ptr long) NTOSKRNL.RtlMultiByteToUnicodeN +@ stdcall RtlRaiseException(ptr) NTOSKRNL.RtlRaiseException +@ stdcall RtlUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteN +@ stdcall RtlUnicodeToMultiByteSize(ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteSize +@ stdcall RtlUnwind(ptr ptr ptr ptr) NTOSKRNL.RtlUnwind +@ stdcall RtlUpcaseUnicodeChar(long) NTOSKRNL.RtlUpcaseUnicodeChar +@ stdcall RtlUpcaseUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUpcaseUnicodeToMultiByteN +@ stdcall STROBJ_bEnum(ptr ptr ptr) +@ stdcall STROBJ_bEnumPositionsOnly(ptr ptr ptr) +@ stdcall STROBJ_bGetAdvanceWidths(ptr long long ptr) +@ stdcall STROBJ_dwGetCodePage(ptr) +@ stdcall STROBJ_fxBreakExtra(ptr) +@ stdcall STROBJ_fxCharacterExtra(ptr) +@ stdcall STROBJ_vEnumStart(ptr) +@ stdcall VidMemFree(ptr ptr) +@ stdcall WNDOBJ_bEnum(ptr long ptr) +@ stdcall WNDOBJ_cEnumStart(ptr long long long) +@ stdcall WNDOBJ_vSetConsumer(ptr ptr) +@ stdcall XFORMOBJ_bApplyXform(ptr long long ptr ptr) +@ stdcall XFORMOBJ_iGetFloatObjXform(ptr ptr) +@ stdcall XFORMOBJ_iGetXform(ptr ptr) +@ stdcall XLATEOBJ_cGetPalette(ptr long long ptr) +@ stdcall XLATEOBJ_hGetColorTransform(ptr) +@ stdcall XLATEOBJ_iXlate(ptr long) +@ stdcall XLATEOBJ_piVector(ptr) +@ cdecl _abnormal_termination() NTOSKRNL._abnormal_termination +@ cdecl _except_handler2() NTOSKRNL._except_handler2 +@ cdecl _global_unwind2() NTOSKRNL._global_unwind2 +@ cdecl _itoa() NTOSKRNL._itoa +@ cdecl _itow() NTOSKRNL._itow +@ cdecl _local_unwind2() NTOSKRNL._local_unwind2 Propchange: trunk/reactos/subsystems/win32/win32k/win32k.spec ------------------------------------------------------------------------------ svn:eol-style = native
16Â years, 2Â months
1
0
0
0
[sginsberg] 36983: - Add missing EngMapFile and EngQueryFileTimeStamp - Swap EngUnmapFile and EngUnmapEvent to maintain alphabetical ordering
by sginsbergï¼ svn.reactos.org
Author: sginsberg Date: Sun Oct 26 07:22:45 2008 New Revision: 36983 URL:
http://svn.reactos.org/svn/reactos?rev=36983&view=rev
Log: - Add missing EngMapFile and EngQueryFileTimeStamp - Swap EngUnmapFile and EngUnmapEvent to maintain alphabetical ordering Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c trunk/reactos/subsystems/win32/win32k/win32k.def Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Sun Oct 26 07:22:45 2008 @@ -900,6 +900,19 @@ { UNIMPLEMENTED; return FALSE; +} + +/* + * @unimplemented + */ +LARGE_INTEGER +APIENTRY +EngQueryFileTimeStamp(IN LPWSTR FileName) +{ + LARGE_INTEGER FileTime; + FileTime.QuadPart = 0; + UNIMPLEMENTED; + return FileTime; } /* Modified: trunk/reactos/subsystems/win32/win32k/win32k.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/wi…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.def [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.def [iso-8859-1] Sun Oct 26 07:22:45 2008 @@ -96,6 +96,7 @@ EngLockSurface@4 EngLpkInstalled@0 EngMapEvent@20 +EngMapFile@12 EngMapFontFile@12 EngMapFontFileFD@12 EngMapModule@8 @@ -112,6 +113,7 @@ EngProbeForRead(a)12=NTOSKRNL.ProbeForRead EngProbeForReadAndWrite(a)12=NTOSKRNL.ProbeForWrite EngQueryDeviceAttribute@24 +EngQueryFileTimeStamp@4 EngQueryLocalTime@4 EngQueryPalette@16 EngQueryPerformanceCounter@4 @@ -139,8 +141,8 @@ EngUnlockDirectDrawSurface@4 EngUnlockDriverObj@4 EngUnlockSurface@4 +EngUnmapEvent@4 EngUnmapFile@4 -EngUnmapEvent@4 EngUnmapFontFile@4 EngUnmapFontFileFD@4 EngUnsecureMem@4
16Â years, 2Â months
1
0
0
0
[ekohl] 36982: WIDL: Enable the use of scalar types (non-pointer types) as custom binding handles.
by ekohlï¼ svn.reactos.org
Author: ekohl Date: Sun Oct 26 07:17:36 2008 New Revision: 36982 URL:
http://svn.reactos.org/svn/reactos?rev=36982&view=rev
Log: WIDL: Enable the use of scalar types (non-pointer types) as custom binding handles. Modified: trunk/reactos/tools/widl/header.c Modified: trunk/reactos/tools/widl/header.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/widl/header.c?rev=36…
============================================================================== --- trunk/reactos/tools/widl/header.c [iso-8859-1] (original) +++ trunk/reactos/tools/widl/header.c [iso-8859-1] Sun Oct 26 07:17:36 2008 @@ -597,10 +597,18 @@ const type_t* get_explicit_generic_handle_type(const var_t* var) { - const type_t *t; - for (t = var->type; is_ptr(t); t = t->ref) - if (t->type != RPC_FC_BIND_PRIMITIVE && is_attr(t->attrs, ATTR_HANDLE)) - return t; + const type_t *t = var->type; + + if (t->type == RPC_FC_BIND_PRIMITIVE) + return NULL; + + if (!is_ptr(t) && is_attr(t->attrs, ATTR_HANDLE)) + return t; + else + for (; is_ptr(t); t = t->ref) + if (t->type != RPC_FC_BIND_PRIMITIVE && is_attr(t->attrs, ATTR_HANDLE)) + return t; + return NULL; }
16Â years, 2Â months
1
0
0
0
← Newer
1
...
11
12
13
14
15
16
17
...
52
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Results per page:
10
25
50
100
200