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
November 2007
----- 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
20 participants
888 discussions
Start a n
N
ew thread
[hpoussin] 30862: Fix build
by hpoussin@svn.reactos.org
Author: hpoussin Date: Thu Nov 29 13:20:14 2007 New Revision: 30862 URL:
http://svn.reactos.org/svn/reactos?rev=30862&view=rev
Log: Fix build Modified: trunk/reactos/include/psdk/wingdi.h Modified: trunk/reactos/include/psdk/wingdi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wingdi.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/wingdi.h (original) +++ trunk/reactos/include/psdk/wingdi.h Thu Nov 29 13:20:14 2007 @@ -1395,11 +1395,19 @@ short dmCopies; short dmDefaultSource; short dmPrintQuality; +#ifdef __WINESRC__ + } DUMMYSTRUCTNAME1; +#else } DUMMYSTRUCTNAME; +#endif POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; +#ifdef __WINESRC__ + } DUMMYUNIONNAME1; +#else } DUMMYUNIONNAME; +#endif short dmColor; short dmDuplex; @@ -1446,11 +1454,19 @@ short dmCopies; short dmDefaultSource; short dmPrintQuality; +#ifdef __WINESRC__ + } DUMMYSTRUCTNAME1; +#else } DUMMYSTRUCTNAME; +#endif POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; +#ifdef __WINESRC__ + } DUMMYUNIONNAME1; +#else } DUMMYUNIONNAME; +#endif short dmColor; short dmDuplex;
17 years
1
0
0
0
[winesync] 30861: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 13:19:56 2007 New Revision: 30861 URL:
http://svn.reactos.org/svn/reactos?rev=30861&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/comdlg32/800.bmp (with props) trunk/reactos/dll/win32/comdlg32/cdrom.ico (with props) trunk/reactos/dll/win32/comdlg32/floppy.ico (with props) trunk/reactos/dll/win32/comdlg32/folder.ico (with props) trunk/reactos/dll/win32/comdlg32/folder2.ico (with props) trunk/reactos/dll/win32/comdlg32/fontpics.bmp (with props) trunk/reactos/dll/win32/comdlg32/hdisk.ico (with props) trunk/reactos/dll/win32/comdlg32/network.ico (with props) trunk/reactos/dll/win32/comdlg32/pd32_collate.ico (with props) trunk/reactos/dll/win32/comdlg32/pd32_landscape.ico (with props) trunk/reactos/dll/win32/comdlg32/pd32_nocollate.ico (with props) trunk/reactos/dll/win32/comdlg32/pd32_portrait.ico (with props) Removed: trunk/reactos/dll/win32/comdlg32/comdlg32_ros.diff Modified: trunk/reactos/dll/win32/comdlg32/cdlg.h trunk/reactos/dll/win32/comdlg32/cdlg_Bg.rc trunk/reactos/dll/win32/comdlg32/cdlg_Cs.rc trunk/reactos/dll/win32/comdlg32/cdlg_En.rc trunk/reactos/dll/win32/comdlg32/cdlg_Eo.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ko.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ru.rc trunk/reactos/dll/win32/comdlg32/cdlg_Sv.rc trunk/reactos/dll/win32/comdlg32/cdlg_xx.rc trunk/reactos/dll/win32/comdlg32/comdlg32.rbuild trunk/reactos/dll/win32/comdlg32/filedlg.c trunk/reactos/dll/win32/comdlg32/filedlgbrowser.c trunk/reactos/dll/win32/comdlg32/printdlg.c trunk/reactos/dll/win32/comdlg32/printdlg16.c [This mail would be too long, it was shortened to contain the URLs only.] Added: trunk/reactos/dll/win32/comdlg32/800.bmp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/800.bmp…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg.h?…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Bg.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Bg…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Cs…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_En…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Eo.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Eo…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ko…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ru…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Sv…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_xx.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_xx…
Added: trunk/reactos/dll/win32/comdlg32/cdrom.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdrom.i…
Modified: trunk/reactos/dll/win32/comdlg32/comdlg32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/comdlg3…
Removed: trunk/reactos/dll/win32/comdlg32/comdlg32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/comdlg3…
Modified: trunk/reactos/dll/win32/comdlg32/filedlg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/filedlg…
Modified: trunk/reactos/dll/win32/comdlg32/filedlgbrowser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/filedlg…
Added: trunk/reactos/dll/win32/comdlg32/floppy.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/floppy.…
Added: trunk/reactos/dll/win32/comdlg32/folder.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/folder.…
Added: trunk/reactos/dll/win32/comdlg32/folder2.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/folder2…
Added: trunk/reactos/dll/win32/comdlg32/fontpics.bmp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/fontpic…
Added: trunk/reactos/dll/win32/comdlg32/hdisk.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/hdisk.i…
Added: trunk/reactos/dll/win32/comdlg32/network.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/network…
Added: trunk/reactos/dll/win32/comdlg32/pd32_collate.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/pd32_co…
Added: trunk/reactos/dll/win32/comdlg32/pd32_landscape.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/pd32_la…
Added: trunk/reactos/dll/win32/comdlg32/pd32_nocollate.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/pd32_no…
Added: trunk/reactos/dll/win32/comdlg32/pd32_portrait.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/pd32_po…
Modified: trunk/reactos/dll/win32/comdlg32/printdlg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/printdl…
Modified: trunk/reactos/dll/win32/comdlg32/printdlg16.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/printdl…
17 years
1
0
0
0
[winesync] 30860: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 13:11:45 2007 New Revision: 30860 URL:
http://svn.reactos.org/svn/reactos?rev=30860&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/comcat/comcat.rbuild trunk/reactos/dll/win32/comcat/information.c trunk/reactos/dll/win32/comcat/regsvr.c Modified: trunk/reactos/dll/win32/comcat/comcat.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/comcat.rb…
============================================================================== --- trunk/reactos/dll/win32/comcat/comcat.rbuild (original) +++ trunk/reactos/dll/win32/comcat/comcat.rbuild Thu Nov 29 13:11:45 2007 @@ -1,14 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="comcat" type="win32dll" baseaddress="${BASEADDRESS_COMCAT}" installbase="system32" entrypoint="0" installname="comcat.dll" allowwarnings="true"> <autoregister infsection="OleControlDlls" type="DllRegisterServer" /> <importlibrary definition="comcat.spec.def" /> <include base="comcat">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>ole32</library> <library>user32</library> Modified: trunk/reactos/dll/win32/comcat/information.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/informati…
============================================================================== --- trunk/reactos/dll/win32/comcat/information.c (original) +++ trunk/reactos/dll/win32/comcat/information.c Thu Nov 29 13:11:45 2007 @@ -163,11 +163,11 @@ TRACE("\n"); - if (cImplemented == (ULONG)-1) + if (cImplemented == (ULONG)-1) cImplemented = 0; - if (cRequired == (ULONG)-1) + if (cRequired == (ULONG)-1) cRequired = 0; - + if (iface == NULL || ppenumCLSID == NULL || (cImplemented && rgcatidImpl == NULL) || (cRequired && rgcatidReq == NULL)) return E_POINTER; Modified: trunk/reactos/dll/win32/comcat/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/regsvr.c?…
============================================================================== --- trunk/reactos/dll/win32/comcat/regsvr.c (original) +++ trunk/reactos/dll/win32/comcat/regsvr.c Thu Nov 29 13:11:45 2007 @@ -101,8 +101,6 @@ WCHAR const *value); static LONG register_key_defvalueA(HKEY base, WCHAR const *name, char const *value); -static LONG recursive_delete_key(HKEY key); - /*********************************************************************** * register_interfaces @@ -189,22 +187,12 @@ for (; res == ERROR_SUCCESS && list->iid; ++list) { WCHAR buf[39]; - HKEY iid_key; StringFromGUID2(list->iid, buf, 39); - res = RegOpenKeyExW(interface_key, buf, 0, - KEY_READ | KEY_WRITE, &iid_key); - if (res == ERROR_FILE_NOT_FOUND) { - res = ERROR_SUCCESS; - continue; - } - if (res != ERROR_SUCCESS) goto error_close_interface_key; - res = recursive_delete_key(iid_key); - RegCloseKey(iid_key); - if (res != ERROR_SUCCESS) goto error_close_interface_key; + res = RegDeleteTreeW(interface_key, buf); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; } -error_close_interface_key: RegCloseKey(interface_key); error_return: return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; @@ -287,23 +275,12 @@ for (; res == ERROR_SUCCESS && list->clsid; ++list) { WCHAR buf[39]; - HKEY clsid_key; StringFromGUID2(list->clsid, buf, 39); - res = RegOpenKeyExW(coclass_key, buf, 0, - KEY_READ | KEY_WRITE, &clsid_key); - if (res == ERROR_FILE_NOT_FOUND) { - res = ERROR_SUCCESS; - continue; - } - if (res != ERROR_SUCCESS) goto error_close_coclass_key; - res = recursive_delete_key(clsid_key); - RegCloseKey(clsid_key); - if (res != ERROR_SUCCESS) goto error_close_coclass_key; + res = RegDeleteTreeW(coclass_key, buf); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; } -error_close_coclass_key: - RegCloseKey(coclass_key); error_return: return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; } @@ -360,38 +337,6 @@ } /*********************************************************************** - * recursive_delete_key - */ -static LONG recursive_delete_key(HKEY key) -{ - LONG res; - WCHAR subkey_name[MAX_PATH]; - DWORD cName; - HKEY subkey; - - for (;;) { - cName = sizeof(subkey_name) / sizeof(WCHAR); - res = RegEnumKeyExW(key, 0, subkey_name, &cName, - NULL, NULL, NULL, NULL); - if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA) { - res = ERROR_SUCCESS; /* presumably we're done enumerating */ - break; - } - res = RegOpenKeyExW(key, subkey_name, 0, - KEY_READ | KEY_WRITE, &subkey); - if (res == ERROR_FILE_NOT_FOUND) continue; - if (res != ERROR_SUCCESS) break; - - res = recursive_delete_key(subkey); - RegCloseKey(subkey); - if (res != ERROR_SUCCESS) break; - } - - if (res == ERROR_SUCCESS) res = RegDeleteKeyW(key, 0); - return res; -} - -/*********************************************************************** * coclass list */ static struct regsvr_coclass const coclass_list[] = {
17 years
1
0
0
0
[winesync] 30859: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 13:03:33 2007 New Revision: 30859 URL:
http://svn.reactos.org/svn/reactos?rev=30859&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/clusapi/clusapi.c trunk/reactos/dll/win32/clusapi/clusapi.rbuild Modified: trunk/reactos/dll/win32/clusapi/clusapi.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/clusapi/clusapi.…
============================================================================== --- trunk/reactos/dll/win32/clusapi/clusapi.c (original) +++ trunk/reactos/dll/win32/clusapi/clusapi.c Thu Nov 29 13:03:33 2007 @@ -30,12 +30,21 @@ /*********************************************************************** * GetNodeClusterState (CLUSAPI.@) * + * PARAMS + * lpszNodeName [I] Optional Pointer to a NULL terminated unicode string + * pdwClusterState [O] Current state of the cluster + * 0x00 - Cluster not installed. + * 0x01 - Cluster not configured. + * 0x03 - Cluster not running. + * 0x13 - Cluster is running. */ DWORD WINAPI GetNodeClusterState(LPCWSTR lpszNodeName, LPDWORD pdwClusterState) { - FIXME("(%s,%p) stub!\n",debugstr_w(lpszNodeName),pdwClusterState); + FIXME("(%s,%p,%u) stub!\n",debugstr_w(lpszNodeName),pdwClusterState, *pdwClusterState); - return 0; + *pdwClusterState = 0; + + return ERROR_SUCCESS; } Modified: trunk/reactos/dll/win32/clusapi/clusapi.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/clusapi/clusapi.…
============================================================================== --- trunk/reactos/dll/win32/clusapi/clusapi.rbuild (original) +++ trunk/reactos/dll/win32/clusapi/clusapi.rbuild Thu Nov 29 13:03:33 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="clusapi" type="win32dll" baseaddress="${BASEADDRESS_CLUSAPI}" installbase="system32" installname="clusapi.dll" allowwarnings="true"> <importlibrary definition="clusapi.spec.def" /> <include base="clusapi">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>kernel32</library> <library>ntdll</library>
17 years
1
0
0
0
[winesync] 30858: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 12:56:40 2007 New Revision: 30858 URL:
http://svn.reactos.org/svn/reactos?rev=30858&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/cabinet/cabinet.h trunk/reactos/dll/win32/cabinet/cabinet.rbuild trunk/reactos/dll/win32/cabinet/cabinet_main.c trunk/reactos/dll/win32/cabinet/fci.c trunk/reactos/dll/win32/cabinet/fdi.c Modified: trunk/reactos/dll/win32/cabinet/cabinet.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/cabinet.…
============================================================================== --- trunk/reactos/dll/win32/cabinet/cabinet.h (original) +++ trunk/reactos/dll/win32/cabinet/cabinet.h Thu Nov 29 12:56:40 2007 @@ -32,6 +32,23 @@ /* from msvcrt/sys/stat.h */ #define _S_IWRITE 0x0080 #define _S_IREAD 0x0100 + +/* from msvcrt/fcntl.h */ +#define _O_RDONLY 0 +#define _O_WRONLY 1 +#define _O_RDWR 2 +#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) +#define _O_APPEND 0x0008 +#define _O_RANDOM 0x0010 +#define _O_SEQUENTIAL 0x0020 +#define _O_TEMPORARY 0x0040 +#define _O_NOINHERIT 0x0080 +#define _O_CREAT 0x0100 +#define _O_TRUNC 0x0200 +#define _O_EXCL 0x0400 +#define _O_SHORT_LIVED 0x1000 +#define _O_TEXT 0x4000 +#define _O_BINARY 0x8000 #define CAB_SPLITMAX (10) @@ -132,7 +149,7 @@ cab_ULONG x[ZIPBMAX+1]; /* bit offsets, then code stack */ cab_UBYTE *inpos; }; - + /* Quantum stuff */ struct QTMmodelsym { @@ -140,7 +157,7 @@ }; struct QTMmodel { - int shiftsleft, entries; + int shiftsleft, entries; struct QTMmodelsym *syms; cab_UWORD tabloc[256]; }; @@ -614,29 +631,27 @@ 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff \ } -/* EXTRACTdest flags */ +/* SESSION Operation */ #define EXTRACT_FILLFILELIST 0x00000001 #define EXTRACT_EXTRACTFILES 0x00000002 -struct ExtractFileList { - LPSTR filename; - struct ExtractFileList *next; - BOOL flag; -} ; - -/* the first parameter of the function extract */ +struct FILELIST{ + LPSTR FileName; + struct FILELIST *next; + BOOL DoExtract; +}; + typedef struct { - long result1; /* 0x000 */ - long unknown1[3]; /* 0x004 */ - struct ExtractFileList *filelist; /* 0x010 */ - long filecount; /* 0x014 */ - DWORD flags; /* 0x018 */ - char directory[MAX_PATH]; /* 0x01c */ - char lastfile[MAX_PATH]; /* 0x120 */ - char unknown2[MAX_PATH]; /* 0x224 */ - struct ExtractFileList *filterlist; /* 0x328 */ -} EXTRACTdest; - + INT FileSize; + ERF Error; + struct FILELIST *FileList; + INT FileCount; + INT Operation; + CHAR Destination[MAX_PATH]; + CHAR CurrentFile[MAX_PATH]; + CHAR Reserved[MAX_PATH]; + struct FILELIST *FilterList; +} SESSION; /* from fdi.c */ void QTMupdatemodel(struct QTMmodel *model, int sym); Modified: trunk/reactos/dll/win32/cabinet/cabinet.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/cabinet.…
============================================================================== --- trunk/reactos/dll/win32/cabinet/cabinet.rbuild (original) +++ trunk/reactos/dll/win32/cabinet/cabinet.rbuild Thu Nov 29 12:56:40 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="cabinet" type="win32dll" entrypoint="0" baseaddress="${BASEADDRESS_CABINET}" installbase="system32" installname="cabinet.dll" allowwarnings="true"> <importlibrary definition="cabinet.spec.def" /> <include base="cabinet">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>kernel32</library> <library>ntdll</library> Modified: trunk/reactos/dll/win32/cabinet/cabinet_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/cabinet_…
============================================================================== --- trunk/reactos/dll/win32/cabinet/cabinet_main.c (original) +++ trunk/reactos/dll/win32/cabinet/cabinet_main.c Thu Nov 29 12:56:40 2007 @@ -37,13 +37,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(cabinet); -/* the following defintions are copied from msvcrt/fcntl.h */ - -#define _O_RDONLY 0 -#define _O_WRONLY 1 -#define _O_RDWR 2 -#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) - /*********************************************************************** * DllGetVersion (CABINET.2) @@ -91,7 +84,7 @@ HANDLE handle; DWORD dwAccess = 0; DWORD dwShareMode = 0; - DWORD dwCreateDisposition = OPEN_EXISTING; + DWORD dwCreateDisposition; switch (oflag & _O_ACCMODE) { @@ -109,10 +102,17 @@ break; } - if (GetFileAttributesA(pszFile) != INVALID_FILE_ATTRIBUTES) + if (oflag & _O_CREAT) + { + dwCreateDisposition = OPEN_ALWAYS; + if (oflag & _O_EXCL) dwCreateDisposition = CREATE_NEW; + else if (oflag & _O_TRUNC) dwCreateDisposition = CREATE_ALWAYS; + } + else + { dwCreateDisposition = OPEN_EXISTING; - else - dwCreateDisposition = CREATE_NEW; + if (oflag & _O_TRUNC) dwCreateDisposition = TRUNCATE_EXISTING; + } handle = CreateFileA(pszFile, dwAccess, dwShareMode, NULL, dwCreateDisposition, 0, NULL); @@ -124,7 +124,7 @@ { HANDLE handle = (HANDLE) hf; DWORD dwRead; - + if (ReadFile(handle, pv, cb, &dwRead, NULL)) return dwRead; @@ -154,21 +154,27 @@ return SetFilePointer(handle, dist, NULL, seektype); } -static void fill_file_node(struct ExtractFileList *pNode, LPCSTR szFilename) +static void fill_file_node(struct FILELIST *pNode, LPCSTR szFilename) { pNode->next = NULL; - pNode->flag = FALSE; - - pNode->filename = HeapAlloc(GetProcessHeap(), 0, strlen(szFilename) + 1); - lstrcpyA(pNode->filename, szFilename); -} - -static BOOL file_in_list(const struct ExtractFileList *pNode, LPCSTR szFilename) + pNode->DoExtract = FALSE; + + pNode->FileName = HeapAlloc(GetProcessHeap(), 0, strlen(szFilename) + 1); + lstrcpyA(pNode->FileName, szFilename); +} + +static BOOL file_in_list(struct FILELIST *pNode, LPCSTR szFilename, + struct FILELIST **pOut) { while (pNode) { - if (!lstrcmpiA(pNode->filename, szFilename)) + if (!lstrcmpiA(pNode->FileName, szFilename)) + { + if (pOut) + *pOut = pNode; + return TRUE; + } pNode = pNode->next; } @@ -182,17 +188,17 @@ { case fdintCOPY_FILE: { - struct ExtractFileList **fileList; - EXTRACTdest *pDestination = pfdin->pv; + struct FILELIST *fileList, *node = NULL; + SESSION *pDestination = pfdin->pv; LPSTR szFullPath, szDirectory; HANDLE hFile = 0; DWORD dwSize; - dwSize = lstrlenA(pDestination->directory) + + dwSize = lstrlenA(pDestination->Destination) + lstrlenA("\\") + lstrlenA(pfdin->psz1) + 1; szFullPath = HeapAlloc(GetProcessHeap(), 0, dwSize); - lstrcpyA(szFullPath, pDestination->directory); + lstrcpyA(szFullPath, pDestination->Destination); lstrcatA(szFullPath, "\\"); lstrcatA(szFullPath, pfdin->psz1); @@ -201,26 +207,28 @@ szDirectory = HeapAlloc(GetProcessHeap(), 0, dwSize); lstrcpynA(szDirectory, szFullPath, dwSize); - if (pDestination->flags & EXTRACT_FILLFILELIST) + pDestination->FileSize += pfdin->cb; + + if (pDestination->Operation & EXTRACT_FILLFILELIST) { - fileList = &pDestination->filelist; - - while (*fileList) - fileList = &((*fileList)->next); - - *fileList = HeapAlloc(GetProcessHeap(), 0, - sizeof(struct ExtractFileList)); - - fill_file_node(*fileList, pfdin->psz1); - lstrcpyA(pDestination->lastfile, szFullPath); - pDestination->filecount++; + fileList = HeapAlloc(GetProcessHeap(), 0, + sizeof(struct FILELIST)); + + fill_file_node(fileList, pfdin->psz1); + fileList->DoExtract = TRUE; + fileList->next = pDestination->FileList; + pDestination->FileList = fileList; + lstrcpyA(pDestination->CurrentFile, szFullPath); + pDestination->FileCount++; } - if ((pDestination->flags & EXTRACT_EXTRACTFILES) || - file_in_list(pDestination->filterlist, pfdin->psz1)) + if ((pDestination->Operation & EXTRACT_EXTRACTFILES) || + file_in_list(pDestination->FilterList, pfdin->psz1, NULL)) { - /* skip this file if it is not in the file list */ - if (!file_in_list(pDestination->filelist, pfdin->psz1)) + /* find the file node */ + file_in_list(pDestination->FileList, pfdin->psz1, &node); + + if (node && !node->DoExtract) return 0; /* create the destination directory if it doesn't exist */ @@ -232,6 +240,8 @@ if (hFile == INVALID_HANDLE_VALUE) hFile = 0; + else if (node) + node->DoExtract = FALSE; } HeapFree(GetProcessHeap(), 0, szFullPath); @@ -281,29 +291,31 @@ * NOTES * The following members of the dest struct control the operation * of Extract: - * filelist [I] A linked list of filenames. Extract only extracts - * files from the cabinet that are in this list. - * filecount [O] Contains the number of files in filelist on - * completion. - * flags [I] See Operation. - * directory [I] The destination directory. - * lastfile [O] The last file extracted. + * FileSize [O] The size of all files extracted up to CurrentFile. + * Error [O] The error in case the extract operation fails. + * FileList [I] A linked list of filenames. Extract only extracts + * files from the cabinet that are in this list. + * FileCount [O] Contains the number of files in FileList on + * completion. + * Operation [I] See Operation. + * Destination [I] The destination directory. + * CurrentFile [O] The last file extracted. + * FilterList [I] A linked list of files that should not be extracted. * * Operation - * If flags contains EXTRACT_FILLFILELIST, then filelist will be - * filled with all the files in the cabinet. If flags contains - * EXTRACT_EXTRACTFILES, then only the files in the filelist will + * If Operation contains EXTRACT_FILLFILELIST, then FileList will be + * filled with all the files in the cabinet. If Operation contains + * EXTRACT_EXTRACTFILES, then only the files in the FileList will * be extracted from the cabinet. EXTRACT_FILLFILELIST can be called - * by itself, but EXTRACT_EXTRACTFILES must have a valid filelist - * in order to succeed. If flags contains both EXTRACT_FILLFILELIST + * by itself, but EXTRACT_EXTRACTFILES must have a valid FileList + * in order to succeed. If Operation contains both EXTRACT_FILLFILELIST * and EXTRACT_EXTRACTFILES, then all the files in the cabinet * will be extracted. */ -HRESULT WINAPI Extract(EXTRACTdest *dest, LPCSTR szCabName) +HRESULT WINAPI Extract(SESSION *dest, LPCSTR szCabName) { HRESULT res = S_OK; HFDI hfdi; - ERF erf; char *str, *path, *name; TRACE("(%p, %s)\n", dest, szCabName); @@ -316,12 +328,12 @@ fdi_close, fdi_seek, cpuUNKNOWN, - &erf); + &dest->Error); if (!hfdi) return E_FAIL; - if (GetFileAttributesA(dest->directory) == INVALID_FILE_ATTRIBUTES) + if (GetFileAttributesA(dest->Destination) == INVALID_FILE_ATTRIBUTES) return S_OK; /* split the cabinet name into path + name */ @@ -343,9 +355,11 @@ path = NULL; } + dest->FileSize = 0; + if (!FDICopy(hfdi, name, path, 0, fdi_notify_extract, NULL, dest)) - res = E_FAIL; + res = HRESULT_FROM_WIN32(GetLastError()); HeapFree(GetProcessHeap(), 0, str); end: Modified: trunk/reactos/dll/win32/cabinet/fci.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/fci.c?re…
============================================================================== --- trunk/reactos/dll/win32/cabinet/fci.c (original) +++ trunk/reactos/dll/win32/cabinet/fci.c Thu Nov 29 12:56:40 2007 @@ -233,6 +233,7 @@ p_fci_internal->estimatedCabinetSize = 0; p_fci_internal->statusFolderTotal = 0; + memset(&p_fci_internal->oldCCAB, 0, sizeof(CCAB)); memcpy(p_fci_internal->szPrevCab, pccab->szCab, CB_MAX_CABINET_NAME); memcpy(p_fci_internal->szPrevDisk, pccab->szDisk, CB_MAX_DISK_NAME); @@ -2416,6 +2417,10 @@ } /* get information about the file */ + /* set defaults in case callback doesn't set one or more fields */ + cffile.attribs=0; + cffile.date=0; + cffile.time=0; file_handle=(*pfnfcigoi)(pszSourceFile, &(cffile.date), &(cffile.time), &(cffile.attribs), &err, p_fci_internal->pv); /* check file_handle */ Modified: trunk/reactos/dll/win32/cabinet/fdi.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/fdi.c?re…
============================================================================== --- trunk/reactos/dll/win32/cabinet/fdi.c (original) +++ trunk/reactos/dll/win32/cabinet/fdi.c Thu Nov 29 12:56:40 2007 @@ -143,7 +143,7 @@ USHORT iCabinet; /* Cabinet number in set (0 based) */ struct fdi_cds_fwd *decomp_cab; MORE_ISCAB_INFO mii; - struct fdi_folder *firstfol; + struct fdi_folder *firstfol; struct fdi_file *firstfile; struct fdi_cds_fwd *next; } fdi_decomp_state; @@ -190,7 +190,7 @@ } } } - + /* then convert frequencies back to cumfreq */ for (i = model->entries - 1; i >= 0; i--) { model->syms[i].cumfreq += model->syms[i+1].cumfreq; @@ -348,7 +348,7 @@ * * INCLUDES * fdi.h - * + * */ HFDI __cdecl FDICreate( PFNALLOC pfnalloc, @@ -385,7 +385,7 @@ SetLastError(ERROR_NOT_ENOUGH_MEMORY); return NULL; } - + PFDI_INT(rv)->FDI_Intmagic = FDI_INT_MAGIC; PFDI_INT(rv)->pfnalloc = pfnalloc; PFDI_INT(rv)->pfnfree = pfnfree; @@ -412,26 +412,6 @@ } /********************************************************************** - * FDI_realloc (internal) - * - * we can't use _msize; the user might not be using malloc, so we require - * an explicit specification of the previous size. inefficient. - */ -static void *FDI_realloc(HFDI hfdi, void *mem, size_t prevsize, size_t newsize) -{ - void *rslt = NULL; - char *irslt, *imem; - size_t copysize = (prevsize < newsize) ? prevsize : newsize; - if (prevsize == newsize) return mem; - rslt = PFDI_ALLOC(hfdi, newsize); - if (rslt) - for (irslt = (char *)rslt, imem = (char *)mem; (copysize); copysize--) - *irslt++ = *imem++; - PFDI_FREE(hfdi, mem); - return rslt; -} - -/********************************************************************** * FDI_read_string (internal) * * allocate and read an arbitrarily long string from the cabinet @@ -439,19 +419,17 @@ static char *FDI_read_string(HFDI hfdi, INT_PTR hf, long cabsize) { size_t len=256, - oldlen = 0, base = FDI_getoffset(hfdi, hf), maxlen = cabsize - base; BOOL ok = FALSE; unsigned int i; cab_UBYTE *buf = NULL; - TRACE("(hfdi == ^%p, hf == %ld)\n", hfdi, hf); + TRACE("(hfdi == ^%p, hf == %ld, cabsize == %ld)\n", hfdi, hf, cabsize); do { if (len > maxlen) len = maxlen; - if (!(buf = FDI_realloc(hfdi, buf, oldlen, len))) break; - oldlen = len; + if (!(buf = PFDI_ALLOC(hfdi, len))) break; if (!PFDI_READ(hfdi, hf, buf, len)) break; /* search for a null terminator in what we've just read */ @@ -464,8 +442,13 @@ ERR("cabinet is truncated\n"); break; } - len += 256; + /* The buffer is too small for the string. Reset the file to the point + * were we started, free the buffer and increase the size for the next try + */ PFDI_SEEK(hfdi, hf, base, SEEK_SET); + PFDI_FREE(hfdi, buf); + buf = NULL; + len *= 2; } } while (!ok); @@ -503,7 +486,7 @@ TRACE("(hfdi == ^%p, hf == %ld, pfdici == ^%p)\n", hfdi, hf, pfdici); - /* + /* * FIXME: I just noticed that I am memorizing the initial file pointer * offset and restoring it before reading in the rest of the header * information in the cabinet. Perhaps that's correct -- that is, perhaps @@ -513,7 +496,7 @@ * (Either way, the semantics of wine's FDICopy require me to leave the * file pointer where it is afterwards -- If Windows does not do so, we * ought to duplicate the native behavior in the FDIIsCabinet API, not here. - * + * * So, the answer lies in Windows; will native cabinet.dll recognize a * cabinet "file" embedded in another file? Note that cabextract.c does * support this, which implies that Microsoft's might. I haven't tried it @@ -547,7 +530,7 @@ cabsize = FDI_getoffset(hfdi, hf); - if ((cabsize == -1) || (base_offset == -1) || + if ((cabsize == -1) || (base_offset == -1) || ( PFDI_SEEK(hfdi, hf, base_offset, SEEK_SET) == -1 )) { if (pmii) { PFDI_INT(hfdi)->perf->erfOper = FDIERROR_NOT_A_CABINET; @@ -566,7 +549,7 @@ } return FALSE; } - + /* check basic MSCF signature */ if (EndGetI32(buf+cfhead_Signature) != 0x4643534d) { if (pmii) { @@ -676,7 +659,7 @@ PFDI_FREE(hfdi, prevname); previnfo = FDI_read_string(hfdi, hf, cabsize); if (previnfo) { - if (pmii) + if (pmii) pmii->previnfo = previnfo; else PFDI_FREE(hfdi, previnfo); @@ -739,7 +722,7 @@ * be filled out with information about the cabinet * file indicated by hf if, indeed, it is determined * to be a cabinet. - * + * * RETURNS * TRUE if the file is a cabinet. The info pointed to by pfdici will * be provided. @@ -782,7 +765,7 @@ SetLastError(ERROR_BAD_ARGUMENTS); return FALSE; } - rv = FDI_read_entries(hfdi, hf, pfdici, NULL); + rv = FDI_read_entries(hfdi, hf, pfdici, NULL); if (rv) pfdici->hasnext = FALSE; /* yuck. duplicate apparent cabinet.dll bug */ @@ -946,7 +929,7 @@ q = (--p)->v.t; PFDI_FREE(hfdi, p); p = q; - } + } } /********************************************************* @@ -1636,7 +1619,7 @@ register int bitsleft = lb->bl; cab_UBYTE *inpos = lb->ip; cab_UWORD *hufftbl; - + for (x = 0; x < 20; x++) { READ_BITS(y, 4); LENTABLE(PRETREE)[x] = y; @@ -1789,28 +1772,28 @@ else { /* match: LZX_NUM_CHARS + ((slot<<3) | length_header (3 bits)) */ main_element -= LZX_NUM_CHARS; - + match_length = main_element & LZX_NUM_PRIMARY_LENGTHS; if (match_length == LZX_NUM_PRIMARY_LENGTHS) { READ_HUFFSYM(LENGTH, length_footer); match_length += length_footer; } match_length += LZX_MIN_MATCH; - + match_offset = main_element >> 3; - + if (match_offset > 2) { /* not repeated offset */ if (match_offset != 3) { extra = CAB(extra_bits)[match_offset]; READ_BITS(verbatim_bits, extra); - match_offset = CAB(lzx_position_base)[match_offset] + match_offset = CAB(lzx_position_base)[match_offset] - 2 + verbatim_bits; } else { match_offset = 1; } - + /* update repeated offset LRU queue */ R2 = R1; R1 = R0; R0 = match_offset; } @@ -1854,7 +1837,7 @@ case LZX_BLOCKTYPE_ALIGNED: while (this_run > 0) { READ_HUFFSYM(MAINTREE, main_element); - + if (main_element < LZX_NUM_CHARS) { /* literal: 0 to LZX_NUM_CHARS-1 */ window[window_posn++] = main_element; @@ -1863,16 +1846,16 @@ else { /* match: LZX_NUM_CHARS + ((slot<<3) | length_header (3 bits)) */ main_element -= LZX_NUM_CHARS; - + match_length = main_element & LZX_NUM_PRIMARY_LENGTHS; if (match_length == LZX_NUM_PRIMARY_LENGTHS) { READ_HUFFSYM(LENGTH, length_footer); match_length += length_footer; } match_length += LZX_MIN_MATCH; - + match_offset = main_element >> 3; - + if (match_offset > 2) { /* not repeated offset */ extra = CAB(extra_bits)[match_offset]; @@ -1899,7 +1882,7 @@ /* ??? */ match_offset = 1; } - + /* update repeated offset LRU queue */ R2 = R1; R1 = R0; R0 = match_offset; } @@ -2071,7 +2054,7 @@ char emptystring = '\0'; cab_UBYTE buf2[64]; int success = FALSE; - struct fdi_folder *fol = NULL, *linkfol = NULL; + struct fdi_folder *fol = NULL, *linkfol = NULL; struct fdi_file *file = NULL, *linkfile = NULL; tryanothercab: @@ -2082,7 +2065,7 @@ if (!((cab->next = PFDI_ALLOC(CAB(hfdi), sizeof(fdi_decomp_state))))) return DECR_NOMEMORY; - + ZeroMemory(cab->next, sizeof(fdi_decomp_state)); /* copy pszCabPath to userpath */ @@ -2093,7 +2076,7 @@ for (i = 0; i <= pathlen; i++) userpath[i] = pszCabPath[i]; } /* else we are in a weird place... let's leave it blank and see if the user fixes it */ - } + } /* initial fdintNEXT_CABINET notification */ ZeroMemory(&fdin, sizeof(FDINOTIFICATION)); @@ -2124,25 +2107,25 @@ } if (filenamelen) for (i = 0; i < filenamelen; i++) fullpath[idx++] = cab->mii.nextname[i]; fullpath[idx] = '\0'; - + TRACE("full cab path/file name: %s\n", debugstr_a(fullpath)); - + /* try to get a handle to the cabfile */ - cabhf = PFDI_OPEN(CAB(hfdi), fullpath, 32768, _S_IREAD | _S_IWRITE); + cabhf = PFDI_OPEN(CAB(hfdi), fullpath, _O_RDONLY|_O_BINARY, _S_IREAD | _S_IWRITE); if (cabhf == -1) { /* no file. allow the user to try again */ fdin.fdie = FDIERROR_CABINET_NOT_FOUND; if (((*pfnfdin)(fdintNEXT_CABINET, &fdin))) return DECR_USERABORT; continue; } - + if (cabhf == 0) { ERR("PFDI_OPEN returned zero for %s.\n", fullpath); fdin.fdie = FDIERROR_CABINET_NOT_FOUND; if (((*pfnfdin)(fdintNEXT_CABINET, &fdin))) return DECR_USERABORT; continue; } - + /* check if it's really a cabfile. Note that this doesn't implement the bug */ if (!FDI_read_entries(CAB(hfdi), cabhf, &fdici, &(cab->next->mii))) { WARN("FDIIsCabinet failed.\n"); @@ -2159,11 +2142,11 @@ if (((*pfnfdin)(fdintNEXT_CABINET, &fdin))) return DECR_USERABORT; continue; } - + break; } while (1); - + /* cabinet notification */ ZeroMemory(&fdin, sizeof(FDINOTIFICATION)); fdin.setID = fdici.setID; @@ -2172,9 +2155,9 @@ fdin.psz1 = (cab->next->mii.nextname) ? cab->next->mii.nextname : &emptystring; fdin.psz2 = (cab->next->mii.nextinfo) ? cab->next->mii.nextinfo : &emptystring; fdin.psz3 = pszCabPath; - + if (((*pfnfdin)(fdintCABINET_INFO, &fdin))) return DECR_USERABORT; - + cab->next->setID = fdici.setID; cab->next->iCabinet = fdici.iCabinet; cab->next->hfdi = CAB(hfdi); @@ -2186,12 +2169,12 @@ /* read folders */ for (i = 0; i < fdici.cFolders; i++) { - if (PFDI_READ(CAB(hfdi), cab->cabhf, buf2, cffold_SIZEOF) != cffold_SIZEOF) + if (PFDI_READ(CAB(hfdi), cab->cabhf, buf2, cffold_SIZEOF) != cffold_SIZEOF) return DECR_INPUT; if (cab->mii.folder_resv > 0) PFDI_SEEK(CAB(hfdi), cab->cabhf, cab->mii.folder_resv, SEEK_CUR); - + fol = (struct fdi_folder *) PFDI_ALLOC(CAB(hfdi), sizeof(struct fdi_folder)); if (!fol) { ERR("out of memory!\n"); @@ -2199,29 +2182,29 @@ } ZeroMemory(fol, sizeof(struct fdi_folder)); if (!(cab->firstfol)) cab->firstfol = fol; - + fol->offset = (cab_off_t) EndGetI32(buf2+cffold_DataOffset); fol->num_blocks = EndGetI16(buf2+cffold_NumBlocks); fol->comp_type = EndGetI16(buf2+cffold_CompType); - + if (linkfol) - linkfol->next = fol; + linkfol->next = fol; linkfol = fol; } - + /* read files */ for (i = 0; i < fdici.cFiles; i++) { if (PFDI_READ(CAB(hfdi), cab->cabhf, buf2, cffile_SIZEOF) != cffile_SIZEOF) return DECR_INPUT; - + file = (struct fdi_file *) PFDI_ALLOC(CAB(hfdi), sizeof(struct fdi_file)); if (!file) { - ERR("out of memory!\n"); + ERR("out of memory!\n"); return DECR_NOMEMORY; } ZeroMemory(file, sizeof(struct fdi_file)); if (!(cab->firstfile)) cab->firstfile = file; - + file->length = EndGetI32(buf2+cffile_UncompressedSize); file->offset = EndGetI32(buf2+cffile_FolderOffset); file->index = EndGetI16(buf2+cffile_FolderIndex); @@ -2229,15 +2212,15 @@ file->date = EndGetI16(buf2+cffile_Date); file->attribs = EndGetI16(buf2+cffile_Attribs); file->filename = FDI_read_string(CAB(hfdi), cab->cabhf, fdici.cbCabinet); - + if (!file->filename) return DECR_INPUT; - + if (linkfile) linkfile->next = file; linkfile = file; } - - } else + + } else cab = cab->next; /* advance to the next cabinet */ /* iterate files -- if we encounter the continued file, process it -- @@ -2265,7 +2248,7 @@ CAB(outlen) = outlen; CAB(outpos) = CAB(outbuf); } - + CAB(decomp_cab) = cab; return DECR_OK; } @@ -2334,14 +2317,14 @@ * is the pv element, which contains the arbitrary value which was passed to * FDICopy in the pvUser argument (psz1 is also used each time, but its meaning * is highly dependent on fdint). - * + * * If you encounter unknown notifications, you should return zero if you want * decompression to continue (or -1 to abort). All strings used in the * callbacks are regular C-style strings. Detailed descriptions of each * notification type follow: * * fdintCABINET_INFO: - * + * * This is the first notification provided after calling FDICopy, and provides * the user with various information about the cabinet. Note that this is * called for each cabinet FDICopy opens, not just the first one. In the @@ -2411,11 +2394,11 @@ * contain the following values: psz1 pointing to the name of the cabinet * which FDICopy is attempting to open, psz2 pointing to the name ("info") of * the next disk, psz3 pointing to the presumed file-location of the cabinet, - * and fdie containing either FDIERROR_NONE, or one of the following: + * and fdie containing either FDIERROR_NONE, or one of the following: * * FDIERROR_CABINET_NOT_FOUND, FDIERROR_NOT_A_CABINET, * FDIERROR_UNKNOWN_CABINET_VERSION, FDIERROR_CORRUPT_CABINET, - * FDIERROR_BAD_COMPR_TYPE, FDIERROR_RESERVE_MISMATCH, and + * FDIERROR_BAD_COMPR_TYPE, FDIERROR_RESERVE_MISMATCH, and * FDIERROR_WRONG_CABINET. * * The callee may choose to change the path where FDICopy will look for the @@ -2442,7 +2425,7 @@ PFNFDINOTIFY pfnfdin, PFNFDIDECRYPT pfnfdid, void *pvUser) -{ +{ FDICABINETINFO fdici; FDINOTIFICATION fdin; int cabhf, filehf = 0, idx; @@ -2451,7 +2434,7 @@ size_t pathlen, filenamelen; char emptystring = '\0'; cab_UBYTE buf[64]; - struct fdi_folder *fol = NULL, *linkfol = NULL; + struct fdi_folder *fol = NULL, *linkfol = NULL; struct fdi_file *file = NULL, *linkfile = NULL; fdi_decomp_state _decomp_state; fdi_decomp_state *decomp_state = &_decomp_state; @@ -2492,10 +2475,9 @@ TRACE("full cab path/file name: %s\n", debugstr_a(fullpath)); /* get a handle to the cabfile */ - cabhf = PFDI_OPEN(hfdi, fullpath, 32768, _S_IREAD | _S_IWRITE); + cabhf = PFDI_OPEN(hfdi, fullpath, _O_RDONLY|_O_BINARY, _S_IREAD | _S_IWRITE); if (cabhf == -1) { PFDI_INT(hfdi)->perf->erfOper = FDIERROR_CABINET_NOT_FOUND; - PFDI_INT(hfdi)->perf->erfType = ERROR_FILE_NOT_FOUND; PFDI_INT(hfdi)->perf->fError = TRUE; SetLastError(ERROR_FILE_NOT_FOUND); return FALSE; @@ -2516,7 +2498,7 @@ PFDI_CLOSE(hfdi, cabhf); return FALSE; } - + /* cabinet notification */ ZeroMemory(&fdin, sizeof(FDINOTIFICATION)); fdin.setID = fdici.setID; @@ -2566,7 +2548,7 @@ fol->comp_type = EndGetI16(buf+cffold_CompType); if (linkfol) - linkfol->next = fol; + linkfol->next = fol; linkfol = fol; } @@ -2580,8 +2562,8 @@ } file = (struct fdi_file *) PFDI_ALLOC(hfdi, sizeof(struct fdi_file)); - if (!file) { - ERR("out of memory!\n"); + if (!file) { + ERR("out of memory!\n"); PFDI_INT(hfdi)->perf->erfOper = FDIERROR_ALLOC_FAIL; PFDI_INT(hfdi)->perf->erfType = ERROR_NOT_ENOUGH_MEMORY; PFDI_INT(hfdi)->perf->fError = TRUE; @@ -2590,7 +2572,7 @@ } ZeroMemory(file, sizeof(struct fdi_file)); if (!CAB(firstfile)) CAB(firstfile) = file; - + file->length = EndGetI32(buf+cffile_UncompressedSize); file->offset = EndGetI32(buf+cffile_FolderOffset); file->index = EndGetI16(buf+cffile_FolderIndex); @@ -2621,7 +2603,7 @@ * If we kept a cache of certain file-pointer information, we could eliminate * that behavior... in fact I am not sure that the caching we already have * is not sufficient. - * + * * The current implementation seems to work fine in straightforward situations * where all the cabinet files needed for decryption are simultaneously * available. But presumably, the API is supposed to support cabinets which @@ -2894,7 +2876,7 @@ if (prev_fds != &_decomp_state) PFDI_FREE(hfdi, prev_fds); } - + return TRUE; bail_and_fail: /* here we free ram before error returns */ @@ -2953,7 +2935,7 @@ * * Frees a handle created by FDICreate. Do /not/ call this in the middle * of FDICopy. Only reason for failure would be an invalid handle. - * + * * PARAMS * hfdi [I] The HFDI to free * @@ -2979,16 +2961,16 @@ * * Removes all folders of a cabinet file after and including the * specified folder number. - * + * * PARAMS * hfdi [I] Handle to the FDI context. * pszCabinetName [I] Filename of the cabinet. * iFolderToDelete [I] Index of the first folder to delete. - * + * * RETURNS * Success: TRUE. * Failure: FALSE. - * + * * NOTES * The PFNWRITE function supplied to FDICreate must truncate the * file at the current position if the number of bytes to write is 0.
17 years
1
0
0
0
[greatlrd] 30857: revert part of rev30826 that was accented committed
by greatlrd@svn.reactos.org
Author: greatlrd Date: Thu Nov 29 12:56:03 2007 New Revision: 30857 URL:
http://svn.reactos.org/svn/reactos?rev=30857&view=rev
Log: revert part of rev30826 that was accented committed Modified: trunk/reactos/dll/directx/ddraw/main.c Modified: trunk/reactos/dll/directx/ddraw/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main.c?r…
============================================================================== --- trunk/reactos/dll/directx/ddraw/main.c (original) +++ trunk/reactos/dll/directx/ddraw/main.c Thu Nov 29 12:56:03 2007 @@ -220,51 +220,28 @@ LONG rc; BOOL EnumerateAttachedSecondaries = FALSE; DWORD privateDWFlags = 0; - CHAR strMsg[RC_STRING_MAX_SIZE]; - HRESULT retVal = DDERR_INVALIDPARAMS; - - DX_WINDBG_trace(); - - if ((IsBadCodePtr((LPVOID)lpCallback) == 0) && - ((dwFlags & ~(DDENUM_NONDISPLAYDEVICES | - DDENUM_DETACHEDSECONDARYDEVICES | - DDENUM_ATTACHEDSECONDARYDEVICES)) == 0)) - { - LoadStringA(hDllModule, STR_PRIMARY_DISPLAY, (LPSTR)&strMsg, RC_STRING_MAX_SIZE); - - rc = RegOpenKeyA(HKEY_LOCAL_MACHINE, REGSTR_PATH_DDHW, &hKey); + + DX_WINDBG_trace(); + + rc = RegOpenKeyA(HKEY_LOCAL_MACHINE, REGSTR_PATH_DDHW, &hKey); + if (rc == ERROR_SUCCESS) + { + /* Enumerate Attached Secondaries */ + cbData = sizeof(DWORD); + rc = RegQueryValueExA(hKey, "EnumerateAttachedSecondaries", NULL, NULL, (LPBYTE)&Value, &cbData); if (rc == ERROR_SUCCESS) { - /* Enumerate Attached Secondaries */ - cbData = sizeof(DWORD); - rc = RegQueryValueExA(hKey, "EnumerateAttachedSecondaries", NULL, NULL, (LPBYTE)&Value, &cbData); - if (rc == ERROR_SUCCESS) - { - if (Value != 0) - { - EnumerateAttachedSecondaries = TRUE; - privateDWFlags = DDENUM_ATTACHEDSECONDARYDEVICES; - } - } - RegCloseKey(hKey); + if (Value != 0) + { + EnumerateAttachedSecondaries = TRUE; + privateDWFlags = DDENUM_ATTACHEDSECONDARYDEVICES; + } } - - /* Call the user supplyed callback function */ - rc = lpCallback(NULL, strMsg, "display", lpContext, NULL); - - /* If the callback function returns DDENUMRET_CANCEL, we will stop enumerating devices now */ - if(rc == DDENUMRET_CANCEL) - { - retVal = DD_OK; - } - else - { - // not finish - retVal = DDERR_UNSUPPORTED; - } - } - - return retVal; + RegCloseKey(hKey); + } + + // not finish + return DDERR_UNSUPPORTED; } HRESULT
17 years
1
0
0
0
[winesync] 30856: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 12:44:39 2007 New Revision: 30856 URL:
http://svn.reactos.org/svn/reactos?rev=30856&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/advpack/advpack.c trunk/reactos/dll/win32/advpack/advpack.rbuild trunk/reactos/dll/win32/advpack/files.c trunk/reactos/dll/win32/advpack/install.c trunk/reactos/dll/win32/advpack/reg.c Modified: trunk/reactos/dll/win32/advpack/advpack.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.…
============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.c (original) +++ trunk/reactos/dll/win32/advpack/advpack.c Thu Nov 29 12:44:39 2007 @@ -49,6 +49,17 @@ 'C','o','m','p','o','n','e','n','t','s',0 }; +/* Strip single quotes from a token - note size includes NULL */ +static void strip_quotes(WCHAR *buffer, DWORD *size) +{ + if (buffer[0] == '\'' && (*size > 1) && buffer[*size-2]=='\'') + { + *size -= 2; + buffer[*size] = 0x00; + memmove(buffer, buffer + 1, *size * sizeof(WCHAR)); + } +} + /* parses the destination directory parameters from pszSection * the parameters are of the form: root,key,value,unknown,fallback * we first read the reg value root\\key\\value and if that fails, @@ -68,8 +79,11 @@ /* load the destination parameters */ SetupFindFirstLineW(hInf, pszSection, NULL, &context); SetupGetStringFieldW(&context, 1, prefix, PREFIX_LEN, &size); + strip_quotes(prefix, &size); SetupGetStringFieldW(&context, 2, key, MAX_PATH, &size); + strip_quotes(key, &size); SetupGetStringFieldW(&context, 3, value, MAX_PATH, &size); + strip_quotes(value, &size); if (!lstrcmpW(prefix, hklm)) root = HKEY_LOCAL_MACHINE; @@ -84,7 +98,8 @@ if (RegOpenKeyW(root, key, &subkey) || RegQueryValueExW(subkey, value, NULL, NULL, (LPBYTE)pszBuffer, &size)) { - SetupGetStringFieldW(&context, 5, pszBuffer, dwSize, NULL); + SetupGetStringFieldW(&context, 5, pszBuffer, dwSize, &size); + strip_quotes(pszBuffer, &size); } RegCloseKey(subkey); @@ -116,6 +131,7 @@ do { LPWSTR value, ptr, key, key_copy = NULL; + DWORD flags = 0; SetupGetLineTextW(&context, NULL, NULL, NULL, line, MAX_FIELD_LENGTH, &size); @@ -141,16 +157,22 @@ while (*value == ' ') value++; - /* FIXME: need to check the query option */ + /* Extract the flags */ ptr = strchrW(value, ','); - if (ptr) + if (ptr) { *ptr = '\0'; + flags = atolW(ptr+1); + } /* set dest to pszWorkingDir if key is SourceDir */ if (pszWorkingDir && !lstrcmpiW(value, source_dir)) lstrcpynW(dest, pszWorkingDir, MAX_PATH); else get_dest_dir(hInf, value, dest, MAX_PATH); + + /* If prompting required, provide dialog to request path */ + if (flags & 0x04) + FIXME("Need to support changing paths - default will be used\n"); /* set all ldids to dest */ while ((ptr = get_parameter(&key, ','))) @@ -365,7 +387,7 @@ return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); set_ldids(*phInf, pszInstallSection, NULL); - + return S_OK; } @@ -672,7 +694,7 @@ else res = HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); } - + HeapFree(GetProcessHeap(), 0, bufferW); } @@ -789,7 +811,7 @@ else res = HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER); } - + HeapFree(GetProcessHeap(), 0, bufferW); } @@ -850,7 +872,7 @@ return SPAPI_E_LINE_NOT_FOUND; } - return S_OK; + return S_OK; } /*********************************************************************** Modified: trunk/reactos/dll/win32/advpack/advpack.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/advpack.…
============================================================================== --- trunk/reactos/dll/win32/advpack/advpack.rbuild (original) +++ trunk/reactos/dll/win32/advpack/advpack.rbuild Thu Nov 29 12:44:39 2007 @@ -1,13 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="advpack" type="win32dll" baseaddress="${BASEADDRESS_ADVPACK}" installbase="system32" installname="advpack.dll" allowwarnings="true"> <importlibrary definition="advpack.spec.def" /> <include base="advpack">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>ole32</library> <library>setupapi</library> Modified: trunk/reactos/dll/win32/advpack/files.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/files.c?…
============================================================================== --- trunk/reactos/dll/win32/advpack/files.c (original) +++ trunk/reactos/dll/win32/advpack/files.c Thu Nov 29 12:44:39 2007 @@ -29,6 +29,7 @@ #include "winternl.h" #include "setupapi.h" #include "advpub.h" +#include "fdi.h" #include "wine/debug.h" #include "wine/unicode.h" #include "advpack_private.h" @@ -109,7 +110,7 @@ * NOTES * If the INI file does not exist before adding entries to it, the file * will be created. - * + * * If lpcszBackupDir is NULL, the INI file is assumed to exist in * c:\windows or created there if it does not exist. */ @@ -122,7 +123,7 @@ static const WCHAR szBackupEntry[] = { '-','1',',','0',',','0',',','0',',','0',',','0',',','-','1',0 }; - + static const WCHAR backslash[] = {'\\',0}; static const WCHAR ini[] = {'.','i','n','i',0}; static const WCHAR backup[] = {'b','a','c','k','u','p',0}; @@ -263,7 +264,7 @@ if (!lpszSourceDir || !lpszSourceFile || !lpszDestDir) return E_INVALIDARG; - + fileQueue = SetupOpenFileQueue(); if (fileQueue == INVALID_HANDLE_VALUE) return HRESULT_FROM_WIN32(GetLastError()); @@ -320,9 +321,9 @@ done: SetupTermDefaultQueueCallback(pContext); SetupCloseFileQueue(fileQueue); - + HeapFree(GetProcessHeap(), 0, szDestFilename); - + return HRESULT_FROM_WIN32(dwLastError); } @@ -385,7 +386,7 @@ ret = S_OK; } } - + return ret; } @@ -419,7 +420,7 @@ * pszFileOrDirName [I] Name of file or directory to delete * dwFlags [I] Flags; see include/advpub.h * - * RETURNS + * RETURNS * Success: S_OK * Failure: E_FAIL * @@ -432,9 +433,9 @@ { WCHAR fname[MAX_PATH]; HRESULT ret = E_FAIL; - + TRACE("(%s, %d)\n", debugstr_w(pszFileOrDirName), dwFlags); - + if (dwFlags) FIXME("Flags ignored!\n"); @@ -515,28 +516,29 @@ /* The following defintions were copied from dlls/cabinet/cabinet.h */ -/* EXTRACTdest flags */ +/* SESSION Operation */ #define EXTRACT_FILLFILELIST 0x00000001 #define EXTRACT_EXTRACTFILES 0x00000002 -struct ExtractFileList { - LPSTR filename; - struct ExtractFileList *next; - BOOL unknown; /* always 1L */ -} ; - -/* the first parameter of the function Extract */ +struct FILELIST{ + LPSTR FileName; + struct FILELIST *next; + BOOL DoExtract; +}; + typedef struct { - long result1; /* 0x000 */ - long unknown1[3]; /* 0x004 */ - struct ExtractFileList *filelist; /* 0x010 */ - long filecount; /* 0x014 */ - DWORD flags; /* 0x018 */ - char directory[0x104]; /* 0x01c */ - char lastfile[0x20c]; /* 0x120 */ -} EXTRACTdest; - -static HRESULT (WINAPI *pExtract)(EXTRACTdest*, LPCSTR); + INT FileSize; + ERF Error; + struct FILELIST *FileList; + INT FileCount; + INT Operation; + CHAR Destination[MAX_PATH]; + CHAR CurrentFile[MAX_PATH]; + CHAR Reserved[MAX_PATH]; + struct FILELIST *FilterList; +} SESSION; + +static HRESULT (WINAPI *pExtract)(SESSION*, LPCSTR); /* removes legal characters before and after file list, and * converts the file list to a NULL-separated list @@ -547,7 +549,7 @@ const char *first = FileList; const char *last = FileList + strlen(FileList) - 1; LPSTR szConvertedList, temp; - + /* any number of these chars before the list is OK */ while (first < last && (*first == ' ' || *first == '\t' || *first == ':')) first++; @@ -572,7 +574,7 @@ HeapFree(GetProcessHeap(), 0, szConvertedList); return NULL; } - + *dwNumFiles = 1; /* convert the colons to double-null termination */ @@ -591,9 +593,9 @@ return szConvertedList; } -static void free_file_node(struct ExtractFileList *pNode) -{ - HeapFree(GetProcessHeap(), 0, pNode->filename); +static void free_file_node(struct FILELIST *pNode) +{ + HeapFree(GetProcessHeap(), 0, pNode->FileName); HeapFree(GetProcessHeap(), 0, pNode); } @@ -619,46 +621,32 @@ return FALSE; } -/* removes nodes from the linked list that aren't specified in szFileList - * returns the number of files that are in both the linked list and szFileList - */ -static DWORD fill_file_list(EXTRACTdest *extractDest, LPCSTR szCabName, LPCSTR szFileList) + +/* returns the number of files that are in both the linked list and szFileList */ +static DWORD fill_file_list(SESSION *session, LPCSTR szCabName, LPCSTR szFileList) { DWORD dwNumFound = 0; - struct ExtractFileList *pNode; - struct ExtractFileList *prev = NULL; - - extractDest->flags |= EXTRACT_FILLFILELIST; - if (pExtract(extractDest, szCabName)) - { - extractDest->flags &= ~EXTRACT_FILLFILELIST; + struct FILELIST *pNode; + + session->Operation |= EXTRACT_FILLFILELIST; + if (pExtract(session, szCabName)) + { + session->Operation &= ~EXTRACT_FILLFILELIST; return -1; } - pNode = extractDest->filelist; + pNode = session->FileList; while (pNode) { - if (file_in_list(pNode->filename, szFileList)) - { - prev = pNode; - pNode = pNode->next; + if (!file_in_list(pNode->FileName, szFileList)) + pNode->DoExtract = FALSE; + else dwNumFound++; - } - else if (prev) - { - prev->next = pNode->next; - free_file_node(pNode); - pNode = prev->next; - } - else - { - extractDest->filelist = pNode->next; - free_file_node(pNode); - pNode = extractDest->filelist; - } - } - - extractDest->flags &= ~EXTRACT_FILLFILELIST; + + pNode = pNode->next; + } + + session->Operation &= ~EXTRACT_FILLFILELIST; return dwNumFound; } @@ -689,8 +677,8 @@ */ HRESULT WINAPI ExtractFilesA(LPCSTR CabName, LPCSTR ExpandDir, DWORD Flags, LPCSTR FileList, LPVOID LReserved, DWORD Reserved) -{ - EXTRACTdest extractDest; +{ + SESSION session; HMODULE hCabinet; HRESULT res = S_OK; DWORD dwFileCount = 0; @@ -717,8 +705,8 @@ goto done; } - ZeroMemory(&extractDest, sizeof(EXTRACTdest)); - lstrcpyA(extractDest.directory, ExpandDir); + ZeroMemory(&session, sizeof(SESSION)); + lstrcpyA(session.Destination, ExpandDir); if (FileList) { @@ -729,7 +717,7 @@ goto done; } - dwFilesFound = fill_file_list(&extractDest, CabName, szConvertedList); + dwFilesFound = fill_file_list(&session, CabName, szConvertedList); if (dwFilesFound != dwFileCount) { res = E_FAIL; @@ -737,15 +725,15 @@ } } else - extractDest.flags |= EXTRACT_FILLFILELIST; - - extractDest.flags |= EXTRACT_EXTRACTFILES; - res = pExtract(&extractDest, CabName); - - if (extractDest.filelist) - { - struct ExtractFileList* curr = extractDest.filelist; - struct ExtractFileList* next; + session.Operation |= EXTRACT_FILLFILELIST; + + session.Operation |= EXTRACT_EXTRACTFILES; + res = pExtract(&session, CabName); + + if (session.FileList) + { + struct FILELIST *curr = session.FileList; + struct FILELIST *next; while (curr) { @@ -824,7 +812,7 @@ RtlFreeUnicodeString(&basename); return hr; -} +} /*********************************************************************** * FileSaveRestoreW (ADVPACK.@) Modified: trunk/reactos/dll/win32/advpack/install.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/install.…
============================================================================== --- trunk/reactos/dll/win32/advpack/install.c (original) +++ trunk/reactos/dll/win32/advpack/install.c Thu Nov 29 12:44:39 2007 @@ -82,7 +82,7 @@ DWORD size; BOOL ok = SetupFindFirstLineW(hinf, field, NULL, &context); - + for (; ok; ok = SetupFindNextLine(&context, &context)) { WCHAR directory[MAX_INF_STRING_LENGTH]; @@ -148,7 +148,7 @@ HRESULT hr = S_OK; BOOL ok = SetupFindFirstLineW(hinf, field, NULL, &context); - + for (; ok; ok = SetupFindNextLine(&context, &context)) { WCHAR buffer[MAX_INF_STRING_LENGTH]; @@ -633,7 +633,7 @@ RtlCreateUnicodeStringFromAsciiz(&inf, pCab->pszInf); RtlCreateUnicodeStringFromAsciiz(§ion, pCab->pszSection); - + MultiByteToWideChar(CP_ACP, 0, pCab->szSrcPath, -1, cabinfo.szSrcPath, sizeof(cabinfo.szSrcPath) / sizeof(WCHAR)); @@ -654,14 +654,14 @@ /*********************************************************************** * ExecuteCabW (ADVPACK.@) - * + * * Installs the INF file extracted from a specified cabinet file. - * + * * PARAMS * hwnd [I] Handle to the window used for the display. * pCab [I] Information about the cabinet file. * pReserved [I] Reserved. Must be NULL. - * + * * RETURNS * Success: S_OK. * Failure: E_FAIL. Modified: trunk/reactos/dll/win32/advpack/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/reg.c?re…
============================================================================== --- trunk/reactos/dll/win32/advpack/reg.c (original) +++ trunk/reactos/dll/win32/advpack/reg.c Thu Nov 29 12:44:39 2007 @@ -77,7 +77,7 @@ if(!rsrc_data || !rsrc_size) { ERR("Can't load REGINST resource\n"); goto error; - } + } if((hf = CreateFileW(ini_file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE) { @@ -213,7 +213,7 @@ * hm [I] Module that contains the REGINST resouce. * pszSection [I] The INF section to execute. * pstTable [I] Table of string substitutions. - * + * * RETURNS * Success: S_OK. * Failure: E_FAIL. @@ -239,11 +239,11 @@ for(i = 0; i < pstTable->cEntries; i++) { WCHAR tmp_value[MAX_PATH + 2]; - + tmp_value[0] = '\"'; lstrcpyW(tmp_value + 1, pstTable->pse[i].pszValue); lstrcatW(tmp_value, quote); - + WritePrivateProfileStringW(Strings, pstTable->pse[i].pszName, tmp_value, tmp_ini_path); } } @@ -307,8 +307,8 @@ HRESULT WINAPI RegRestoreAllW(HWND hWnd, LPWSTR pszTitleString, HKEY hkBackupKey) { FIXME("(%p, %s, %p) stub\n", hWnd, debugstr_w(pszTitleString), hkBackupKey); - - return E_FAIL; + + return E_FAIL; } /*********************************************************************** @@ -354,9 +354,9 @@ * hkBackupKey [I] Key used to store the backup data. * pcszRootKey [I] Root key of the registry value * pcszSubKey [I] Sub key of the registry value. - * pcszValueName [I] Value to save or restore. + * pcszValueName [I] Value to save or restore. * dwFlags [I] See advpub.h. - * + * * RETURNS * Success: S_OK. * Failure: E_FAIL. @@ -372,7 +372,7 @@ hkBackupKey, debugstr_w(pcszRootKey), debugstr_w(pcszSubKey), debugstr_w(pcszValueName), dwFlags); - return E_FAIL; + return E_FAIL; } /*********************************************************************** @@ -434,5 +434,5 @@ debugstr_w(pszINF), debugstr_w(pszSection), hHKLMBackKey, hHKCUBackKey, dwFlags); - return E_FAIL; -} + return E_FAIL; +}
17 years
1
0
0
0
[winesync] 30855: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Thu Nov 29 12:38:17 2007 New Revision: 30855 URL:
http://svn.reactos.org/svn/reactos?rev=30855&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/avifil32/avifile_Sv.rc (with props) Modified: trunk/reactos/dll/win32/avifil32/api.c trunk/reactos/dll/win32/avifil32/avifil32.rbuild trunk/reactos/dll/win32/avifil32/avifil32_ros.diff trunk/reactos/dll/win32/avifil32/avifile.c trunk/reactos/dll/win32/avifil32/avifile_Cs.rc trunk/reactos/dll/win32/avifil32/avifile_De.rc trunk/reactos/dll/win32/avifil32/avifile_En.rc trunk/reactos/dll/win32/avifil32/avifile_Es.rc trunk/reactos/dll/win32/avifil32/avifile_Fr.rc trunk/reactos/dll/win32/avifil32/avifile_Hu.rc trunk/reactos/dll/win32/avifil32/avifile_Ja.rc trunk/reactos/dll/win32/avifil32/avifile_Ko.rc trunk/reactos/dll/win32/avifil32/avifile_Nl.rc trunk/reactos/dll/win32/avifil32/avifile_No.rc trunk/reactos/dll/win32/avifil32/avifile_Pl.rc trunk/reactos/dll/win32/avifil32/avifile_Pt.rc trunk/reactos/dll/win32/avifil32/avifile_Ru.rc trunk/reactos/dll/win32/avifil32/avifile_Si.rc trunk/reactos/dll/win32/avifil32/avifile_Tr.rc trunk/reactos/dll/win32/avifil32/avifile_Uk.rc trunk/reactos/dll/win32/avifil32/editstream.c trunk/reactos/dll/win32/avifil32/getframe.c trunk/reactos/dll/win32/avifil32/icmstream.c trunk/reactos/dll/win32/avifil32/regsvr.c trunk/reactos/dll/win32/avifil32/rsrc.rc trunk/reactos/dll/win32/avifil32/wavfile.c Modified: trunk/reactos/dll/win32/avifil32/api.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/api.c?r…
============================================================================== --- trunk/reactos/dll/win32/avifil32/api.c (original) +++ trunk/reactos/dll/win32/avifil32/api.c Thu Nov 29 12:38:17 2007 @@ -550,7 +550,7 @@ * AVIStreamFindSample (AVIFIL32.@) * AVIStreamFindSample (AVIFILE.163) */ -HRESULT WINAPI AVIStreamFindSample(PAVISTREAM pstream, LONG pos, DWORD flags) +LONG WINAPI AVIStreamFindSample(PAVISTREAM pstream, LONG pos, LONG flags) { TRACE("(%p,%d,0x%X)\n", pstream, pos, flags); @@ -1159,7 +1159,7 @@ break; } } - + memcpy(szFilter, szAllFiles, size * sizeof(szAllFiles[0])); szFilter += size; szFilter[0] = 0; @@ -1827,7 +1827,7 @@ if (curStream != 0) { lFirstVideo = AVIStreamSampleToSample(pInStreams[curStream], pInStreams[0], - (sInfo.fccType == streamtypeVIDEO ? + (sInfo.fccType == streamtypeVIDEO ? (LONG)dwInterleave : lSampleInc) + sInfo.dwInitialFrames + lCurFrame); } else @@ -1913,7 +1913,7 @@ hres = AVIStreamReadFormat(pInStreams[curStream], sInfo.dwStart, lpBuffer, &lBufferSize); if (FAILED(hres)) - return hres; + goto error; AVIStreamSetFormat(pOutStreams[curStream], sInfo.dwStart, lpBuffer, lBufferSize); Modified: trunk/reactos/dll/win32/avifil32/avifil32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifil3…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifil32.rbuild (original) +++ trunk/reactos/dll/win32/avifil32/avifil32.rbuild Thu Nov 29 12:38:17 2007 @@ -1,14 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="avifil32" type="win32dll" baseaddress="${BASEADDRESS_AVIFIL32}" installbase="system32" installname="avifil32.dll" allowwarnings="true"> <autoregister infsection="OleControlDlls" type="DllRegisterServer" /> <importlibrary definition="avifil32.spec.def" /> <include base="avifil32">.</include> <include base="ReactOS">include/reactos/wine</include> - <define name="__REACTOS__" /> <define name="__WINESRC__" /> - <define name="__USE_W32API" /> - <define name="_WIN32_IE">0x600</define> - <define name="_WIN32_WINNT">0x501</define> - <define name="WINVER">0x501</define> + <define name="WINVER">0x600</define> + <define name="_WIN32_WINNT">0x600</define> <library>wine</library> <library>msacm32</library> <library>msvfw32</library> Modified: trunk/reactos/dll/win32/avifil32/avifil32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifil3…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifil32_ros.diff (original) +++ trunk/reactos/dll/win32/avifil32/avifil32_ros.diff Thu Nov 29 12:38:17 2007 @@ -63,8 +63,8 @@ =================================================================== --- rsrc.rc (revision 23782) +++ rsrc.rc (working copy) -@@ -54,3 +54,4 @@ - #include "avifile_Ru.rc" +@@ -55,3 +55,4 @@ #include "avifile_Si.rc" + #include "avifile_Sv.rc" #include "avifile_Tr.rc" +#include "avifile_Uk.rc" Modified: trunk/reactos/dll/win32/avifil32/avifile.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile.c (original) +++ trunk/reactos/dll/win32/avifil32/avifile.c Thu Nov 29 12:38:17 2007 @@ -1018,14 +1018,15 @@ lppc->peNew[n].peFlags = 0; } - if (mmioSeek(This->paf->hmmio, This->paf->dwNextFramePos, SEEK_SET) == -1) + if (mmioSeek(This->paf->hmmio, This->paf->dwNextFramePos, SEEK_SET) == -1 || + mmioCreateChunk(This->paf->hmmio, &ck, 0) != S_OK || + mmioWrite(This->paf->hmmio, (HPSTR)lppc, ck.cksize) != ck.cksize || + mmioAscend(This->paf->hmmio, &ck, 0) != S_OK) + { + HeapFree(GetProcessHeap(), 0, lppc); return AVIERR_FILEWRITE; - if (mmioCreateChunk(This->paf->hmmio, &ck, 0) != S_OK) - return AVIERR_FILEWRITE; - if (mmioWrite(This->paf->hmmio, (HPSTR)lppc, ck.cksize) != ck.cksize) - return AVIERR_FILEWRITE; - if (mmioAscend(This->paf->hmmio, &ck, 0) != S_OK) - return AVIERR_FILEWRITE; + } + This->paf->dwNextFramePos += ck.cksize + 2 * sizeof(DWORD); HeapFree(GetProcessHeap(), 0, lppc); @@ -1939,6 +1940,7 @@ HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pStream->nIdxFrames * sizeof(AVIINDEXENTRY)); if (pStream->idxFrames == NULL && pStream->nIdxFrames > 0) { pStream->nIdxFrames = 0; + HeapFree(GetProcessHeap(), 0, lp); return AVIERR_MEMORY; } } @@ -2248,7 +2250,7 @@ ck.cksize, NULL, NULL); if (mmioWrite(This->hmmio, (HPSTR)str, ck.cksize) != ck.cksize) { - HeapFree(GetProcessHeap(), 0, str); + HeapFree(GetProcessHeap(), 0, str); return AVIERR_FILEWRITE; } Modified: trunk/reactos/dll/win32/avifil32/avifile_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Cs.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Cs.rc Thu Nov 29 12:38:17 2007 @@ -30,7 +30,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Vyber datový proud:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "V&olby...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "Prolo&it kadých",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_De.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_De.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Wählen Sie die Eingangsdaten aus:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Optionen...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_En.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_En.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Choose a stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Options...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Es.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Es.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Es.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Elija un stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Opciones...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave cada",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Fr.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Fr.rc Thu Nov 29 12:38:17 2007 @@ -28,13 +28,13 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Sélectionnez un flux :",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Options...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Imbriquer à chaque",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL LTEXT "images",-1,104,43,36,9 - LTEXT "Format actuel :",-1,3,56,53,9 + LTEXT "Format actuel :",-1,3,56,53,9 LTEXT "Cet espace est à louer",IDC_FORMATTEXT,55,56,90,26 DEFPUSHBUTTON "OK",IDOK,145,42,45,14 PUSHBUTTON "Annuler",IDCANCEL,145,61,45,14 @@ -42,7 +42,7 @@ STRINGTABLE DISCARDABLE { - IDS_WAVESTREAMFORMAT "Waveform: %s" + IDS_WAVESTREAMFORMAT "Waveform : %s" IDS_WAVEFILETYPE "Waveform" IDS_ALLMULTIMEDIA "Tous les fichiers multimédias" IDS_ALLFILES "Tous les fichier (*.*)(a)*.*" Modified: trunk/reactos/dll/win32/avifil32/avifile_Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Hu.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Hu.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Válassuon folyamot:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Opciók...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Beékel minden",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ja.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ja.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 9, "MS UI Gothic" BEGIN LTEXT "Xg[ðIð(&C):",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "IvV(&O)...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "C^[[u(&I)",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ko.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ko.rc Thu Nov 29 12:38:17 2007 @@ -25,7 +25,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "½ºÆ®¸² ¼±ÅÃ(&C):",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "¿É¼Ç(&O)...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "Ç×»ó »óÈ£¹èÄ¡(&I)",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Nl.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Nl.rc Thu Nov 29 12:38:17 2007 @@ -26,7 +26,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Kies een invoerbestand:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Opties...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave alle",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_No.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_No.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Velg en strøm:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "I&nnstillinger . . .",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "Sett &inn for hver",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Pl.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Pl.rc Thu Nov 29 12:38:17 2007 @@ -25,14 +25,14 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Wybierz strumieñ:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Opcje...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Przeplot co",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL LTEXT "klatek",-1,104,43,36,9 LTEXT "Wybrany format:",-1,2,56,53,9 - LTEXT "Zarezerwownae miejsce",IDC_FORMATTEXT,55,56,90,26 + LTEXT "Zarezerwowane miejsce",IDC_FORMATTEXT,55,56,90,26 DEFPUSHBUTTON "OK",IDOK,145,42,45,14 PUSHBUTTON "Anuluj",IDCANCEL,145,61,45,14 END Modified: trunk/reactos/dll/win32/avifil32/avifile_Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Pt.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Pt.rc Thu Nov 29 12:38:17 2007 @@ -25,7 +25,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Escolha a stream:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Opções...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Ru.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Ru.rc Thu Nov 29 12:38:17 2007 @@ -26,7 +26,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Âûáåðèòå ïîòîê:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Îïöèè...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Ïðîñëàèâàòü êàæäûå",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Si.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Si.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Si.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Izbira toka:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Monosti ...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Preplet vsake",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Added: trunk/reactos/dll/win32/avifil32/avifile_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Sv.rc (added) +++ trunk/reactos/dll/win32/avifil32/avifile_Sv.rc Thu Nov 29 12:38:17 2007 @@ -1,0 +1,50 @@ +/* + * Copyright 2007 Daniel Nylander + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT + +IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 196, 82 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Komprimeringsalternativ" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "&Välj en ström:",-1,2,5,114,10 + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + WS_TABSTOP + PUSHBUTTON "A<ernativ...",IDC_OPTIONS,145,17,45,14 + AUTOCHECKBOX "&Interfoliera varje",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP + EDITTEXT IDC_INTERLEAVEEVERY,66,41,32,12,ES_AUTOHSCROLL + LTEXT "frames",-1,104,43,36,9 + LTEXT "Aktuellt format:",-1,3,56,53,9 + LTEXT "Detta utrymme uthyres",IDC_FORMATTEXT,55,56,90,26 + DEFPUSHBUTTON "OK",IDOK,145,42,45,14 + PUSHBUTTON "Avbryt",IDCANCEL,145,61,45,14 +END + +STRINGTABLE DISCARDABLE +{ + IDS_WAVESTREAMFORMAT "Vågform: %s" + IDS_WAVEFILETYPE "Vågform" + IDS_ALLMULTIMEDIA "Alla multimediafiler" + IDS_ALLFILES "Alla filer (*.*)(a)*.*" + IDS_VIDEO "video" + IDS_AUDIO "ljud" + IDS_AVISTREAMFORMAT "%s %s #%d" + IDS_AVIFILETYPE "Wine AVI-standardfilhanterare" + IDS_UNCOMPRESSED "okomprimerad" +} Propchange: trunk/reactos/dll/win32/avifil32/avifile_Sv.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/win32/avifil32/avifile_Tr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Tr.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Tr.rc Thu Nov 29 12:38:17 2007 @@ -24,7 +24,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Bir akýþ se&çin:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Seçenekler...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/avifile_Uk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/avifile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/avifile_Uk.rc (original) +++ trunk/reactos/dll/win32/avifil32/avifile_Uk.rc Thu Nov 29 12:38:17 2007 @@ -14,7 +14,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Îáåð³òü ïîò³ê:",-1,2,5,114,10 - COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_STREAM,2,18,134,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Ï&àðàìåòðè...",IDC_OPTIONS,145,17,45,14 AUTOCHECKBOX "&²íòåðâàë ÷åðãóâàííÿ",IDC_INTERLEAVE,3,42,60,11,WS_TABSTOP Modified: trunk/reactos/dll/win32/avifil32/editstream.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/editstr…
============================================================================== --- trunk/reactos/dll/win32/avifil32/editstream.c (original) +++ trunk/reactos/dll/win32/avifil32/editstream.c Thu Nov 29 12:38:17 2007 @@ -653,7 +653,7 @@ nLastStream++; nStreams = nLastStream - streamNr; - } else + } else nStreams = 1; if (This->nStreams + nStreams + 1 > This->nTableSize) { n = This->nStreams + nStreams + 33; @@ -944,7 +944,7 @@ } else n = 0; n += lp->biSize; - + memcpy(format, lp, min((LONG)n, *fmtsize)); hr = ((LONG)n > *fmtsize ? AVIERR_BUFFERTOOSMALL : AVIERR_OK); *fmtsize = n; Modified: trunk/reactos/dll/win32/avifil32/getframe.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/getfram…
============================================================================== --- trunk/reactos/dll/win32/avifil32/getframe.c (original) +++ trunk/reactos/dll/win32/avifil32/getframe.c Thu Nov 29 12:38:17 2007 @@ -387,7 +387,7 @@ /* only to pass through? */ if (This->lpInFormat->biCompression == BI_RGB && lpBits == NULL) { - if (lpbi == NULL || + if (lpbi == NULL || (lpbi->biCompression == BI_RGB && lpbi->biWidth == This->lpInFormat->biWidth && lpbi->biHeight == This->lpInFormat->biHeight && Modified: trunk/reactos/dll/win32/avifil32/icmstream.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/icmstre…
============================================================================== --- trunk/reactos/dll/win32/avifil32/icmstream.c (original) +++ trunk/reactos/dll/win32/avifil32/icmstream.c Thu Nov 29 12:38:17 2007 @@ -815,7 +815,7 @@ dwMinQual = ICQUALITY_LOW; noPrev = TRUE; - if ((icmFlags & ICCOMPRESS_KEYFRAME) == 0 && + if ((icmFlags & ICCOMPRESS_KEYFRAME) == 0 && (This->dwICMFlags & VIDCF_FASTTEMPORALC) == 0) noPrev = FALSE; Modified: trunk/reactos/dll/win32/avifil32/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/regsvr.…
============================================================================== --- trunk/reactos/dll/win32/avifil32/regsvr.c (original) +++ trunk/reactos/dll/win32/avifil32/regsvr.c Thu Nov 29 12:38:17 2007 @@ -116,9 +116,6 @@ static LONG register_progid(WCHAR const *clsid, char const *progid, char const *curver_progid, char const *name, char const *extra); -static LONG recursive_delete_key(HKEY key); -static LONG recursive_delete_keyA(HKEY base, char const *name); -static LONG recursive_delete_keyW(HKEY base, WCHAR const *name); /*********************************************************************** * register_interfaces @@ -207,7 +204,8 @@ WCHAR buf[39]; StringFromGUID2(list->iid, buf, 39); - res = recursive_delete_keyW(interface_key, buf); + res = RegDeleteTreeW(interface_key, buf); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; } RegCloseKey(interface_key); @@ -314,16 +312,19 @@ WCHAR buf[39]; StringFromGUID2(list->clsid, buf, 39); - res = recursive_delete_keyW(coclass_key, buf); + res = RegDeleteTreeW(coclass_key, buf); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; if (list->progid) { - res = recursive_delete_keyA(HKEY_CLASSES_ROOT, list->progid); + res = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->progid); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } if (list->viprogid) { - res = recursive_delete_keyA(HKEY_CLASSES_ROOT, list->viprogid); + res = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->viprogid); + if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; if (res != ERROR_SUCCESS) goto error_close_coclass_key; } } @@ -432,70 +433,6 @@ error_close_progid_key: RegCloseKey(progid_key); - return res; -} - -/*********************************************************************** - * recursive_delete_key - */ -static LONG recursive_delete_key(HKEY key) -{ - LONG res; - WCHAR subkey_name[MAX_PATH]; - DWORD cName; - HKEY subkey; - - for (;;) { - cName = sizeof(subkey_name) / sizeof(WCHAR); - res = RegEnumKeyExW(key, 0, subkey_name, &cName, - NULL, NULL, NULL, NULL); - if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA) { - res = ERROR_SUCCESS; /* presumably we're done enumerating */ - break; - } - res = RegOpenKeyExW(key, subkey_name, 0, - KEY_READ | KEY_WRITE, &subkey); - if (res == ERROR_FILE_NOT_FOUND) continue; - if (res != ERROR_SUCCESS) break; - - res = recursive_delete_key(subkey); - RegCloseKey(subkey); - if (res != ERROR_SUCCESS) break; - } - - if (res == ERROR_SUCCESS) res = RegDeleteKeyW(key, 0); - return res; -} - -/*********************************************************************** - * recursive_delete_keyA - */ -static LONG recursive_delete_keyA(HKEY base, char const *name) -{ - LONG res; - HKEY key; - - res = RegOpenKeyExA(base, name, 0, KEY_READ | KEY_WRITE, &key); - if (res == ERROR_FILE_NOT_FOUND) return ERROR_SUCCESS; - if (res != ERROR_SUCCESS) return res; - res = recursive_delete_key(key); - RegCloseKey(key); - return res; -} - -/*********************************************************************** - * recursive_delete_keyW - */ -static LONG recursive_delete_keyW(HKEY base, WCHAR const *name) -{ - LONG res; - HKEY key; - - res = RegOpenKeyExW(base, name, 0, KEY_READ | KEY_WRITE, &key); - if (res == ERROR_FILE_NOT_FOUND) return ERROR_SUCCESS; - if (res != ERROR_SUCCESS) return res; - res = recursive_delete_key(key); - RegCloseKey(key); return res; } Modified: trunk/reactos/dll/win32/avifil32/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/rsrc.rc…
============================================================================== --- trunk/reactos/dll/win32/avifil32/rsrc.rc (original) +++ trunk/reactos/dll/win32/avifil32/rsrc.rc Thu Nov 29 12:38:17 2007 @@ -53,5 +53,6 @@ #include "avifile_Pt.rc" #include "avifile_Ru.rc" #include "avifile_Si.rc" +#include "avifile_Sv.rc" #include "avifile_Tr.rc" #include "avifile_Uk.rc" Modified: trunk/reactos/dll/win32/avifil32/wavfile.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/avifil32/wavfile…
============================================================================== --- trunk/reactos/dll/win32/avifil32/wavfile.c (original) +++ trunk/reactos/dll/win32/avifil32/wavfile.c Thu Nov 29 12:38:17 2007 @@ -915,7 +915,7 @@ if (bytesread != NULL) *bytesread = buffersize; if (samplesread != NULL) - *samplesread = samples; + *samplesread = samples; return AVIERR_OK; }
17 years
1
0
0
0
[hpoussin] 30854: Add a few more GUIDs to uuid library
by hpoussin@svn.reactos.org
Author: hpoussin Date: Thu Nov 29 12:33:35 2007 New Revision: 30854 URL:
http://svn.reactos.org/svn/reactos?rev=30854&view=rev
Log: Add a few more GUIDs to uuid library Modified: trunk/reactos/lib/sdk/uuid/uuid.c Modified: trunk/reactos/lib/sdk/uuid/uuid.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/uuid/uuid.c?rev=30…
============================================================================== --- trunk/reactos/lib/sdk/uuid/uuid.c (original) +++ trunk/reactos/lib/sdk/uuid/uuid.c Thu Nov 29 12:33:35 2007 @@ -77,9 +77,11 @@ #endif /* GUIDs not declared in an exported header file */ -DEFINE_GUID(IID_IDirectPlaySP,0xc9f6360,0xcc61,0x11cf,0xac,0xec,0x00,0xaa,0x00,0x68,0x86,0xe3); -DEFINE_GUID(IID_ISFHelper,0x1fe68efb,0x1874,0x9812,0x56,0xdc,0x00,0x00,0x00,0x00,0x00,0x00); -DEFINE_GUID(IID_IDPLobbySP,0x5a4e5a20,0x2ced,0x11d0,0xa8,0x89,0x00,0xa0,0xc9,0x05,0x43,0x3c); +DEFINE_GUID(IID_IDirectPlaySP, 0x0c9f6360,0xcc61,0x11cf,0xac,0xec,0x00,0xaa,0x00,0x68,0x86,0xe3); +DEFINE_GUID(IID_ISFHelper, 0x1fe68efb,0x1874,0x9812,0x56,0xdc,0x00,0x00,0x00,0x00,0x00,0x00); +DEFINE_GUID(IID_IDPLobbySP, 0x5a4e5a20,0x2ced,0x11d0,0xa8,0x89,0x00,0xa0,0xc9,0x05,0x43,0x3c); +DEFINE_GUID(IID_IProxyManager, 0x00000008,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); +DEFINE_GUID(IID_IBindStatusCallbackHolder,0x79eac9cc,0xbaf9,0x11ce,0x8c,0x82,0x00,0xaa,0x00,0x4b,0xa9,0x0b); DEFINE_GUID(FMTID_SummaryInformation,0xF29F85E0,0x4FF9,0x1068,0xAB,0x91,0x08,0x00,0x2B,0x27,0xB3,0xD9); DEFINE_GUID(FMTID_DocSummaryInformation,0xD5CDD502,0x2E9C,0x101B,0x93,0x97,0x08,0x00,0x2B,0x2C,0xF9,0xAE);
17 years
1
0
0
0
[hpoussin] 30853: Add some prototypes
by hpoussin@svn.reactos.org
Author: hpoussin Date: Thu Nov 29 12:32:43 2007 New Revision: 30853 URL:
http://svn.reactos.org/svn/reactos?rev=30853&view=rev
Log: Add some prototypes Added: trunk/reactos/include/psdk/mapiform.h (with props) trunk/reactos/include/reactos/wine/irot.idl (with props) Modified: trunk/reactos/include/psdk/npapi.h trunk/reactos/include/psdk/shlguid.h trunk/reactos/include/psdk/shlobj.h trunk/reactos/include/psdk/urlmon.idl trunk/reactos/include/psdk/vfw.h trunk/reactos/include/psdk/wincrypt.h trunk/reactos/include/psdk/winerror.h trunk/reactos/include/psdk/winnls.h trunk/reactos/include/reactos/wine/wineheaders.rbuild Added: trunk/reactos/include/psdk/mapiform.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/mapiform.h?re…
============================================================================== --- trunk/reactos/include/psdk/mapiform.h (added) +++ trunk/reactos/include/psdk/mapiform.h Thu Nov 29 12:32:43 2007 @@ -1,0 +1,47 @@ +/* + * Copyright (C) 1998 Justin Bradford + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef MAPIFORM_H +#define MAPIFORM_H + +#include <mapidefs.h> +#include <mapicode.h> +#include <mapiguid.h> +#include <mapitags.h> + + +typedef ULONG HFRMREG; +#define HFRMREG_DEFAULT 0 +#define HFRMREG_LOCAL 1 +#define HFRMREG_PERSONAL 2 +#define HFRMREG_FOLDER 3 + +typedef const char **LPPCSTR; + + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT WINAPI MAPIOpenLocalFormContainer(LPVOID*); + +#ifdef __cplusplus +} +#endif + +#endif /* MAPIFORM_H */ Propchange: trunk/reactos/include/psdk/mapiform.h ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/include/psdk/npapi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/npapi.h?rev=3…
============================================================================== --- trunk/reactos/include/psdk/npapi.h (original) +++ trunk/reactos/include/psdk/npapi.h Thu Nov 29 12:32:43 2007 @@ -40,6 +40,9 @@ #define WNNC_DLG_PROPERTYDIALOG 0x00000020 #define WNNC_DLG_SEARCHDIALOG 0x00000040 #define WNNC_DLG_FORMATNETWORKNAME 0x00000080 +#define WNNC_DLG_PERMISSIONEDITOR 0x00000100 +#define WNNC_DLG_GETRESOURCEPARENT 0x00000200 +#define WNNC_DLG_GETRESOURCEINFORMATION 0x00000800 #define WNNC_ADMIN 0x00000009 #define WNNC_ADM_GETDIRECTORYTYPE 0x00000001 @@ -48,6 +51,7 @@ #define WNNC_ENUMERATION 0x0000000b #define WNNC_ENUM_GLOBAL 0x00000001 #define WNNC_ENUM_LOCAL 0x00000002 +#define WNNC_ENUM_CONTEXT 0x00000004 #define WNNC_START 0x0000000c #define WNNC_WAIT_FOR_START 0x00000001 @@ -64,6 +68,8 @@ typedef DWORD APIENTRY (*PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize); typedef DWORD APIENTRY (*PF_NPCloseEnum)(HANDLE hEnum); +typedef DWORD (APIENTRY *PF_NPGetResourceInformation)(LPNETRESOURCEW lpNetResource, + LPVOID lpBuffer, LPDWORD lpcbBuffer, LPWSTR* lplpSystem); /* connection-related */ typedef DWORD APIENTRY (*PF_NPAddConnection)(LPNETRESOURCEW lpNetResource, Modified: trunk/reactos/include/psdk/shlguid.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shlguid.h?rev…
============================================================================== --- trunk/reactos/include/psdk/shlguid.h (original) +++ trunk/reactos/include/psdk/shlguid.h Thu Nov 29 12:32:43 2007 @@ -57,7 +57,10 @@ DEFINE_GUID(IID_IACList, 0x77A130B0L,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0xD7,0xD0,0x62); DEFINE_GUID(IID_IACList2, 0x470141A0L,0x5186,0x11D2,0xBB,0xB6,0x00,0x60,0x97,0x7B,0x46,0x4C); DEFINE_GUID(IID_IObjMgr, 0x00BB2761L,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62); +DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4); + DEFINE_GUID(CLSID_NewMenu, 0xd969A300L,0xe7FF,0x11D0,0xA9,0x3B,0x00,0xA0,0xC9,0x0F,0x27,0x19); + /* avoid duplicate definitions with shobjidl.h (FIXME) */ /* DEFINE_SHLGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0); */ /* DEFINE_SHLGUID(IID_IExtractIconA, 0x000214EBL, 0, 0); */ @@ -122,6 +125,8 @@ DEFINE_GUID(CLSID_AutoComplete, 0x00bb2763, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62); DEFINE_GUID(CLSID_ACLMulti, 0x00bb2765, 0x6a77, 0x11d0, 0xa5, 0x35, 0x00, 0xc0, 0x4f, 0xd7, 0xd0, 0x62); +DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4); + #define PSGUID_SHELLDETAILS {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0} DEFINE_GUID(FMTID_ShellDetails, 0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0); #define PID_FINDDATA 0 Modified: trunk/reactos/include/psdk/shlobj.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shlobj.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/shlobj.h (original) +++ trunk/reactos/include/psdk/shlobj.h Thu Nov 29 12:32:43 2007 @@ -370,6 +370,58 @@ #define IACList_Expand(p,a) (p)->lpVtbl->Expand(p,a) #endif +/* IProgressDialog interface */ +#define PROGDLG_NORMAL 0x00000000 +#define PROGDLG_MODAL 0x00000001 +#define PROGDLG_AUTOTIME 0x00000002 +#define PROGDLG_NOTIME 0x00000004 +#define PROGDLG_NOMINIMIZE 0x00000008 +#define PROGDLG_NOPROGRESSBAR 0x00000010 +#define PROGDLG_MARQUEEPROGRESS 0x00000020 +#define PROGDLG_NOCANCEL 0x00000040 + +#define PDTIMER_RESET 0x00000001 +#define PDTIMER_PAUSE 0x00000002 +#define PDTIMER_RESUME 0x00000003 + +#define INTERFACE IProgressDialog +DECLARE_INTERFACE_(IProgressDialog,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + /*** IProgressDialog methods ***/ + STDMETHOD(StartProgressDialog)(THIS_ HWND hwndParent, IUnknown *punkEnableModeless, DWORD dwFlags, LPCVOID reserved) PURE; + STDMETHOD(StopProgressDialog)(THIS) PURE; + STDMETHOD(SetTitle)(THIS_ LPCWSTR pwzTitle) PURE; + STDMETHOD(SetAnimation)(THIS_ HINSTANCE hInstance, UINT uiResourceId) PURE; + STDMETHOD_(BOOL,HasUserCancelled)(THIS) PURE; + STDMETHOD(SetProgress)(THIS_ DWORD dwCompleted, DWORD dwTotal) PURE; + STDMETHOD(SetProgress64)(THIS_ ULONGLONG ullCompleted, ULONGLONG ullTotal) PURE; + STDMETHOD(SetLine)(THIS_ DWORD dwLineNum, LPCWSTR pwzString, BOOL bPath, LPCVOID reserved) PURE; + STDMETHOD(SetCancelMsg)(THIS_ LPCWSTR pwzCancelMsg, LPCVOID reserved) PURE; + STDMETHOD(Timer)(THIS_ DWORD dwTimerAction, LPCVOID reserved) PURE; +}; +#undef INTERFACE + +#if !defined(__cplusplus) || defined(CINTERFACE) +/*** IUnknown methods ***/ +#define IProgressDialog_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IProgressDialog_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IProgressDialog_Release(p) (p)->lpVtbl->Release(p) +/*** IProgressDialog methods ***/ +#define IProgressDialog_StartProgressDialog(p,a,b,c,d) (p)->lpVtbl->StartProgressDialog(p,a,b,c,d) +#define IProgressDialog_StopProgressDialog(p) (p)->lpVtbl->StopProgressDialog(p) +#define IProgressDialog_SetTitle(p,a) (p)->lpVtbl->SetTitle(p,a) +#define IProgressDialog_SetAnimation(p,a,b) (p)->lpVtbl->SetAnimation(p,a,b) +#define IProgressDialog_HasUserCancelled(p) (p)->lpVtbl->HasUserCancelled(p) +#define IProgressDialog_SetProgress(p,a,b) (p)->lpVtbl->SetProgress(p,a,b) +#define IProgressDialog_SetProgress64(p,a,b) (p)->lpVtbl->SetProgress64(p,a,b) +#define IProgressDialog_SetLine(p,a,b,c,d) (p)->lpVtbl->SetLine(p,a,b,c,d) +#define IProgressDialog_SetCancelMsg(p,a,b) (p)->lpVtbl->SetCancelMsg(p,a,b) +#define IProgressDialog_Timer(p,a,b) (p)->lpVtbl->Timer(p,a,b) +#endif /* IDockingWindowFrame interface */ #define INTERFACE IDockingWindow Modified: trunk/reactos/include/psdk/urlmon.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/urlmon.idl?re…
============================================================================== --- trunk/reactos/include/psdk/urlmon.idl (original) +++ trunk/reactos/include/psdk/urlmon.idl Thu Nov 29 12:32:43 2007 @@ -1278,6 +1278,12 @@ cpp_quote("void WINAPI ReleaseBindInfo(BINDINFO*);") cpp_quote("HRESULT WINAPI UrlMkGetSessionOption(DWORD,LPVOID,DWORD,DWORD*,DWORD);") cpp_quote("HRESULT WINAPI UrlMkSetSessionOption(DWORD,LPVOID,DWORD,DWORD);") +cpp_quote("HRESULT WINAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);") +cpp_quote("HRESULT WINAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);") +cpp_quote("HRESULT WINAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);") +cpp_quote("HRESULT WINAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);") +cpp_quote("HRESULT WINAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);") +cpp_quote("HRESULT WINAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);") cpp_quote("#define OInetCombineUrl CoInternetCombineUrl") cpp_quote("#define OInetCompareUrl CoInternetCompareUrl") Modified: trunk/reactos/include/psdk/vfw.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/vfw.h?rev=308…
============================================================================== --- trunk/reactos/include/psdk/vfw.h (original) +++ trunk/reactos/include/psdk/vfw.h Thu Nov 29 12:32:43 2007 @@ -849,7 +849,7 @@ HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*); HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG); HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG); -HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD); +HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,LONG); HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*); HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG); HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*); Modified: trunk/reactos/include/psdk/wincrypt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wincrypt.h?re…
============================================================================== --- trunk/reactos/include/psdk/wincrypt.h (original) +++ trunk/reactos/include/psdk/wincrypt.h Thu Nov 29 12:32:43 2007 @@ -1180,6 +1180,28 @@ typedef void (WINAPI *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC)(LPSTR pszParamOid, LPVOID pvParam); +#define CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION ((LPCSTR)1) +#define CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL ((LPCSTR)2) + +typedef void (WINAPI *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC)( + void *pvCompletion, DWORD dwCompletionCode, LPCSTR pszURL, LPSTR pszObjectOid, + void *pvObject); + +typedef struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION +{ + PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion; + void *pvCompletion; +} CRYPT_ASYNC_RETRIEVAL_COMPLETION, *PCRYPT_ASYNC_RETRIEVAL_COMPLETION; + +typedef BOOL (WINAPI *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC)( + HCRYPTASYNC hAsyncRetrieve); + +typedef struct _CRYPT_BLOB_ARRAY +{ + DWORD cBlob; + PCRYPT_DATA_BLOB rgBlob; +} CRYPT_BLOB_ARRAY, *PCRYPT_BLOB_ARRAY; + typedef struct _CRYPT_CREDENTIALS { DWORD cbSize; LPCSTR pszCredentialsOid; @@ -1211,7 +1233,26 @@ DWORD dwMaxUrlRetrievalByteCount; } CRYPT_RETRIEVE_AUX_INFO, *PCRYPT_RETRIEVE_AUX_INFO; +typedef void (WINAPI *PFN_FREE_ENCODED_OBJECT_FUNC)(LPCSTR pszObjectOid, + PCRYPT_BLOB_ARRAY pObject, void *pvFreeContext); + +#define SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC \ + "SchemeDllRetrieveEncodedObject" +#define SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC \ + "SchemeDllRetrieveEncodedObjectW" +/* The signature of SchemeDllRetrieveEncodedObjectW is: +BOOL WINAPI SchemeDllRetrieveEncodedObjectW(LPCWSTR pwszUrl, + LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, + PCRYPT_BLOB_ARRAY pObject, PFN_FREE_ENCODED_OBJECT_FUNC *ppfnFreeObject, + void **ppvFreeContext, HCRYPTASYNC hAsyncRetrieve, + PCRYPT_CREDENTIALS pCredentials, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo); + */ + #define CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC "ContextDllCreateObjectContext" +/* The signature of ContextDllCreateObjectContext is: +BOOL WINAPI ContextDllCreateObjectContext(LPCSTR pszObjectOid, + DWORD dwRetrievalFlags, PCRYPT_BLOB_ARRAY pObject, void **ppvContxt); + */ #define CONTEXT_OID_CERTIFICATE ((LPCSTR)1) #define CONTEXT_OID_CRL ((LPCSTR)2) @@ -1309,6 +1350,12 @@ #define ALG_SID_SAFERSK64 7 #define ALG_SID_SAFERSK128 8 #define ALG_SID_3DES_112 9 +#define ALG_SID_CYLINK_MEK 12 +#define ALG_SID_RC5 13 +#define ALG_SID_AES_128 14 +#define ALG_SID_AES_192 15 +#define ALG_SID_AES_256 16 +#define ALG_SID_AES 17 /* Diffie-Hellmans SIDs */ #define ALG_SID_DH_SANDF 1 #define ALG_SID_DH_EPHEM 2 @@ -1330,6 +1377,10 @@ #define ALG_SID_SSL3SHAMD5 8 #define ALG_SID_HMAC 9 #define ALG_SID_TLS1PRF 10 +#define ALG_SID_HASH_REPLACE_OWF 11 +#define ALG_SID_SHA_256 12 +#define ALG_SID_SHA_384 13 +#define ALG_SID_SHA_512 14 /* SCHANNEL SIDs */ #define ALG_SID_SSL3_MASTER 1 #define ALG_SID_SCHANNEL_MASTER_HASH 2 @@ -1350,6 +1401,10 @@ #define CALG_SSL3_SHAMD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5) #define CALG_HMAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC) #define CALG_TLS1PRF (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF) +#define CALG_HASH_REPLACE_OWF (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HASH_REPLACE_OWF) +#define CALG_SHA_256 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256) +#define CALG_SHA_384 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384) +#define CALG_SHA_512 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512) #define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY) #define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY) #define CALG_NO_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_ANY | ALG_SID_ANY) @@ -1360,8 +1415,13 @@ #define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2) #define CALG_3DES (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES) #define CALG_3DES_112 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES_112) +#define CALG_AES_128 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128) +#define CALG_AES_192 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192) +#define CALG_AES_256 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256) +#define CALG_AES (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES) #define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4) #define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL) +#define CALG_RC5 (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC5) #define CALG_SSL3_MASTER (ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | ALG_SID_SSL3_MASTER) #define CALG_SCHANNEL_MASTER_HASH (ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | ALG_SID_SCHANNEL_MASTER_HASH) #define CALG_SCHANNEL_MAC_KEY (ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL | ALG_SID_SCHANNEL_MAC_KEY) @@ -1522,6 +1582,20 @@ 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',0 }; #endif #define MS_SCARD_PROV WINELIB_NAME_AW(MS_SCARD_PROV_) + +#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider" +#if defined(__GNUC__) +# define MS_ENH_RSA_AES_PROV_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',' ', \ + 'E','n','h','a','n','c','e','d',' ','R','S','A',' ','a','n','d',' ','A','E','S',' ',\ + 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',0 } +#elif defined(_MSC_VER) +# define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider" +#else +static const WCHAR MS_ENH_RSA_AES_PROV_W[] = { 'M','i','c','r','o','s','o','f','t',' ', + 'E','n','h','a','n','c','e','d',' ','R','S','A',' ','a','n','d',' ','A','E','S',' ', + 'C','r','y','p','t','o','g','r','a','p','h','i','c',' ','P','r','o','v','i','d','e','r',0 }; +#endif +#define MS_ENH_RSA_AES_PROV WINELIB_NAME_AW(MS_ENH_RSA_AES_PROV_) /* Key Specs*/ #define AT_KEYEXCHANGE 1 Modified: trunk/reactos/include/psdk/winerror.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winerror.h?re…
============================================================================== --- trunk/reactos/include/psdk/winerror.h (original) +++ trunk/reactos/include/psdk/winerror.h Thu Nov 29 12:32:43 2007 @@ -1872,6 +1872,7 @@ #define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) ) #define FACILITY_NT_BIT 0x10000000 #define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0) +#define __HRESULT_FROM_WIN32(x) HRESULT_FROM_WIN32(x) #define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT)) #define GetScode(hr) ((SCODE) (hr)) #define ResultFromScode(sc) ((HRESULT) (sc)) Modified: trunk/reactos/include/psdk/winnls.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnls.h?rev=…
============================================================================== --- trunk/reactos/include/psdk/winnls.h (original) +++ trunk/reactos/include/psdk/winnls.h Thu Nov 29 12:32:43 2007 @@ -584,6 +584,7 @@ int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); LANGID WINAPI GetUserDefaultLangID(void); LCID WINAPI GetUserDefaultLCID(void); +LANGID WINAPI GetUserDefaultUILanguage(void); GEOID WINAPI GetUserGeoID(GEOCLASS); BOOL WINAPI IsDBCSLeadByte(BYTE); BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE); Added: trunk/reactos/include/reactos/wine/irot.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/irot.…
============================================================================== --- trunk/reactos/include/reactos/wine/irot.idl (added) +++ trunk/reactos/include/reactos/wine/irot.idl Thu Nov 29 12:32:43 2007 @@ -1,0 +1,93 @@ +/* + * Copyright 2007 Robert Shearman for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "wtypes.idl"; + +cpp_quote("#define IROT_PROTSEQ {'n','c','a','l','r','p','c',0}"); +cpp_quote("#define IROT_ENDPOINT {'i','r','o','t',0}"); + +typedef struct tagMonikerComparisonData { + ULONG ulCntData; + [size_is(ulCntData)] BYTE abData[]; +} MonikerComparisonData; + +[ + uuid(7a98c254-6808-11cf-b73b-00aa00b677a8), + version(0.2) +] +interface Irot +{ + typedef struct tagInterfaceData + { + ULONG ulCntData; + [size_is(ulCntData)] BYTE abData[]; + } InterfaceData; + + typedef [unique] InterfaceData *PInterfaceData; + + typedef struct tagInterfaceList + { + ULONG size; + [size_is(size)] PInterfaceData interfaces[]; + } InterfaceList; + + typedef [unique] InterfaceList *PInterfaceList; + + typedef DWORD IrotCookie; + + typedef handle_t IrotHandle; + + HRESULT IrotRegister( + [in] IrotHandle h, + [in] const MonikerComparisonData *moniker_data, + [in] const InterfaceData *object, + [in] const InterfaceData *moniker, + [in] const FILETIME *time, + [in] DWORD grfFlags, + [out] IrotCookie *cookie); + + HRESULT IrotRevoke( + [in] IrotHandle h, + [in] IrotCookie cookie, + [out] PInterfaceData *object, + [out] PInterfaceData *moniker); + + HRESULT IrotIsRunning( + [in] IrotHandle h, + [in] const MonikerComparisonData *moniker_data); + + HRESULT IrotGetObject( + [in] IrotHandle h, + [in] const MonikerComparisonData *moniker_data, + [out] PInterfaceData *obj, + [out] IrotCookie *cookie); + + HRESULT IrotNoteChangeTime( + [in] IrotHandle h, + [in] IrotCookie cookie, + [in] const FILETIME *time); + + HRESULT IrotGetTimeOfLastChange( + [in] IrotHandle h, + [in] const MonikerComparisonData *moniker_data, + [out] FILETIME *time); + + HRESULT IrotEnumRunning( + [in] IrotHandle h, + [out] PInterfaceList *list); +} Propchange: trunk/reactos/include/reactos/wine/irot.idl ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/include/reactos/wine/wineheaders.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/wineh…
============================================================================== --- trunk/reactos/include/reactos/wine/wineheaders.rbuild (original) +++ trunk/reactos/include/reactos/wine/wineheaders.rbuild Thu Nov 29 12:32:43 2007 @@ -1,5 +1,6 @@ <?xml version="1.0"?> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <module name="wineheaders" type="idlheader"> + <file>irot.idl</file> <file>itss.idl</file> </module>
17 years
1
0
0
0
← Newer
1
...
4
5
6
7
8
9
10
...
89
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Results per page:
10
25
50
100
200