ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
July 2006
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
19 participants
662 discussions
Start a n
N
ew thread
[gedmurphy] 22845: made a copy
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Wed Jul 5 00:45:20 2006 New Revision: 22845 URL:
http://svn.reactos.org/svn/reactos?rev=22845&view=rev
Log: made a copy Added: vendor/wine/dlls/comctl32/wine-0_9_16/ - copied from r22844, vendor/wine/dlls/comctl32/current/
18 years, 5 months
1
0
0
0
[gedmurphy] 22844: Wine 0_9_16 vendor drop
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Wed Jul 5 00:43:03 2006 New Revision: 22844 URL:
http://svn.reactos.org/svn/reactos?rev=22844&view=rev
Log: Wine 0_9_16 vendor drop Modified: vendor/wine/dlls/comctl32/current/listview.c vendor/wine/dlls/comctl32/current/propsheet.c Modified: vendor/wine/dlls/comctl32/current/listview.c URL:
http://svn.reactos.org/svn/reactos/vendor/wine/dlls/comctl32/current/listvi…
============================================================================== --- vendor/wine/dlls/comctl32/current/listview.c (original) +++ vendor/wine/dlls/comctl32/current/listview.c Wed Jul 5 00:43:03 2006 @@ -3769,9 +3769,10 @@ himl = (uView == LVS_ICON ? infoPtr->himlNormal : infoPtr->himlSmall); if (himl && lvItem.iImage >= 0 && !IsRectEmpty(&rcIcon)) { - TRACE("iImage=%d\n", lvItem.iImage); - ImageList_Draw(himl, lvItem.iImage, hdc, rcIcon.left, rcIcon.top, - (lvItem.state & LVIS_SELECTED) && (infoPtr->bFocus) ? ILD_SELECTED : ILD_NORMAL); + TRACE("iImage=%d\n", lvItem.iImage); + ImageList_DrawEx(himl, lvItem.iImage, hdc, rcIcon.left, rcIcon.top, + rcIcon.right - rcIcon.left, rcIcon.bottom - rcIcon.top, infoPtr->clrBk, CLR_DEFAULT, + (lvItem.state & LVIS_SELECTED) && (infoPtr->bFocus) ? ILD_SELECTED : ILD_NORMAL); } /* Don't bother painting item being edited */ @@ -4293,8 +4294,8 @@ infoPtr->nItemCount --; } + LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); LISTVIEW_UpdateScroll(infoPtr); - LISTVIEW_InvalidateList(infoPtr); return TRUE; Modified: vendor/wine/dlls/comctl32/current/propsheet.c URL:
http://svn.reactos.org/svn/reactos/vendor/wine/dlls/comctl32/current/propsh…
============================================================================== --- vendor/wine/dlls/comctl32/current/propsheet.c (original) +++ vendor/wine/dlls/comctl32/current/propsheet.c Wed Jul 5 00:43:03 2006 @@ -1248,6 +1248,7 @@ const WORD* p = (const WORD *)pTemplate; BOOL istemplateex = (((MyDLGTEMPLATEEX*)pTemplate)->signature == 0xFFFF); WORD nrofitems; + UINT ret; if (istemplateex) { @@ -1363,9 +1364,9 @@ --nrofitems; } - TRACE("%p %p size 0x%08x\n",p, (WORD*)pTemplate,sizeof(WORD)*(p - (WORD*)pTemplate)); - return (p - (WORD*)pTemplate)*sizeof(WORD); - + ret = (p - (WORD*)pTemplate) * sizeof(WORD); + TRACE("%p %p size 0x%08x\n", p, pTemplate, ret); + return ret; } /****************************************************************************** @@ -2862,6 +2863,42 @@ return bRet; } +static LPWSTR load_string( HINSTANCE instance, LPCWSTR str ) +{ + LPWSTR ret; + UINT len; + + if (IS_INTRESOURCE(str)) + { + HRSRC hrsrc; + HGLOBAL hmem; + WCHAR *ptr; + WORD i, id = LOWORD(str); + + if (!(hrsrc = FindResourceW( instance, MAKEINTRESOURCEW((id >> 4) + 1), (LPWSTR)RT_STRING ))) + return NULL; + if (!(hmem = LoadResource( instance, hrsrc ))) return NULL; + if (!(ptr = LockResource( hmem ))) return NULL; + for (i = id & 0x0f; i > 0; i--) ptr += *ptr + 1; + len = *ptr; + if (!len) return NULL; + ret = Alloc( (len + 1) * sizeof(WCHAR) ); + if (ret) + { + memcpy( ret, ptr + 1, len * sizeof(WCHAR) ); + ret[len] = 0; + } + } + else + { + int len = (strlenW(str) + 1) * sizeof(WCHAR); + ret = Alloc( len ); + if (ret) memcpy( ret, str, len ); + } + return ret; +} + + /****************************************************************************** * CreatePropertySheetPage (COMCTL32.@) * CreatePropertySheetPageA (COMCTL32.@) @@ -2906,12 +2943,7 @@ if (HIWORD( ppsp->pszTitle )) PROPSHEET_AtoW( &ppsp->pszTitle, lpPropSheetPage->pszTitle ); else - { - UINT id = LOWORD(ppsp->pszTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszTitle, len ); - } + ppsp->pszTitle = load_string( ppsp->hInstance, ppsp->pszTitle ); } else ppsp->pszTitle = NULL; @@ -2924,12 +2956,7 @@ if (HIWORD( ppsp->pszHeaderTitle )) PROPSHEET_AtoW(&ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle); else - { - UINT id = LOWORD(ppsp->pszHeaderTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszHeaderTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderTitle, len ); - } + ppsp->pszHeaderTitle = load_string( ppsp->hInstance, ppsp->pszHeaderTitle ); } else ppsp->pszHeaderTitle = NULL; @@ -2939,12 +2966,7 @@ if (HIWORD( ppsp->pszHeaderSubTitle )) PROPSHEET_AtoW(&ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle); else - { - UINT id = LOWORD(ppsp->pszHeaderSubTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszHeaderSubTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderSubTitle, len ); - } + ppsp->pszHeaderSubTitle = load_string( ppsp->hInstance, ppsp->pszHeaderSubTitle ); } else ppsp->pszHeaderSubTitle = NULL; @@ -2986,21 +3008,7 @@ } if (ppsp->dwFlags & PSP_USETITLE) - { - if (HIWORD( ppsp->pszTitle )) - { - int len = strlenW(lpPropSheetPage->pszTitle) + 1; - ppsp->pszTitle = Alloc( len * sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->pszTitle, lpPropSheetPage->pszTitle ); - } - else - { - UINT id = LOWORD(ppsp->pszTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszTitle, len ); - } - } + ppsp->pszTitle = load_string( ppsp->hInstance, ppsp->pszTitle ); else ppsp->pszTitle = NULL; @@ -3008,40 +3016,12 @@ ppsp->dwFlags &= ~(PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE); if (ppsp->dwFlags & PSP_USEHEADERTITLE) - { - if (HIWORD( ppsp->pszHeaderTitle )) - { - int len = strlenW(lpPropSheetPage->pszHeaderTitle) + 1; - ppsp->pszHeaderTitle = Alloc( len * sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->pszHeaderTitle, lpPropSheetPage->pszHeaderTitle ); - } - else - { - UINT id = LOWORD(ppsp->pszHeaderTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszHeaderTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderTitle, len ); - } - } + ppsp->pszHeaderTitle = load_string( ppsp->hInstance, ppsp->pszHeaderTitle ); else ppsp->pszHeaderTitle = NULL; if (ppsp->dwFlags & PSP_USEHEADERSUBTITLE) - { - if (HIWORD( ppsp->pszHeaderSubTitle )) - { - int len = strlenW(lpPropSheetPage->pszHeaderSubTitle) + 1; - ppsp->pszHeaderSubTitle = Alloc( len * sizeof (WCHAR) ); - strcpyW( (WCHAR *)ppsp->pszHeaderSubTitle, lpPropSheetPage->pszHeaderSubTitle ); - } - else - { - UINT id = LOWORD(ppsp->pszHeaderSubTitle); - int len = LoadStringW( ppsp->hInstance, id, NULL, 0 ) + 1; - ppsp->pszHeaderSubTitle = Alloc( len * sizeof(WCHAR) ); - LoadStringW( ppsp->hInstance, id, (LPWSTR)ppsp->pszHeaderSubTitle, len ); - } - } + ppsp->pszHeaderSubTitle = load_string( ppsp->hInstance, ppsp->pszHeaderSubTitle ); else ppsp->pszHeaderSubTitle = NULL; @@ -3533,7 +3513,7 @@ case WM_CLOSE: PROPSHEET_Cancel(hwnd, 1); - return TRUE; + return FALSE; /* let DefDlgProc post us WM_COMMAND/IDCANCEL */ case WM_COMMAND: if (!PROPSHEET_DoCommand(hwnd, LOWORD(wParam)))
18 years, 5 months
1
0
0
0
[gedmurphy] 22843: revert r22824 as requested by Fireball. The auto sync didn't work as expected.
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Tue Jul 4 23:27:14 2006 New Revision: 22843 URL:
http://svn.reactos.org/svn/reactos?rev=22843&view=rev
Log: revert r22824 as requested by Fireball. The auto sync didn't work as expected. Removed: trunk/reactos/dll/win32/comctl32/comctl32.log Modified: trunk/reactos/dll/win32/comctl32/animate.c trunk/reactos/dll/win32/comctl32/comboex.c trunk/reactos/dll/win32/comctl32/comctl32.h trunk/reactos/dll/win32/comctl32/comctl32.rbuild trunk/reactos/dll/win32/comctl32/comctl32undoc.c trunk/reactos/dll/win32/comctl32/comctl_Bg.rc trunk/reactos/dll/win32/comctl32/comctl_Cn.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Cs.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_De.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_En.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Eo.rc (props changed) trunk/reactos/dll/win32/comctl32/comctl_Es.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Fr.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Hu.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_It.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Ja.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Ko.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Nl.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_No.rc trunk/reactos/dll/win32/comctl32/comctl_Pl.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Pt.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Ru.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Si.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Sv.rc trunk/reactos/dll/win32/comctl32/comctl_Th.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Tr.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/comctl_Uk.rc (contents, props changed) trunk/reactos/dll/win32/comctl32/commctrl.c trunk/reactos/dll/win32/comctl32/datetime.c trunk/reactos/dll/win32/comctl32/dpa.c trunk/reactos/dll/win32/comctl32/draglist.c trunk/reactos/dll/win32/comctl32/dsa.c trunk/reactos/dll/win32/comctl32/flatsb.c trunk/reactos/dll/win32/comctl32/header.c trunk/reactos/dll/win32/comctl32/hotkey.c trunk/reactos/dll/win32/comctl32/imagelist.c trunk/reactos/dll/win32/comctl32/imagelist.h trunk/reactos/dll/win32/comctl32/ipaddress.c trunk/reactos/dll/win32/comctl32/listview.c trunk/reactos/dll/win32/comctl32/monthcal.c trunk/reactos/dll/win32/comctl32/nativefont.c trunk/reactos/dll/win32/comctl32/pager.c trunk/reactos/dll/win32/comctl32/progress.c trunk/reactos/dll/win32/comctl32/propsheet.c trunk/reactos/dll/win32/comctl32/rebar.c trunk/reactos/dll/win32/comctl32/rsrc.rc trunk/reactos/dll/win32/comctl32/smoothscroll.c trunk/reactos/dll/win32/comctl32/status.c trunk/reactos/dll/win32/comctl32/string.c trunk/reactos/dll/win32/comctl32/syslink.c trunk/reactos/dll/win32/comctl32/tab.c trunk/reactos/dll/win32/comctl32/theme_combo.c trunk/reactos/dll/win32/comctl32/theme_dialog.c trunk/reactos/dll/win32/comctl32/theme_edit.c trunk/reactos/dll/win32/comctl32/theme_listbox.c trunk/reactos/dll/win32/comctl32/theming.c trunk/reactos/dll/win32/comctl32/toolbar.c trunk/reactos/dll/win32/comctl32/tooltips.c trunk/reactos/dll/win32/comctl32/trackbar.c trunk/reactos/dll/win32/comctl32/treeview.c trunk/reactos/dll/win32/comctl32/updown.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/dll/win32/comctl32/animate.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/animate…
Modified: trunk/reactos/dll/win32/comctl32/comboex.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comboex…
Modified: trunk/reactos/dll/win32/comctl32/comctl32.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
Removed: trunk/reactos/dll/win32/comctl32/comctl32.log URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
Modified: trunk/reactos/dll/win32/comctl32/comctl32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
Modified: trunk/reactos/dll/win32/comctl32/comctl32undoc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Bg.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Cn.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Es.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_It.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Si.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Th.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Tr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/comctl_Uk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl_…
Modified: trunk/reactos/dll/win32/comctl32/commctrl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/commctr…
Modified: trunk/reactos/dll/win32/comctl32/datetime.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/datetim…
Modified: trunk/reactos/dll/win32/comctl32/dpa.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/dpa.c?r…
Modified: trunk/reactos/dll/win32/comctl32/draglist.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/draglis…
Modified: trunk/reactos/dll/win32/comctl32/dsa.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/dsa.c?r…
Modified: trunk/reactos/dll/win32/comctl32/flatsb.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/flatsb.…
Modified: trunk/reactos/dll/win32/comctl32/header.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/header.…
Modified: trunk/reactos/dll/win32/comctl32/hotkey.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/hotkey.…
Modified: trunk/reactos/dll/win32/comctl32/imagelist.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/imageli…
Modified: trunk/reactos/dll/win32/comctl32/imagelist.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/imageli…
Modified: trunk/reactos/dll/win32/comctl32/ipaddress.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/ipaddre…
Modified: trunk/reactos/dll/win32/comctl32/listview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/listvie…
Modified: trunk/reactos/dll/win32/comctl32/monthcal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/monthca…
Modified: trunk/reactos/dll/win32/comctl32/nativefont.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/nativef…
Modified: trunk/reactos/dll/win32/comctl32/pager.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/pager.c…
Modified: trunk/reactos/dll/win32/comctl32/progress.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/progres…
Modified: trunk/reactos/dll/win32/comctl32/propsheet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/propshe…
Modified: trunk/reactos/dll/win32/comctl32/rebar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/rebar.c…
Modified: trunk/reactos/dll/win32/comctl32/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/rsrc.rc…
Modified: trunk/reactos/dll/win32/comctl32/smoothscroll.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/smooths…
Modified: trunk/reactos/dll/win32/comctl32/status.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/status.…
Modified: trunk/reactos/dll/win32/comctl32/string.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/string.…
Modified: trunk/reactos/dll/win32/comctl32/syslink.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/syslink…
Modified: trunk/reactos/dll/win32/comctl32/tab.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/tab.c?r…
Modified: trunk/reactos/dll/win32/comctl32/theme_combo.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theme_c…
Modified: trunk/reactos/dll/win32/comctl32/theme_dialog.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theme_d…
Modified: trunk/reactos/dll/win32/comctl32/theme_edit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theme_e…
Modified: trunk/reactos/dll/win32/comctl32/theme_listbox.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theme_l…
Modified: trunk/reactos/dll/win32/comctl32/theming.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/theming…
Modified: trunk/reactos/dll/win32/comctl32/toolbar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/toolbar…
Modified: trunk/reactos/dll/win32/comctl32/tooltips.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/tooltip…
Modified: trunk/reactos/dll/win32/comctl32/trackbar.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/trackba…
Modified: trunk/reactos/dll/win32/comctl32/treeview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/treevie…
Modified: trunk/reactos/dll/win32/comctl32/updown.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/updown.…
18 years, 5 months
1
0
0
0
[fireball] 22842: Revert netapi and mpr winesyncs (needs to be re-applied correctly next time)
by fireball@svn.reactos.org
Author: fireball Date: Tue Jul 4 23:22:00 2006 New Revision: 22842 URL:
http://svn.reactos.org/svn/reactos?rev=22842&view=rev
Log: Revert netapi and mpr winesyncs (needs to be re-applied correctly next time) Added: trunk/reactos/dll/win32/mpr/mpr_Ru.rc - copied unchanged from r22828, trunk/reactos/dll/win32/mpr/mpr_Ru.rc trunk/reactos/dll/win32/mpr/mpr_Sv.rc - copied unchanged from r22828, trunk/reactos/dll/win32/mpr/mpr_Sv.rc trunk/reactos/dll/win32/mpr/mpr_Uk.rc - copied unchanged from r22828, trunk/reactos/dll/win32/mpr/mpr_Uk.rc Removed: trunk/reactos/dll/win32/mpr/mpr_Eo.rc trunk/reactos/dll/win32/mpr/mpr_Tr.rc trunk/reactos/dll/win32/netapi32/share.c Modified: trunk/reactos/dll/win32/mpr/mpr.rbuild trunk/reactos/dll/win32/mpr/mpr.rc trunk/reactos/dll/win32/mpr/mpr.spec trunk/reactos/dll/win32/mpr/mpr_Cs.rc trunk/reactos/dll/win32/mpr/mpr_Hu.rc trunk/reactos/dll/win32/mpr/mpr_Ja.rc trunk/reactos/dll/win32/mpr/nps.c trunk/reactos/dll/win32/mpr/wnet.c trunk/reactos/dll/win32/netapi32/access.c trunk/reactos/dll/win32/netapi32/netapi32.rbuild trunk/reactos/dll/win32/netapi32/wksta.c Modified: trunk/reactos/dll/win32/mpr/mpr.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr.rbuild?r…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr.rbuild (original) +++ trunk/reactos/dll/win32/mpr/mpr.rbuild Tue Jul 4 23:22:00 2006 @@ -2,29 +2,24 @@ <importlibrary definition="mpr.spec.def" /> <include base="mpr">.</include> <include base="ReactOS">include/reactos/wine</include> + <define name="UNICODE" /> + <define name="_UNICODE" /> <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> <library>wine</library> + <library>ntdll</library> + <library>kernel32</library> + <library>advapi32</library> <library>user32</library> - <library>advapi32</library> - <library>kernel32</library> - <library>ntdll</library> <file>auth.c</file> - <library>ntdll</library> <file>mpr_main.c</file> - <library>ntdll</library> <file>multinet.c</file> - <library>ntdll</library> <file>nps.c</file> - <library>ntdll</library> <file>pwcache.c</file> - <library>ntdll</library> <file>wnet.c</file> - <library>ntdll</library> <file>mpr.rc</file> <file>mpr.spec</file> </module> Modified: trunk/reactos/dll/win32/mpr/mpr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr.rc?rev=2…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr.rc Tue Jul 4 23:22:00 2006 @@ -30,11 +30,13 @@ #include "mpr_En.rc" #include "mpr_Es.rc" #include "mpr_Fr.rc" -#include "mpr_Hu.rc" #include "mpr_It.rc" #include "mpr_Ja.rc" #include "mpr_Ko.rc" #include "mpr_Nl.rc" #include "mpr_No.rc" #include "mpr_Pt.rc" -#include "mpr_Tr.rc" +#include "mpr_Ru.rc" +#include "mpr_Sv.rc" +#include "mpr_Hu.rc" +#include "mpr_Uk.rc" Modified: trunk/reactos/dll/win32/mpr/mpr.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr.spec?rev…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr.spec (original) +++ trunk/reactos/dll/win32/mpr/mpr.spec Tue Jul 4 23:22:00 2006 @@ -40,12 +40,12 @@ @ stdcall NPSNotifyRegisterA(long ptr) @ stdcall NPSSetCustomTextA(str) @ stdcall NPSSetExtendedErrorA(long str) -@ stdcall PwdChangePasswordA(str ptr long ptr) -@ stdcall PwdChangePasswordW(wstr ptr long ptr) -@ stdcall PwdGetPasswordStatusA(str long ptr) -@ stdcall PwdGetPasswordStatusW(wstr long ptr) -@ stdcall PwdSetPasswordStatusA(str long long) -@ stdcall PwdSetPasswordStatusW(wstr long long) +@ stub PwdChangePasswordA +@ stub PwdChangePasswordW +@ stub PwdGetPasswordStatusA +@ stub PwdGetPasswordStatusW +@ stub PwdSetPasswordStatusA +@ stub PwdSetPasswordStatusW @ stdcall WNetAddConnection2A(ptr str str long) @ stdcall WNetAddConnection2W(ptr wstr wstr long) @ stdcall WNetAddConnection3A(long ptr str str long) Modified: trunk/reactos/dll/win32/mpr/mpr_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr_Cs.rc?re…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr_Cs.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr_Cs.rc Tue Jul 4 23:22:00 2006 @@ -1,5 +1,4 @@ -/* Hey, Emacs, open this file with -*- coding: cp1250 -*- - * +/* * Czech MPR dll resources * Copyright (C) 2004 Juan Lang * Copyright (C) 2004, 2005 David Kredba @@ -21,29 +20,27 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT -/* Czech strings in CP1250 */ - STRINGTABLE DISCARDABLE { - IDS_ENTIRENETWORK "Celá sí" + IDS_ENTIRENETWORK "Celá sí»" } IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Zadání síového hesla" +CAPTION "Zadání sí»ového hesla" FONT 8, "MS Shell Dlg" { - LTEXT "Prosím zadejte své uivatelské jméno a heslo:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "Prosím zadejte své u¾ivatelské jméno a heslo:", IDC_EXPLAIN, 40, 6, 150, 15 LTEXT "Proxy", -1, 40, 26, 50, 10 /* LTEXT "Realm", -1, 40, 46, 50, 10 */ - LTEXT "Uivatel", -1, 40, 66, 50, 10 + LTEXT "U¾ivatel", -1, 40, 66, 50, 10 LTEXT "Heslo", -1, 40, 86, 50, 10 LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "&Uloit toto heslo (Není bezpeèné) ?", IDC_SAVEPASSWORD, + CHECKBOX "&Ulo¾it toto heslo (Není bezpeèné) ?", IDC_SAVEPASSWORD, 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Zruit", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Zru¹it", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP } Removed: trunk/reactos/dll/win32/mpr/mpr_Eo.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr_Eo.rc?re…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr_Eo.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr_Eo.rc (removed) @@ -1,46 +1,0 @@ -/* - * MPR dll resources - Esperanto Language Support - * - * Copyright 2006 Antonio Codazzi - * - * 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_ESPERANTO, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_ENTIRENETWORK "Tuta Reto" -} - -IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Enmetu Retan Pasvorton" -FONT 8, "MS Shell Dlg" -{ -LTEXT "Enmetu uzantonomon kaj pasvorton:", IDC_EXPLAIN, 40, 6, 150, 15 -LTEXT "Proxy", -1, 40, 26, 50, 10 -/* LTEXT "Realm", -1, 40, 46, 50, 10 */ -LTEXT "Uzanto", -1, 40, 66, 50, 10 -LTEXT "Pasvorto", -1, 40, 86, 50, 10 -LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 -LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 -EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP -EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD -CHECKBOX "&Storu pasvorton ( RISKE! )", IDC_SAVEPASSWORD, -80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP -PUSHBUTTON "Bone", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON -PUSHBUTTON "Rezigni", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP -} Modified: trunk/reactos/dll/win32/mpr/mpr_Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr_Hu.rc?re…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr_Hu.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr_Hu.rc Tue Jul 4 23:22:00 2006 @@ -1,7 +1,8 @@ /* * MPR dll resources * - * Copyright (C) 2006 Andras Kovacs + * Copyright (C) 2004 Juan Lang + * Copyright (C) 2005 Gergely Risko * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,28 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT +LANGUAGE LANG_HUNGARIAN, SUBLANG_NEUTRAL STRINGTABLE DISCARDABLE { - IDS_ENTIRENETWORK "Teljes hálózat" + IDS_ENTIRENETWORK "Teljes álózat" } IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Hálózati jelszó megadása" +CAPTION "Hálózati Bejelentkezés" FONT 8, "MS Shell Dlg" { - LTEXT "Kérem adja meg a felhasználónevét és jelszavát:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "Írd be a felhasználó nevet és jelszót:", IDC_EXPLAIN, 40, 6, 150, 15 LTEXT "Proxy", -1, 40, 26, 50, 10 /* LTEXT "Realm", -1, 40, 46, 50, 10 */ - LTEXT "Felhasználónév", -1, 40, 66, 50, 10 + LTEXT "Felhasználó", -1, 40, 66, 50, 10 LTEXT "Jelszó", -1, 40, 86, 50, 10 LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "&Jelszó mentése (nem biztonságos)", IDC_SAVEPASSWORD, + CHECKBOX "Jelszó &mentése (Nem biztonságos)", IDC_SAVEPASSWORD, 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Mégse", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP Modified: trunk/reactos/dll/win32/mpr/mpr_Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr_Ja.rc?re…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr_Ja.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr_Ja.rc Tue Jul 4 23:22:00 2006 @@ -18,9 +18,29 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL STRINGTABLE DISCARDABLE { IDS_ENTIRENETWORK "lbg[NSÌ" } + +IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "lbg[NpX[hÌüÍ" +FONT 9, "MS UI Gothic" +{ + LTEXT "[U[¼ÆpX[hðü͵ĺ³¢:", IDC_EXPLAIN, 40, 6, 150, 15 + LTEXT "vLV", -1, 40, 26, 50, 10 +/* LTEXT "Realm", -1, 40, 46, 50, 10 */ + LTEXT "[U¼", -1, 40, 66, 50, 10 + LTEXT "pX[h", -1, 40, 86, 50, 10 + LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD + CHECKBOX "pX[hðÛ¶·é(&S) (ÀSÅÍ èܹñ)", IDC_SAVEPASSWORD, + 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "OK", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "LZ", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP +} Removed: trunk/reactos/dll/win32/mpr/mpr_Tr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/mpr_Tr.rc?re…
============================================================================== --- trunk/reactos/dll/win32/mpr/mpr_Tr.rc (original) +++ trunk/reactos/dll/win32/mpr/mpr_Tr.rc (removed) @@ -1,46 +1,0 @@ -/* - * MPR dll resources for Turkish - * - * Copyright (C) 2006 Fatih Aþýcý - * - * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_ENTIRENETWORK "Tüm Að" -} - -IDD_PROXYDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Að Parolanýzý Girin" -FONT 8, "MS Shell Dlg" -{ - LTEXT "Lütfen kullanýcý adýnýzý ve parolanýzý girin:", IDC_EXPLAIN, 40, 6, 150, 15 - LTEXT "Proxy", -1, 40, 26, 50, 10 -/* LTEXT "Realm", -1, 40, 46, 50, 10 */ - LTEXT "Kullanýcý", -1, 40, 66, 50, 10 - LTEXT "Parola", -1, 40, 86, 50, 10 - LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 - LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 - EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP - EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "Bu parolayý &sakla (Güvensiz)", IDC_SAVEPASSWORD, - 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Tamam", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON - PUSHBUTTON "Ýptal", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP -} Modified: trunk/reactos/dll/win32/mpr/nps.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/nps.c?rev=22…
============================================================================== --- trunk/reactos/dll/win32/mpr/nps.c (original) +++ trunk/reactos/dll/win32/mpr/nps.c Tue Jul 4 23:22:00 2006 @@ -211,71 +211,3 @@ FIXME( "(%p): stub\n", pfNotifyCallBack ); return NULL; } - -/***************************************************************** - * PwdGetPasswordStatusA [MPR.@] - */ -DWORD WINAPI PwdGetPasswordStatusA( LPCSTR lpProvider, DWORD dwIndex, LPDWORD status ) -{ - FIXME("%s %ld %p\n", debugstr_a(lpProvider), dwIndex, status ); - *status = 0; - return WN_SUCCESS; -} - -/***************************************************************** - * PwdGetPasswordStatusA [MPR.@] - */ -DWORD WINAPI PwdGetPasswordStatusW( LPCWSTR lpProvider, DWORD dwIndex, LPDWORD status ) -{ - FIXME("%s %ld %p\n", debugstr_w(lpProvider), dwIndex, status ); - *status = 0; - return WN_SUCCESS; -} - -/***************************************************************** - * PwdSetPasswordStatusA [MPR.@] - */ -DWORD WINAPI PwdSetPasswordStatusA( LPCSTR lpProvider, DWORD dwIndex, DWORD status ) -{ - FIXME("%s %ld %ld\n", debugstr_a(lpProvider), dwIndex, status ); - return WN_SUCCESS; -} - -/***************************************************************** - * PwdSetPasswordStatusW [MPR.@] - */ -DWORD WINAPI PwdSetPasswordStatusW( LPCWSTR lpProvider, DWORD dwIndex, DWORD status ) -{ - FIXME("%s %ld %ld\n", debugstr_w(lpProvider), dwIndex, status ); - return WN_SUCCESS; -} - -typedef struct _CHANGEPWDINFOA { - LPSTR lpUsername; - LPSTR lpPassword; - DWORD cbPassword; -} CHANGEPWDINFOA, *LPCHANGEPWDINFOA; - -typedef struct _CHANGEPWDINFOW { - LPWSTR lpUsername; - LPWSTR lpPassword; - DWORD cbPassword; -} CHANGEPWDINFOW, *LPCHANGEPWDINFOW; - -/***************************************************************** - * PwdChangePasswordA [MPR.@] - */ -DWORD WINAPI PwdChangePasswordA( LPCSTR lpProvider, HWND hWnd, DWORD flags, LPCHANGEPWDINFOA info ) -{ - FIXME("%s %p %lx %p\n", debugstr_a(lpProvider), hWnd, flags, info ); - return WN_SUCCESS; -} - -/***************************************************************** - * PwdChangePasswordA [MPR.@] - */ -DWORD WINAPI PwdChangePasswordW( LPCWSTR lpProvider, HWND hWnd, DWORD flags, LPCHANGEPWDINFOW info ) -{ - FIXME("%s %p %lx %p\n", debugstr_w(lpProvider), hWnd, flags, info ); - return WN_SUCCESS; -} Modified: trunk/reactos/dll/win32/mpr/wnet.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mpr/wnet.c?rev=2…
============================================================================== --- trunk/reactos/dll/win32/mpr/wnet.c (original) +++ trunk/reactos/dll/win32/mpr/wnet.c Tue Jul 4 23:22:00 2006 @@ -22,6 +22,7 @@ #include <stdarg.h> #include "windef.h" #include "winbase.h" +#include "winuser.h" #include "winnls.h" #include "winnetwk.h" #include "npapi.h" Modified: trunk/reactos/dll/win32/netapi32/access.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/access.…
============================================================================== --- trunk/reactos/dll/win32/netapi32/access.c (original) +++ trunk/reactos/dll/win32/netapi32/access.c Tue Jul 4 23:22:00 2006 @@ -554,12 +554,6 @@ NET_API_STATUS WINAPI NetUserModalsGet(LPCWSTR szServer, DWORD level, LPBYTE *pbuffer) { FIXME("(%s %ld %p) stub!\n", debugstr_w(szServer), level, pbuffer); - - if (level == 2) - { - *pbuffer = NULL; - return NERR_Success; - } return NERR_InternalError; } Modified: trunk/reactos/dll/win32/netapi32/netapi32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netapi32.rbuild (original) +++ trunk/reactos/dll/win32/netapi32/netapi32.rbuild Tue Jul 4 23:22:00 2006 @@ -3,35 +3,26 @@ <include base="netapi32">.</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="_SVRAPI_" /> <library>wine</library> + <library>ntdll</library> + <library>kernel32</library> + <library>advapi32</library> + <library>ws2_32</library> <library>iphlpapi</library> - <library>ws2_32</library> - <library>advapi32</library> - <library>kernel32</library> - <library>ntdll</library> <file>access.c</file> - <library>ntdll</library> <file>apibuf.c</file> - <library>ntdll</library> <file>browsr.c</file> - <library>ntdll</library> <file>ds.c</file> - <library>ntdll</library> <file>nbcmdqueue.c</file> - <library>ntdll</library> <file>nbnamecache.c</file> - <library>ntdll</library> <file>nbt.c</file> - <library>ntdll</library> <file>netapi32.c</file> - <library>ntdll</library> <file>netbios.c</file> - <library>ntdll</library> <file>wksta.c</file> <file>netapi32.spec</file> </module> Removed: trunk/reactos/dll/win32/netapi32/share.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/share.c…
============================================================================== --- trunk/reactos/dll/win32/netapi32/share.c (original) +++ trunk/reactos/dll/win32/netapi32/share.c (removed) @@ -1,85 +1,0 @@ -/* Copyright 2006 Paul Vriens - * - * 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 - */ - -#include "wine/debug.h" -#include "lm.h" -#include "winerror.h" - -WINE_DEFAULT_DEBUG_CHANNEL(share); - -/************************************************************ - * NetSessionEnum (NETAPI32.@) - * - * PARAMS - * servername [I] Pointer to a string with the name of the server - * UncClientName [I] Pointer to a string with the name of the session - * username [I] Pointer to a string with the name of the user - * level [I] Data information level - * bufptr [O] Buffer to the data - * prefmaxlen [I] Preferred maximum length of the data - * entriesread [O] Pointer to the number of entries enumerated - * totalentries [O] Pointer to the possible number of entries - * resume_handle [I/O] Pointer to a handle for subsequent searches - * - * RETURNS - * If successful, the function returns NERR_Success - * On failure it returns: - * ERROR_ACCESS_DENIED User has no access to the requested information - * ERROR_INVALID_LEVEL Value of 'level' is not correct - * ERROR_INVALID_PARAMETER Wrong parameter - * ERROR_MORE_DATA Need a larger buffer - * ERROR_NOT_ENOUGH_MEMORY Not enough memory - * NERR_ClientNameNotFound A session does not exist on a given computer - * NERR_InvalidComputer Invalid computer name - * NERR_UserNotFound User name could not be found. - */ -NET_API_STATUS WINAPI NetSessionEnum(LPWSTR servername, LPWSTR UncClientName, - LPWSTR username, DWORD level, LPBYTE* bufptr, DWORD prefmaxlen, LPDWORD entriesread, - LPDWORD totalentries, LPDWORD resume_handle) -{ - FIXME("Stub (%s %s %s %ld %p %ld %p %p %p)\n", debugstr_w(servername), - debugstr_w(UncClientName), debugstr_w(username), - level, bufptr, prefmaxlen, entriesread, totalentries, resume_handle); - - return NERR_Success; -} - -/************************************************************ - * NetShareEnum (NETAPI32.@) - * - * PARAMS - * servername [I] Pointer to a string with the name of the server - * level [I] Data information level - * bufptr [O] Buffer to the data - * prefmaxlen [I] Preferred maximum length of the data - * entriesread [O] Pointer to the number of entries enumerated - * totalentries [O] Pointer to the possible number of entries - * resume_handle [I/O] Pointer to a handle for subsequent searches - * - * RETURNS - * If successful, the function returns NERR_Success - * On failure it returns a system error code (FIXME: find out which) - * - */ -NET_API_STATUS WINAPI NetShareEnum( LPWSTR servername, DWORD level, LPBYTE* bufptr, - DWORD prefmaxlen, LPDWORD entriesread, LPDWORD totalentries, LPDWORD resume_handle) -{ - FIXME("Stub (%s %ld %p %ld %p %p %p)\n", debugstr_w(servername), level, bufptr, - prefmaxlen, entriesread, totalentries, resume_handle); - - return ERROR_NOT_SUPPORTED; -} Modified: trunk/reactos/dll/win32/netapi32/wksta.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/wksta.c…
============================================================================== --- trunk/reactos/dll/win32/netapi32/wksta.c (original) +++ trunk/reactos/dll/win32/netapi32/wksta.c Tue Jul 4 23:22:00 2006 @@ -36,7 +36,6 @@ #include "iphlpapi.h" #include "winerror.h" #include "winreg.h" -#include "winternl.h" #include "ntsecapi.h" #include "netbios.h" #include "wine/debug.h"
18 years, 5 months
1
0
0
0
[fireball] 22841: Revert cards.dll and crypt32.dll autowinesync.
by fireball@svn.reactos.org
Author: fireball Date: Tue Jul 4 23:14:19 2006 New Revision: 22841 URL:
http://svn.reactos.org/svn/reactos?rev=22841&view=rev
Log: Revert cards.dll and crypt32.dll autowinesync. Added: trunk/reactos/dll/win32/cards/cards.def - copied unchanged from r22822, trunk/reactos/dll/win32/cards/cards.def trunk/reactos/dll/win32/cards/res/ - copied from r22822, trunk/reactos/dll/win32/cards/res/ Removed: trunk/reactos/dll/win32/cards/cards.spec trunk/reactos/dll/win32/cards/version.rc trunk/reactos/dll/win32/crypt32/base64.c trunk/reactos/dll/win32/crypt32/context.c trunk/reactos/dll/win32/crypt32/crl.c trunk/reactos/dll/win32/crypt32/decode.c trunk/reactos/dll/win32/crypt32/version.rc Modified: trunk/reactos/dll/win32/cards/cards.c trunk/reactos/dll/win32/cards/cards.h trunk/reactos/dll/win32/cards/cards.rbuild trunk/reactos/dll/win32/cards/cards.rc trunk/reactos/dll/win32/crypt32/crypt32.rbuild trunk/reactos/dll/win32/crypt32/crypt32.rc trunk/reactos/dll/win32/crypt32/crypt32.spec trunk/reactos/dll/win32/crypt32/crypt32_De.rc trunk/reactos/dll/win32/crypt32/main.c trunk/reactos/dll/win32/crypt32/oid.c trunk/reactos/dll/win32/crypt32/protectdata.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/dll/win32/cards/cards.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/cards.c?re…
Modified: trunk/reactos/dll/win32/cards/cards.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/cards.h?re…
Modified: trunk/reactos/dll/win32/cards/cards.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/cards.rbui…
Modified: trunk/reactos/dll/win32/cards/cards.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/cards.rc?r…
Removed: trunk/reactos/dll/win32/cards/cards.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/cards.spec…
Removed: trunk/reactos/dll/win32/cards/version.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cards/version.rc…
Removed: trunk/reactos/dll/win32/crypt32/base64.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/base64.c…
Removed: trunk/reactos/dll/win32/crypt32/context.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/context.…
Removed: trunk/reactos/dll/win32/crypt32/crl.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crl.c?re…
Modified: trunk/reactos/dll/win32/crypt32/crypt32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32.…
Modified: trunk/reactos/dll/win32/crypt32/crypt32.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32.…
Modified: trunk/reactos/dll/win32/crypt32/crypt32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32.…
Modified: trunk/reactos/dll/win32/crypt32/crypt32_De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32_…
Removed: trunk/reactos/dll/win32/crypt32/decode.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/decode.c…
Modified: trunk/reactos/dll/win32/crypt32/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/main.c?r…
Modified: trunk/reactos/dll/win32/crypt32/oid.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/oid.c?re…
Modified: trunk/reactos/dll/win32/crypt32/protectdata.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/protectd…
Removed: trunk/reactos/dll/win32/crypt32/version.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/version.…
18 years, 5 months
1
0
0
0
[jimtabor] 22840: - CreateWindowExa/W
by jimtabor@svn.reactos.org
Author: jimtabor Date: Tue Jul 4 22:26:49 2006 New Revision: 22840 URL:
http://svn.reactos.org/svn/reactos?rev=22840&view=rev
Log: - CreateWindowExa/W Modified: trunk/reactos/dll/win32/user32/windows/window.c Modified: trunk/reactos/dll/win32/user32/windows/window.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/w…
============================================================================== --- trunk/reactos/dll/win32/user32/windows/window.c (original) +++ trunk/reactos/dll/win32/user32/windows/window.c Tue Jul 4 22:26:49 2006 @@ -141,11 +141,9 @@ return (BOOL)(hWnd); } -/* - * @implemented - */ -HWND STDCALL -CreateWindowExA(DWORD dwExStyle, + +HWND STDCALL +User32CreateWindowEx(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, @@ -156,18 +154,20 @@ HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, - LPVOID lpParam) + LPVOID lpParam, + BOOL Unicode) { UNICODE_STRING WindowName; UNICODE_STRING ClassName; - WNDCLASSEXA wce; + WNDCLASSEXA wceA; + WNDCLASSEXW wceW; HWND Handle; MDICREATESTRUCTA mdi; #if 0 - DbgPrint("[window] CreateWindowExA style %d, exstyle %d, parent %d\n", dwStyle, dwExStyle, hWndParent); + DbgPrint("[window] User32CreateWindowEx style %d, exstyle %d, parent %d\n", dwStyle, dwExStyle, hWndParent); #endif - + if (IS_ATOM(lpClassName)) { RtlInitUnicodeString(&ClassName, NULL); @@ -175,11 +175,16 @@ } else { - if (!RtlCreateUnicodeStringFromAsciiz(&(ClassName), (PCSZ)lpClassName)) - { - SetLastError(ERROR_OUTOFMEMORY); - return (HWND)0; - } + if(Unicode) + RtlInitUnicodeString(&ClassName, (PCWSTR)lpClassName); + else + { + if (!RtlCreateUnicodeStringFromAsciiz(&(ClassName), (PCSZ)lpClassName)) + { + SetLastError(ERROR_OUTOFMEMORY); + return (HWND)0; + } + } } /* Register built-in controls if not already done */ @@ -198,8 +203,8 @@ * Note: we rely on the fact that MDICREATESTRUCTA and MDICREATESTRUCTW * have the same layout. */ - mdi.szClass = (LPCSTR)&lpClassName; - mdi.szTitle = (LPCSTR)&lpWindowName; + mdi.szClass = (LPCSTR)lpClassName; + mdi.szTitle = (LPCSTR)lpWindowName; mdi.hOwner = hInstance; mdi.x = x; mdi.y = y; @@ -258,22 +263,38 @@ } } - if (!RtlCreateUnicodeStringFromAsciiz(&WindowName, (PCSZ)lpWindowName)) + if (Unicode) + RtlInitUnicodeString(&WindowName, (PCWSTR)lpWindowName); + else + { + if (!RtlCreateUnicodeStringFromAsciiz(&WindowName, (PCSZ)lpWindowName)) + { + if (!IS_ATOM(lpClassName)) + { + RtlFreeUnicodeString(&ClassName); + } + SetLastError(ERROR_OUTOFMEMORY); + return (HWND)0; + } + } + + if(!hMenu && (dwStyle & (WS_OVERLAPPEDWINDOW | WS_POPUP))) + { + if(Unicode) { - if (!IS_ATOM(lpClassName)) - { - RtlFreeUnicodeString(&ClassName); - } - SetLastError(ERROR_OUTOFMEMORY); - return (HWND)0; + wceW.cbSize = sizeof(WNDCLASSEXW); + if(GetClassInfoExW(hInstance, (LPCWSTR)lpClassName, &wceW) && wceW.lpszMenuName) + {DbgPrint("LoadingMenu 0x%p %d\n", wceW.lpszMenuName, IS_INTRESOURCE(wceW.lpszMenuName)); + hMenu = LoadMenuW(hInstance, wceW.lpszMenuName);DbgPrint("Loaded menu: 0x%p\n", hMenu); + } } - - if(!hMenu && (dwStyle & (WS_OVERLAPPEDWINDOW | WS_POPUP))) - { - wce.cbSize = sizeof(WNDCLASSEXA); - if(GetClassInfoExA(hInstance, lpClassName, &wce) && wce.lpszMenuName) + else { - hMenu = LoadMenuA(hInstance, wce.lpszMenuName); + wceA.cbSize = sizeof(WNDCLASSEXA); + if(GetClassInfoExA(hInstance, lpClassName, &wceA) && wceA.lpszMenuName) + { + hMenu = LoadMenuA(hInstance, wceA.lpszMenuName); + } } } @@ -303,15 +324,49 @@ SWP_NOMOVE | SWP_NOSIZE); } - - RtlFreeUnicodeString(&WindowName); - - if (!IS_ATOM(lpClassName)) - { - RtlFreeUnicodeString(&ClassName); - } - + if(!Unicode) + { + RtlFreeUnicodeString(&WindowName); + + if (!IS_ATOM(lpClassName)) + { + RtlFreeUnicodeString(&ClassName); + } + } return Handle; +} + + +/* + * @implemented + */ +HWND STDCALL +CreateWindowExA(DWORD dwExStyle, + LPCSTR lpClassName, + LPCSTR lpWindowName, + DWORD dwStyle, + int x, + int y, + int nWidth, + int nHeight, + HWND hWndParent, + HMENU hMenu, + HINSTANCE hInstance, + LPVOID lpParam) +{ + return User32CreateWindowEx(dwExStyle, + lpClassName, + lpWindowName, + dwStyle, + x, + y, + nWidth, + nHeight, + hWndParent, + hMenu, + hInstance, + lpParam, + FALSE); } @@ -332,143 +387,20 @@ HINSTANCE hInstance, LPVOID lpParam) { - UNICODE_STRING WindowName; - UNICODE_STRING ClassName; - WNDCLASSEXW wce; - HANDLE Handle; - MDICREATESTRUCTW mdi; - -#if 0 - DbgPrint("[window] CreateWindowExA style %d, exstyle %d, parent %d\n", dwStyle, dwExStyle, hWndParent); -#endif - - /* Register built-in controls if not already done */ - if (! ControlsInitialized) - { - ControlsInitialized = ControlsInit(lpClassName); - } - - - if (dwExStyle & WS_EX_MDICHILD) - { - POINT mPos[2]; - UINT id = 0; - /* lpParams of WM_[NC]CREATE is different for MDI children. - * MDICREATESTRUCT members have the originally passed values. - * - * Note: we rely on the fact that MDICREATESTRUCTA and MDICREATESTRUCTW - * have the same layout. - */ - mdi.szClass = (LPWSTR)&lpClassName; - mdi.szTitle = (LPWSTR)&lpWindowName; - mdi.hOwner = hInstance; - mdi.x = x; - mdi.y = y; - mdi.cx = nWidth; - mdi.cy = nHeight; - mdi.style = dwStyle; - mdi.lParam = (LPARAM)lpParam; - - lpParam = (LPVOID)&mdi; - - if (GetWindowLongW(hWndParent, GWL_STYLE) & MDIS_ALLCHILDSTYLES) - { - if (dwStyle & WS_POPUP) - { - DPRINT1("WS_POPUP with MDIS_ALLCHILDSTYLES is not allowed\n"); - return(0); - } - dwStyle |= (WS_CHILD | WS_CLIPSIBLINGS); - } - else - { - dwStyle &= ~WS_POPUP; - dwStyle |= (WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CAPTION | - WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX ); - } - - HWND top_child = GetWindow(hWndParent, GW_CHILD); - - if (top_child) - { - /* Restore current maximized child */ - if((dwStyle & WS_VISIBLE) && IsZoomed(top_child)) - { - DPRINT("Restoring current maximized child %p\n", top_child); - SendMessageW( top_child, WM_SETREDRAW, FALSE, 0 ); - ShowWindow(top_child, SW_RESTORE); - SendMessageW( top_child, WM_SETREDRAW, TRUE, 0 ); - } - } - - MDI_CalcDefaultChildPos(hWndParent, -1, mPos, 0, &id); - - if (!(dwStyle & WS_POPUP)) hMenu = (HMENU)id; - if (dwStyle &(WS_CHILD | WS_POPUP)) - { - - if (x == CW_USEDEFAULT || x == CW_USEDEFAULT16) - { - x = mPos[0].x; - y = mPos[0].y; - } - if (nWidth == CW_USEDEFAULT || nWidth == CW_USEDEFAULT16 || !nWidth) - nWidth = mPos[1].x; - if (nHeight == CW_USEDEFAULT || nHeight == CW_USEDEFAULT16 || !nHeight) - nHeight = mPos[1].y; - } - } - - if (IS_ATOM(lpClassName)) - { - RtlInitUnicodeString(&ClassName, NULL); - ClassName.Buffer = (LPWSTR)lpClassName; - } - else - { - RtlInitUnicodeString(&ClassName, lpClassName); - } - - RtlInitUnicodeString(&WindowName, lpWindowName); - - if(!hMenu && (dwStyle & (WS_OVERLAPPEDWINDOW | WS_POPUP))) - { - wce.cbSize = sizeof(WNDCLASSEXW); - if(GetClassInfoExW(hInstance, lpClassName, &wce) && wce.lpszMenuName) - {DbgPrint("LoadingMenu 0x%p %d\n", wce.lpszMenuName, IS_INTRESOURCE(wce.lpszMenuName)); - hMenu = LoadMenuW(hInstance, wce.lpszMenuName);DbgPrint("Loaded menu: 0x%p\n", hMenu); - } - } - - Handle = NtUserCreateWindowEx(dwExStyle, - &ClassName, - &WindowName, - dwStyle, - x, - y, - nWidth, - nHeight, - hWndParent, - hMenu, - hInstance, - lpParam, - SW_SHOW, - TRUE); - - if ((dwStyle & WS_VISIBLE) && (dwExStyle & WS_EX_MDICHILD)) - { - SendMessageW(hWndParent, WM_MDIREFRESHMENU, 0, 0); - SetWindowPos((HWND)Handle, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | - SWP_NOMOVE | SWP_NOSIZE); - } - -#if 0 - DbgPrint("[window] NtUserCreateWindowEx() == %d\n", Handle); -#endif - - return (HWND)Handle; -} - + return User32CreateWindowEx(dwExStyle, + (LPCSTR) lpClassName, + (LPCSTR) lpWindowName, + dwStyle, + x, + y, + nWidth, + nHeight, + hWndParent, + hMenu, + hInstance, + lpParam, + TRUE); +} /* * @unimplemented
18 years, 5 months
1
0
0
0
[fireball] 22839: ROS-specific patch for autosyncing with Wine
by fireball@svn.reactos.org
Author: fireball Date: Tue Jul 4 21:33:54 2006 New Revision: 22839 URL:
http://svn.reactos.org/svn/reactos?rev=22839&view=rev
Log: ROS-specific patch for autosyncing with Wine Added: trunk/reactos/dll/win32/crypt32/crypt32_ros.diff Added: trunk/reactos/dll/win32/crypt32/crypt32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32_…
============================================================================== --- trunk/reactos/dll/win32/crypt32/crypt32_ros.diff (added) +++ trunk/reactos/dll/win32/crypt32/crypt32_ros.diff Tue Jul 4 21:33:54 2006 @@ -1,0 +1,37 @@ +Index: crypt32.rc +=================================================================== +--- crypt32.rc (revision 22838) ++++ crypt32.rc (working copy) +@@ -17,12 +17,18 @@ + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ ++ ++#define REACTOS_VERSION_DLL ++#define REACTOS_STR_FILE_DESCRIPTION "CryptoAPI Library\0" ++#define REACTOS_STR_INTERNAL_NAME "crypt32\0" ++#define REACTOS_STR_ORIGINAL_FILENAME "crypt32.dll\0" ++ + #include "windef.h" + #include "winbase.h" + #include "winuser.h" + #include "cryptres.h" + +-#include "version.rc" ++#include <reactos/version.rc> + + #include "crypt32_De.rc" + #include "crypt32_En.rc" +Index: main.c +=================================================================== +--- main.c (revision 22838) ++++ main.c (working copy) +@@ -294,7 +294,7 @@ + return FALSE; + } + +-BOOL WINAPI CryptVerifyMessageSignature(/*PCRYPT_VERIFY_MESSAGE_PARA*/ void* pVerifyPara, ++BOOL WINAPI CryptVerifyMessageSignature(PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, + DWORD dwSignerIndex, const BYTE* pbSignedBlob, DWORD cbSignedBlob, + BYTE* pbDecoded, DWORD* pcbDecoded, PCCERT_CONTEXT* ppSignerCert) + {
18 years, 5 months
1
0
0
0
[ion] 22838: - Misc formatting fixes.
by ion@svn.reactos.org
Author: ion Date: Tue Jul 4 20:53:29 2006 New Revision: 22838 URL:
http://svn.reactos.org/svn/reactos?rev=22838&view=rev
Log: - Misc formatting fixes. Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Tue Jul 4 20:53:29 2006 @@ -830,6 +830,7 @@ OUT PVOID OutputBuffer, IN ULONG OutputBufferLength OPTIONAL) { + /* Call the Generic Function */ return IopDeviceFsIoControl(DeviceHandle, Event, UserApcRoutine, @@ -1494,7 +1495,7 @@ NTSTATUS NTAPI NtQueryInformationFile(IN HANDLE FileHandle, - IN PIO_STATUS_BLOCK IoStatusBlock, + OUT PIO_STATUS_BLOCK IoStatusBlock, IN PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass) @@ -2009,7 +2010,7 @@ NTSTATUS NTAPI NtSetInformationFile(IN HANDLE FileHandle, - IN PIO_STATUS_BLOCK IoStatusBlock, + OUT PIO_STATUS_BLOCK IoStatusBlock, IN PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass) @@ -2324,17 +2325,17 @@ */ NTSTATUS NTAPI -NtSetQuotaInformationFile(HANDLE FileHandle, - PIO_STATUS_BLOCK IoStatusBlock, - PVOID Buffer, - ULONG BufferLength) +NtSetQuotaInformationFile(IN HANDLE FileHandle, + OUT PIO_STATUS_BLOCK IoStatusBlock, + IN PVOID Buffer, + IN ULONG BufferLength) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; } /* - * @unimplemented + * @implemented */ NTSTATUS NTAPI
18 years, 5 months
1
0
0
0
[ion] 22837: - Fix NtSetInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done except for Completion Ports, like the previous code).
by ion@svn.reactos.org
Author: ion Date: Tue Jul 4 20:50:56 2006 New Revision: 22837 URL:
http://svn.reactos.org/svn/reactos?rev=22837&view=rev
Log: - Fix NtSetInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done except for Completion Ports, like the previous code). Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Tue Jul 4 20:50:56 2006 @@ -24,12 +24,6 @@ /// // // TODO: -// - Update to new semantics: -// - Lock/Unlock <= DONE -// - Query/Set Volume Info <= DONE -// - Read/Write file <= DONE -// - QueryDirectoryFile <= DONE -// - Query/Set File Info // - Add SEH to some places where it's missing (MDLs, etc) // - Add a generic Cleanup/Exception Routine // - Add probe/alignment checks for Query/Set routines @@ -2014,311 +2008,311 @@ */ NTSTATUS NTAPI -NtSetInformationFile(HANDLE FileHandle, - PIO_STATUS_BLOCK IoStatusBlock, - PVOID FileInformation, - ULONG Length, - FILE_INFORMATION_CLASS FileInformationClass) +NtSetInformationFile(IN HANDLE FileHandle, + IN PIO_STATUS_BLOCK IoStatusBlock, + IN PVOID FileInformation, + IN ULONG Length, + IN FILE_INFORMATION_CLASS FileInformationClass) { - OBJECT_HANDLE_INFORMATION HandleInformation; + PFILE_OBJECT FileObject; + NTSTATUS Status = STATUS_SUCCESS; + PIRP Irp; + PDEVICE_OBJECT DeviceObject; PIO_STACK_LOCATION StackPtr; - PFILE_OBJECT FileObject; - PDEVICE_OBJECT DeviceObject; - PIRP Irp; - KEVENT Event; + KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); + PKEVENT Event = NULL; BOOLEAN LocalEvent = FALSE; - NTSTATUS Status = STATUS_SUCCESS; - KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); - BOOLEAN Failed = FALSE; - + PKNORMAL_ROUTINE NormalRoutine; + PVOID NormalContext; + KIRQL OldIrql; + IO_STATUS_BLOCK KernelIosb; + PVOID Queue; + PFILE_COMPLETION_INFORMATION CompletionInfo = FileInformation; + PIO_COMPLETION_CONTEXT Context; + + /* Check if we're called from user mode */ if (PreviousMode != KernelMode) { + /* Enter SEH for probing */ _SEH_TRY { - if (IoStatusBlock) - { - ProbeForWrite(IoStatusBlock, - sizeof(IO_STATUS_BLOCK), - sizeof(ULONG)); - } - + /* Probe the I/O Status block */ + ProbeForWrite(IoStatusBlock, + sizeof(IO_STATUS_BLOCK), + sizeof(ULONG)); + + /* Probe the information */ if (Length) ProbeForRead(FileInformation, Length, 1); } _SEH_HANDLE { + /* Get the exception code */ Status = _SEH_GetExceptionCode(); } _SEH_END; - - if (!NT_SUCCESS(Status)) - { - return Status; - } - } - - /* Get the file object from the file handle */ + + /* Check if probing failed */ + if (!NT_SUCCESS(Status)) return Status; + } + + /* Reference the Handle */ Status = ObReferenceObjectByHandle(FileHandle, - 0, + 0, // FIXME IoFileObjectType, PreviousMode, (PVOID *)&FileObject, - &HandleInformation); + NULL); if (!NT_SUCCESS(Status)) return Status; - /* Check information class specific access rights */ - switch (FileInformationClass) - { - case FileBasicInformation: - if (!(HandleInformation.GrantedAccess & FILE_WRITE_ATTRIBUTES)) - Failed = TRUE; - break; - - case FileDispositionInformation: - if (!(HandleInformation.GrantedAccess & DELETE)) - Failed = TRUE; - break; - - case FilePositionInformation: - if (!(HandleInformation.GrantedAccess & (FILE_READ_DATA | FILE_WRITE_DATA)) || - !(FileObject->Flags & FO_SYNCHRONOUS_IO)) - Failed = TRUE; - break; - - case FileEndOfFileInformation: - if (!(HandleInformation.GrantedAccess & FILE_WRITE_DATA)) - Failed = TRUE; - break; - - default: - break; - } - - if (Failed) - { - ObDereferenceObject(FileObject); - return STATUS_ACCESS_DENIED; - } - - if (FileInformationClass == FilePositionInformation) - { - if (Length < sizeof(FILE_POSITION_INFORMATION)) - { - Status = STATUS_BUFFER_OVERFLOW; - } - else - { - _SEH_TRY - { - FileObject->CurrentByteOffset = ((PFILE_POSITION_INFORMATION)FileInformation)->CurrentByteOffset; - IoStatusBlock->Information = 0; - Status = IoStatusBlock->Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - } - ObDereferenceObject(FileObject); - return Status; - } + /* Check if this is a direct open or not */ + if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN) + { + /* Get the device object */ + DeviceObject = IoGetAttachedDevice(FileObject->DeviceObject); + } + else + { + /* Get the device object */ + DeviceObject = IoGetRelatedDeviceObject(FileObject); + } + + /* Check if this is a file that was opened for Synch I/O */ + if (FileObject->Flags & FO_SYNCHRONOUS_IO) + { + /* Lock it */ + IopLockFileObject(FileObject); + + /* Check if the caller just wants the position */ + if (FileInformationClass == FilePositionInformation) + { + /* Protect write in SEH */ + _SEH_TRY + { + /* Write the offset */ + FileObject->CurrentByteOffset = + ((PFILE_POSITION_INFORMATION)FileInformation)-> + CurrentByteOffset; + + /* Fill out the I/O Status Block */ + IoStatusBlock->Information = 0; + Status = IoStatusBlock->Status = STATUS_SUCCESS; + } + _SEH_HANDLE + { + /* Get the exception code */ + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + /* Release the file lock, dereference the file and return */ + IopUnlockFileObject(FileObject); + ObDereferenceObject(FileObject); + return Status; + } + } + else + { + /* Use local event */ + Event = ExAllocatePoolWithTag(NonPagedPool, sizeof(KEVENT), TAG_IO); + KeInitializeEvent(Event, SynchronizationEvent, FALSE); + LocalEvent = TRUE; + } + + /* Clear the File Object event */ + KeClearEvent(&FileObject->Event); + + /* Allocate the IRP */ + Irp = IoAllocateIrp(DeviceObject->StackSize, TRUE); + if (!Irp) return IopCleanupFailedIrp(FileObject, NULL); + + /* Set the IRP */ + Irp->Tail.Overlay.OriginalFileObject = FileObject; + Irp->Tail.Overlay.Thread = PsGetCurrentThread(); + Irp->RequestorMode = PreviousMode; + Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; + Irp->Flags = (LocalEvent) ? IRP_SYNCHRONOUS_API : 0; + Irp->UserIosb = (LocalEvent) ? &KernelIosb : IoStatusBlock; + Irp->UserEvent = (LocalEvent) ? Event : NULL; + Irp->AssociatedIrp.SystemBuffer = NULL; + Irp->MdlAddress = NULL; + Irp->UserBuffer = FileInformation; + + /* Set the Stack Data */ + StackPtr = IoGetNextIrpStackLocation(Irp); + StackPtr->MajorFunction = IRP_MJ_SET_INFORMATION; + StackPtr->FileObject = FileObject; + + /* Allocate a buffer */ + Irp->AssociatedIrp.SystemBuffer = + ExAllocatePoolWithTag(NonPagedPool, + Length, + TAG_SYSB); + + /* Copy the data into it */ + RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer, FileInformation, Length); + + /* Set the flags */ + Irp->Flags = (IRP_BUFFERED_IO | + IRP_DEALLOCATE_BUFFER | + IRP_DEFER_IO_COMPLETION); + + /* Set the Parameters */ + StackPtr->Parameters.SetFile.FileInformationClass = FileInformationClass; + StackPtr->Parameters.SetFile.Length = Length; + + /* Queue the IRP */ + //IopQueueIrpToThread(Irp); + + /* Update operation counts */ + IopUpdateOperationCount(IopOtherTransfer); /* FIXME: Later, we can implement a lot of stuff here and avoid a driver call */ /* Handle IO Completion Port quickly */ if (FileInformationClass == FileCompletionInformation) { - PVOID Queue; - PFILE_COMPLETION_INFORMATION CompletionInfo = FileInformation; - PIO_COMPLETION_CONTEXT Context; - - if (FileObject->Flags & FO_SYNCHRONOUS_IO || FileObject->CompletionContext != NULL) - { + /* Check if the file object already has a completion port */ + if ((FileObject->Flags & FO_SYNCHRONOUS_IO) || + (FileObject->CompletionContext)) + { + /* Fail */ Status = STATUS_INVALID_PARAMETER; } else { - if (Length < sizeof(FILE_COMPLETION_INFORMATION)) + /* Reference the Port */ + CompletionInfo = Irp->AssociatedIrp.SystemBuffer; + Status = ObReferenceObjectByHandle(CompletionInfo->Port, + IO_COMPLETION_MODIFY_STATE, + IoCompletionType, + PreviousMode, + (PVOID*)&Queue, + NULL); + if (NT_SUCCESS(Status)) { - Status = STATUS_INFO_LENGTH_MISMATCH; - } - else - { - /* Reference the Port */ - Status = ObReferenceObjectByHandle(CompletionInfo->Port, /* FIXME - protect with SEH! */ - IO_COMPLETION_MODIFY_STATE, - IoCompletionType, - PreviousMode, - (PVOID*)&Queue, - NULL); - if (NT_SUCCESS(Status)) + /* Allocate the Context */ + Context = ExAllocatePoolWithTag(PagedPool, + sizeof(IO_COMPLETION_CONTEXT), + IOC_TAG); + if (Context) { - /* Allocate the Context */ - Context = ExAllocatePoolWithTag(PagedPool, - sizeof(IO_COMPLETION_CONTEXT), - TAG('I', 'o', 'C', 'p')); - - if (Context != NULL) + /* Set the Data */ + Context->Key = CompletionInfo->Key; + Context->Port = Queue; + if (InterlockedCompareExchangePointer(&FileObject-> + CompletionContext, + Context, + NULL)) { - /* Set the Data */ - Context->Key = CompletionInfo->Key; /* FIXME - protect with SEH! */ - Context->Port = Queue; - - if (InterlockedCompareExchangePointer(&FileObject->CompletionContext, - Context, - NULL) != NULL) - { - /* someone else set the completion port in the - meanwhile, fail */ - ExFreePool(Context); - ObDereferenceObject(Queue); - Status = STATUS_INVALID_PARAMETER; - } - } - else - { - /* Dereference the Port now */ + /* + * Someone else set the completion port in the + * meanwhile, so dereference the port and fail. + */ + ExFreePool(Context); ObDereferenceObject(Queue); - Status = STATUS_INSUFFICIENT_RESOURCES; + Status = STATUS_INVALID_PARAMETER; } } + else + { + /* Dereference the Port now */ + ObDereferenceObject(Queue); + Status = STATUS_INSUFFICIENT_RESOURCES; + } } } - /* Complete the I/O */ - ObDereferenceObject(FileObject); - return Status; - } - - /* Check if this is a direct open or not */ - if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN) - { - DeviceObject = IoGetAttachedDevice(FileObject->DeviceObject); + /* Set the IRP Status */ + Irp->IoStatus.Status = Status; + Irp->IoStatus.Information = 0; } else { - DeviceObject = IoGetRelatedDeviceObject(FileObject); - } - - /* Check if we should use Sync IO or not */ - if (FileObject->Flags & FO_SYNCHRONOUS_IO) - { - /* Use File Object event */ - KeClearEvent(&FileObject->Event); - } - else - { - /* Use local event */ - KeInitializeEvent(&Event, SynchronizationEvent, FALSE); - LocalEvent = TRUE; - } - - /* Allocate the IRP */ - if (!(Irp = IoAllocateIrp(DeviceObject->StackSize, FALSE))) - { - ObDereferenceObject(FileObject); - return STATUS_INSUFFICIENT_RESOURCES; - } - - /* Allocate the System Buffer */ - Irp->AssociatedIrp.SystemBuffer = ExAllocatePoolWithTag(NonPagedPool, - Length, - TAG_SYSB); - if (!Irp->AssociatedIrp.SystemBuffer) - { - Status = STATUS_INSUFFICIENT_RESOURCES; - goto failfreeirp; - } - - /* Copy the data inside */ - if (PreviousMode != KernelMode) - { - _SEH_TRY - { - /* no need to probe again */ - RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer, - FileInformation, - Length); - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - - if (!NT_SUCCESS(Status)) - { - ExFreePoolWithTag(Irp->AssociatedIrp.SystemBuffer, - TAG_SYSB); - Irp->AssociatedIrp.SystemBuffer = NULL; -failfreeirp: - IoFreeIrp(Irp); - ObDereferenceObject(FileObject); - return Status; - } - } - else - { - RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer, - FileInformation, - Length); - } - - /* Set up the IRP */ - Irp->Tail.Overlay.OriginalFileObject = FileObject; - Irp->RequestorMode = PreviousMode; - Irp->UserIosb = IoStatusBlock; - Irp->UserEvent = (LocalEvent) ? &Event : NULL; - Irp->Tail.Overlay.Thread = PsGetCurrentThread(); - Irp->Flags = IRP_BUFFERED_IO | IRP_DEALLOCATE_BUFFER; - Irp->Flags |= (LocalEvent) ? IRP_SYNCHRONOUS_API : 0; - - /* Set up Stack Data */ - StackPtr = IoGetNextIrpStackLocation(Irp); - StackPtr->MajorFunction = IRP_MJ_SET_INFORMATION; - StackPtr->FileObject = FileObject; - - /* Set the Parameters */ - StackPtr->Parameters.SetFile.FileInformationClass = FileInformationClass; - StackPtr->Parameters.SetFile.Length = Length; - - /* Call the Driver */ - Status = IoCallDriver(DeviceObject, Irp); + /* Call the Driver */ + Status = IoCallDriver(DeviceObject, Irp); + } + + /* Check if we're waiting for the IRP to complete */ if (Status == STATUS_PENDING) { + /* Check if this was async I/O */ if (LocalEvent) { - KeWaitForSingleObject(&Event, - Executive, - PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, - NULL); + /* Then to a non-alertable wait */ + Status = KeWaitForSingleObject(&Event, + Executive, + PreviousMode, + FALSE, + NULL); + if (Status == STATUS_USER_APC) + { + /* Abort the request */ + IopAbortInterruptedIrp(Event, Irp); + } + + /* Set the final status */ + Status = KernelIosb.Status; + + /* Enter SEH to write the IOSB back */ _SEH_TRY { - Status = IoStatusBlock->Status; + /* Write it back to the caller */ + *IoStatusBlock = KernelIosb; } _SEH_HANDLE { + /* Get the exception code */ Status = _SEH_GetExceptionCode(); } _SEH_END; + + /* Free the event */ + ExFreePool(Event); } else { - KeWaitForSingleObject(&FileObject->Event, - Executive, - PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, - NULL); - _SEH_TRY + /* Wait for the IRP */ + Status = KeWaitForSingleObject(&FileObject->Event, + Executive, + PreviousMode, + FileObject->Flags & FO_ALERTABLE_IO, + NULL); + if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED)) { - Status = FileObject->FinalStatus; + /* Abort the request */ + IopAbortInterruptedIrp(&FileObject->Event, Irp); } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - } + + /* Set the final status */ + Status = FileObject->FinalStatus; + + /* Release the file lock */ + IopUnlockFileObject(FileObject); + } + } + else + { + /* Free the event if we had one */ + if (LocalEvent) + { + /* Clear it in the IRP for completion */ + Irp->UserEvent = NULL; + ExFreePool(Event); + } + + /* Set the caller IOSB */ + Irp->UserIosb = IoStatusBlock; + + /* The IRP wasn't completed, complete it ourselves */ + KeRaiseIrql(APC_LEVEL, &OldIrql); + IopCompleteRequest(&Irp->Tail.Apc, + &NormalRoutine, + &NormalContext, + (PVOID*)&FileObject, + &NormalContext); + KeLowerIrql(OldIrql); + + /* Release the file object if we had locked it*/ + if (!LocalEvent) IopUnlockFileObject(FileObject); } /* Return the Status */
18 years, 5 months
1
0
0
0
[ion] 22836: - Fix NtQueryInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done).
by ion@svn.reactos.org
Author: ion Date: Tue Jul 4 19:36:55 2006 New Revision: 22836 URL:
http://svn.reactos.org/svn/reactos?rev=22836&view=rev
Log: - Fix NtQueryInformationFile to use correct sync/async semantics and use deferred I/O completion. This routine doesn't use IopSyncronous/Asyncronous helper routines because it can be optimized to handle some Information classes in-line (not currently being done). Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c…
============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c Tue Jul 4 19:36:55 2006 @@ -32,6 +32,7 @@ // - Query/Set File Info // - Add SEH to some places where it's missing (MDLs, etc) // - Add a generic Cleanup/Exception Routine +// - Add probe/alignment checks for Query/Set routines // - Add another parameter to IopCleanupFailedIrp // - Add support for Fast Dispatch I/O // - Add support for some fast-paths when querying/setting data @@ -1506,178 +1507,234 @@ { OBJECT_HANDLE_INFORMATION HandleInformation; PFILE_OBJECT FileObject; - NTSTATUS Status; + NTSTATUS Status = STATUS_SUCCESS; PIRP Irp; PDEVICE_OBJECT DeviceObject; PIO_STACK_LOCATION StackPtr; KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); - KEVENT Event; + PKEVENT Event = NULL; BOOLEAN LocalEvent = FALSE; - BOOLEAN Failed = FALSE; + PKNORMAL_ROUTINE NormalRoutine; + PVOID NormalContext; + KIRQL OldIrql; + IO_STATUS_BLOCK KernelIosb; + + /* Check if we're called from user mode */ + if (PreviousMode != KernelMode) + { + /* Enter SEH for probing */ + _SEH_TRY + { + /* Probe the I/O Status block */ + ProbeForWrite(IoStatusBlock, + sizeof(IO_STATUS_BLOCK), + sizeof(ULONG)); + + /* Probe the information */ + if (Length) ProbeForWrite(FileInformation, Length, 1); + } + _SEH_HANDLE + { + /* Get the exception code */ + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + /* Check if probing failed */ + if (!NT_SUCCESS(Status)) return Status; + } /* Reference the Handle */ Status = ObReferenceObjectByHandle(FileHandle, - 0, + 0, // FIXME IoFileObjectType, PreviousMode, (PVOID *)&FileObject, &HandleInformation); if (!NT_SUCCESS(Status)) return Status; - /* Check information class specific access rights */ - switch (FileInformationClass) - { - case FileBasicInformation: - if (!(HandleInformation.GrantedAccess & FILE_READ_ATTRIBUTES)) - Failed = TRUE; - break; - - case FilePositionInformation: - if (!(HandleInformation.GrantedAccess & (FILE_READ_DATA | FILE_WRITE_DATA)) || - !(FileObject->Flags & FO_SYNCHRONOUS_IO)) - Failed = TRUE; - break; - - default: - break; - } - - if (Failed) - { - ObDereferenceObject(FileObject); - return STATUS_ACCESS_DENIED; - } - - if (FileInformationClass == FilePositionInformation) - { - if (Length < sizeof(FILE_POSITION_INFORMATION)) - { - Status = STATUS_BUFFER_OVERFLOW; - } - else - { - _SEH_TRY - { - ((PFILE_POSITION_INFORMATION)FileInformation)->CurrentByteOffset = FileObject->CurrentByteOffset; - IoStatusBlock->Information = sizeof(FILE_POSITION_INFORMATION); - Status = IoStatusBlock->Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - } - ObDereferenceObject(FileObject); - return Status; - } - /* Check if this is a direct open or not */ if (FileObject->Flags & FO_DIRECT_DEVICE_OPEN) { + /* Get the device object */ DeviceObject = IoGetAttachedDevice(FileObject->DeviceObject); } else { + /* Get the device object */ DeviceObject = IoGetRelatedDeviceObject(FileObject); } - if (FileInformationClass == FileAlignmentInformation) - { - if (Length < sizeof(FILE_ALIGNMENT_INFORMATION)) - { - Status = STATUS_BUFFER_OVERFLOW; - } - else - { - _SEH_TRY - { - ((PFILE_ALIGNMENT_INFORMATION)FileInformation)->AlignmentRequirement = DeviceObject->AlignmentRequirement; - IoStatusBlock->Information = sizeof(FILE_ALIGNMENT_INFORMATION); - Status = IoStatusBlock->Status = STATUS_SUCCESS; - } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; - } - ObDereferenceObject(FileObject); - return Status; - } - - /* Check if we should use Sync IO or not */ + /* Check if this is a file that was opened for Synch I/O */ if (FileObject->Flags & FO_SYNCHRONOUS_IO) { - /* Use File Object event */ - KeClearEvent(&FileObject->Event); + /* Lock it */ + IopLockFileObject(FileObject); + + /* Check if the caller just wants the position */ + if (FileInformationClass == FilePositionInformation) + { + /* Protect write in SEH */ + _SEH_TRY + { + /* Write the offset */ + ((PFILE_POSITION_INFORMATION)FileInformation)-> + CurrentByteOffset = FileObject->CurrentByteOffset; + + /* Fill out the I/O Status Block */ + IoStatusBlock->Information = sizeof(FILE_POSITION_INFORMATION); + Status = IoStatusBlock->Status = STATUS_SUCCESS; + } + _SEH_HANDLE + { + /* Get the exception code */ + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + /* Release the file lock, dereference the file and return */ + IopUnlockFileObject(FileObject); + ObDereferenceObject(FileObject); + return Status; + } } else { /* Use local event */ - KeInitializeEvent(&Event, SynchronizationEvent, FALSE); + Event = ExAllocatePoolWithTag(NonPagedPool, sizeof(KEVENT), TAG_IO); + KeInitializeEvent(Event, SynchronizationEvent, FALSE); LocalEvent = TRUE; } + /* Clear the File Object event */ + KeClearEvent(&FileObject->Event); + /* Allocate the IRP */ - if (!(Irp = IoAllocateIrp(DeviceObject->StackSize, FALSE))) - { - ObDereferenceObject(FileObject); - return STATUS_INSUFFICIENT_RESOURCES; - } - - /* Allocate the System Buffer */ - Irp->AssociatedIrp.SystemBuffer = ExAllocatePoolWithTag(NonPagedPool, - Length, - TAG_SYSB); - if (!Irp->AssociatedIrp.SystemBuffer) - { - IoFreeIrp(Irp); - ObDereferenceObject(FileObject); - return STATUS_INSUFFICIENT_RESOURCES; - } - - /* Set up the IRP */ + Irp = IoAllocateIrp(DeviceObject->StackSize, FALSE); + if (!Irp) return IopCleanupFailedIrp(FileObject, NULL); + + /* Set the IRP */ Irp->Tail.Overlay.OriginalFileObject = FileObject; + Irp->Tail.Overlay.Thread = PsGetCurrentThread(); Irp->RequestorMode = PreviousMode; - Irp->UserIosb = IoStatusBlock; - Irp->UserEvent = (LocalEvent) ? &Event : NULL; + Irp->Overlay.AsynchronousParameters.UserApcRoutine = NULL; + Irp->Flags = (LocalEvent) ? IRP_SYNCHRONOUS_API : 0; + Irp->UserIosb = (LocalEvent) ? &KernelIosb : IoStatusBlock; + Irp->UserEvent = (LocalEvent) ? Event : NULL; + Irp->AssociatedIrp.SystemBuffer = NULL; + Irp->MdlAddress = NULL; Irp->UserBuffer = FileInformation; - Irp->Tail.Overlay.Thread = PsGetCurrentThread(); - Irp->Flags = IRP_BUFFERED_IO | IRP_DEALLOCATE_BUFFER | IRP_INPUT_OPERATION; - Irp->Flags |= (LocalEvent) ? IRP_SYNCHRONOUS_API : 0; - - /* Set up Stack Data */ + + /* Set the Stack Data */ StackPtr = IoGetNextIrpStackLocation(Irp); StackPtr->MajorFunction = IRP_MJ_QUERY_INFORMATION; StackPtr->FileObject = FileObject; + /* Allocate a buffer */ + Irp->AssociatedIrp.SystemBuffer = + ExAllocatePoolWithTag(NonPagedPool, + Length, + TAG_SYSB); + + /* Set the flags */ + Irp->Flags = (IRP_BUFFERED_IO | + IRP_DEALLOCATE_BUFFER | + IRP_INPUT_OPERATION | + IRP_DEFER_IO_COMPLETION); + /* Set the Parameters */ StackPtr->Parameters.QueryFile.FileInformationClass = FileInformationClass; StackPtr->Parameters.QueryFile.Length = Length; + /* Queue the IRP */ + //IopQueueIrpToThread(Irp); + + /* Update operation counts */ + IopUpdateOperationCount(IopOtherTransfer); + /* Call the Driver */ Status = IoCallDriver(DeviceObject, Irp); if (Status == STATUS_PENDING) { + /* Check if this was async I/O */ if (LocalEvent) { - KeWaitForSingleObject(&Event, - Executive, - PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, - NULL); - Status = IoStatusBlock->Status; + /* Then to a non-alertable wait */ + Status = KeWaitForSingleObject(&Event, + Executive, + PreviousMode, + FALSE, + NULL); + if (Status == STATUS_USER_APC) + { + /* Abort the request */ + IopAbortInterruptedIrp(Event, Irp); + } + + /* Set the final status */ + Status = KernelIosb.Status; + + /* Enter SEH to write the IOSB back */ + _SEH_TRY + { + /* Write it back to the caller */ + *IoStatusBlock = KernelIosb; + } + _SEH_HANDLE + { + /* Get the exception code */ + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + /* Free the event */ + ExFreePool(Event); } else { - KeWaitForSingleObject(&FileObject->Event, - Executive, - PreviousMode, - FileObject->Flags & FO_ALERTABLE_IO, - NULL); + /* Wait for the IRP */ + Status = KeWaitForSingleObject(&FileObject->Event, + Executive, + PreviousMode, + FileObject->Flags & FO_ALERTABLE_IO, + NULL); + if ((Status == STATUS_USER_APC) || (Status == STATUS_ALERTED)) + { + /* Abort the request */ + IopAbortInterruptedIrp(&FileObject->Event, Irp); + } + + /* Set the final status */ Status = FileObject->FinalStatus; - } + + /* Release the file lock */ + IopUnlockFileObject(FileObject); + } + } + else + { + /* Free the event if we had one */ + if (LocalEvent) + { + /* Clear it in the IRP for completion */ + Irp->UserEvent = NULL; + ExFreePool(Event); + } + + /* Set the caller IOSB */ + Irp->UserIosb = IoStatusBlock; + + /* The IRP wasn't completed, complete it ourselves */ + KeRaiseIrql(APC_LEVEL, &OldIrql); + IopCompleteRequest(&Irp->Tail.Apc, + &NormalRoutine, + &NormalContext, + (PVOID*)&FileObject, + &NormalContext); + KeLowerIrql(OldIrql); + + /* Release the file object if we had locked it*/ + if (!LocalEvent) IopUnlockFileObject(FileObject); } /* Return the Status */
18 years, 5 months
1
0
0
0
← Newer
1
...
53
54
55
56
57
58
59
...
67
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
Results per page:
10
25
50
100
200