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
January 2012
----- 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
559 discussions
Start a n
N
ew thread
[akhaldi] 55267: [OBJSEL] * Sync to Wine 1.3.37.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 22:24:01 2012 New Revision: 55267 URL:
http://svn.reactos.org/svn/reactos?rev=55267&view=rev
Log: [OBJSEL] * Sync to Wine 1.3.37. Added: trunk/reactos/dll/win32/objsel/objsel.rgs (with props) trunk/reactos/dll/win32/objsel/objsel_classes.idl (with props) Removed: trunk/reactos/dll/win32/objsel/regsvr.c Modified: trunk/reactos/dll/win32/objsel/CMakeLists.txt trunk/reactos/dll/win32/objsel/factory.c trunk/reactos/dll/win32/objsel/objsel.c trunk/reactos/dll/win32/objsel/objsel.rbuild trunk/reactos/dll/win32/objsel/objsel.rc trunk/reactos/dll/win32/objsel/objsel_private.h trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/objsel/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/CMakeList…
============================================================================== --- trunk/reactos/dll/win32/objsel/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/CMakeLists.txt [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -6,12 +6,12 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +set_rc_compiler() spec2def(objsel.dll objsel.spec) list(APPEND SOURCE factory.c objsel.c - regsvr.c objsel.rc ${CMAKE_CURRENT_BINARY_DIR}/objsel.def) Modified: trunk/reactos/dll/win32/objsel/factory.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/factory.c…
============================================================================== --- trunk/reactos/dll/win32/objsel/factory.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/factory.c [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -25,6 +25,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(objsel); + +static inline ClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface) +{ + return CONTAINING_RECORD(iface, ClassFactoryImpl, IClassFactory_iface); +} /********************************************************************** * OBJSEL_IClassFactory_QueryInterface (also IUnknown) @@ -60,7 +65,7 @@ */ static ULONG WINAPI OBJSEL_IClassFactory_AddRef(LPCLASSFACTORY iface) { - ClassFactoryImpl *This = (ClassFactoryImpl *)iface; + ClassFactoryImpl *This = impl_from_IClassFactory(iface); ULONG ref; TRACE("\n"); @@ -83,7 +88,7 @@ */ static ULONG WINAPI OBJSEL_IClassFactory_Release(LPCLASSFACTORY iface) { - ClassFactoryImpl *This = (ClassFactoryImpl *)iface; + ClassFactoryImpl *This = impl_from_IClassFactory(iface); ULONG ref; TRACE("\n"); @@ -160,4 +165,4 @@ * static ClassFactory instance */ -ClassFactoryImpl OBJSEL_ClassFactory = { &IClassFactory_Vtbl, 0 }; +ClassFactoryImpl OBJSEL_ClassFactory = { { &IClassFactory_Vtbl }, 0 }; Modified: trunk/reactos/dll/win32/objsel/objsel.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel.c?…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/objsel.c [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -19,6 +19,7 @@ */ #include "objsel_private.h" +#include "rpcproxy.h" #include "wine/debug.h" @@ -53,7 +54,7 @@ *ppv = NULL; if (IsEqualGUID(rclsid, &CLSID_DsObjectPicker)) - return IClassFactory_QueryInterface((IClassFactory*)&OBJSEL_ClassFactory, iid, ppv); + return IClassFactory_QueryInterface(&OBJSEL_ClassFactory.IClassFactory_iface, iid, ppv); FIXME("CLSID: %s, IID: %s\n", debugstr_guid(rclsid), debugstr_guid(iid)); return CLASS_E_CLASSNOTAVAILABLE; @@ -66,6 +67,24 @@ HRESULT WINAPI DllCanUnloadNow(void) { return dll_refs != 0 ? S_FALSE : S_OK; +} + + +/*********************************************************************** + * DllRegisterServer (OBJSEL.@) + */ +HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources( hInstance ); +} + + +/*********************************************************************** + * DllUnregisterServer (OBJSEL.@) + */ +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources( hInstance ); } @@ -80,12 +99,17 @@ } +static inline IDsObjectPickerImpl *impl_from_IDsObjectPicker(IDsObjectPicker *iface) +{ + return CONTAINING_RECORD(iface, IDsObjectPickerImpl, IDsObjectPicker_iface); +} + /********************************************************************** * OBJSEL_IDsObjectPicker_AddRef (also IUnknown) */ static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef(IDsObjectPicker * iface) { - IDsObjectPickerImpl *This = (IDsObjectPickerImpl *)iface; + IDsObjectPickerImpl *This = impl_from_IDsObjectPicker(iface); ULONG ref; TRACE("\n"); @@ -108,7 +132,7 @@ */ static ULONG WINAPI OBJSEL_IDsObjectPicker_Release(IDsObjectPicker * iface) { - IDsObjectPickerImpl *This = (IDsObjectPickerImpl *)iface; + IDsObjectPickerImpl *This = impl_from_IDsObjectPicker(iface); ULONG ref; TRACE("\n"); @@ -200,9 +224,9 @@ sizeof(IDsObjectPickerImpl)); if (Instance != NULL) { - Instance->lpVtbl = &IDsObjectPicker_Vtbl; - OBJSEL_IDsObjectPicker_AddRef((IDsObjectPicker *)Instance); - + Instance->IDsObjectPicker_iface.lpVtbl = &IDsObjectPicker_Vtbl; + OBJSEL_IDsObjectPicker_AddRef(&Instance->IDsObjectPicker_iface); + *ppvObj = Instance; return S_OK; } Modified: trunk/reactos/dll/win32/objsel/objsel.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel.rb…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/objsel.rbuild [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -16,7 +16,6 @@ <library>ntdll</library> <file>factory.c</file> <file>objsel.c</file> - <file>regsvr.c</file> <file>objsel.rc</file> <pch>objsel_private.h</pch> </module> Modified: trunk/reactos/dll/win32/objsel/objsel.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel.rc…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/objsel.rc [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -23,6 +23,8 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +1 WINE_REGISTRY objsel.rgs + #define WINE_FILENAME_STR "objsel.dll" #include "wine/wine_common_ver.rc" Added: trunk/reactos/dll/win32/objsel/objsel.rgs URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel.rg…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel.rgs (added) +++ trunk/reactos/dll/win32/objsel/objsel.rgs [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -1,0 +1,13 @@ +HKCR +{ + NoRemove Interface + { + } + NoRemove CLSID + { + '{17D6CCD8-3B7B-11D2-B9E0-00C04FD8DBF7}' = s 'DsObjectPicker' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Both' } + } + } +} Propchange: trunk/reactos/dll/win32/objsel/objsel.rgs ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/dll/win32/objsel/objsel_classes.idl URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel_cl…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel_classes.idl (added) +++ trunk/reactos/dll/win32/objsel/objsel_classes.idl [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -1,0 +1,25 @@ +/* + * COM Classes for objsel + * + * Copyright 2010 Alexandre Julliard + * + * 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 + */ + +[ + threading(both), + uuid(17d6ccd8-3b7b-11d2-b9e0-00c04fd8dbf7) +] +coclass DsObjectPicker { interface IDsObjectPicker; } Propchange: trunk/reactos/dll/win32/objsel/objsel_classes.idl ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/win32/objsel/objsel_private.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/objsel_pr…
============================================================================== --- trunk/reactos/dll/win32/objsel/objsel_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/objsel_private.h [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -42,23 +42,23 @@ * Dll lifetime tracking declaration for objsel.dll */ -extern LONG dll_refs; +extern LONG dll_refs DECLSPEC_HIDDEN; /********************************************************************** * ClassFactory declaration for objsel.dll */ typedef struct { - IClassFactoryVtbl *lpVtbl; + IClassFactory IClassFactory_iface; LONG ref; } ClassFactoryImpl; typedef struct { - IDsObjectPickerVtbl *lpVtbl; + IDsObjectPicker IDsObjectPicker_iface; LONG ref; } IDsObjectPickerImpl; -HRESULT WINAPI OBJSEL_IDsObjectPicker_Create(LPVOID *ppvObj); +HRESULT WINAPI OBJSEL_IDsObjectPicker_Create(LPVOID *ppvObj) DECLSPEC_HIDDEN; -extern ClassFactoryImpl OBJSEL_ClassFactory; +extern ClassFactoryImpl OBJSEL_ClassFactory DECLSPEC_HIDDEN; Removed: trunk/reactos/dll/win32/objsel/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/objsel/regsvr.c?…
============================================================================== --- trunk/reactos/dll/win32/objsel/regsvr.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/objsel/regsvr.c (removed) @@ -1,508 +1,0 @@ -/* - * self-registerable dll functions for objsel.dll - * - * Copyright (C) 2004 Raphael Junqueira - * - * 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 "config.h" - -#include <stdarg.h> -#include <string.h> - -#include "windef.h" -#include "winbase.h" -#include "winuser.h" -#include "winreg.h" -#include "winerror.h" - -#include "objbase.h" -#include "unknwn.h" -#include "objsel.h" - -#include "wine/debug.h" -#include "wine/unicode.h" - -#include "initguid.h" - -WINE_DEFAULT_DEBUG_CHANNEL(objsel); - -/* - * Near the bottom of this file are the exported DllRegisterServer and - * DllUnregisterServer, which make all this worthwhile. - */ - -/*********************************************************************** - * interface for self-registering - */ -struct regsvr_interface { - IID const *iid; /* NULL for end of list */ - LPCSTR name; /* can be NULL to omit */ - IID const *base_iid; /* can be NULL to omit */ - int num_methods; /* can be <0 to omit */ - CLSID const *ps_clsid; /* can be NULL to omit */ - CLSID const *ps_clsid32; /* can be NULL to omit */ -}; - -static HRESULT register_interfaces(struct regsvr_interface const *list); -static HRESULT unregister_interfaces(struct regsvr_interface const *list); - -/** - * @todo: maybe adding typelibs support here - * [Software\\Classes\\CLSID\\{000C1090-0000-0000-C000-000000000046}\\TypeLib] 1080380217 - * @="{000C1092-0000-0000-C000-000000000046}" - */ -struct regsvr_coclass { - CLSID const *clsid; /* NULL for end of list */ - LPCSTR name; /* can be NULL to omit */ - LPCSTR iph32; /* can be NULL to omit */ - LPCSTR ips; /* can be NULL to omit */ - LPCSTR ips32; /* can be NULL to omit */ - LPCSTR ips32_tmodel; /* can be NULL to omit, if apartment, iph32 must be set */ - LPCSTR progid; /* can be NULL to omit */ - LPCSTR viprogid; /* can be NULL to omit */ - LPCSTR progid_extra; /* can be NULL to omit */ -}; - -static HRESULT register_coclasses(struct regsvr_coclass const *list); -static HRESULT unregister_coclasses(struct regsvr_coclass const *list); - -/*********************************************************************** - * static string constants - */ -static WCHAR const interface_keyname[10] = { - 'I', 'n', 't', 'e', 'r', 'f', 'a', 'c', 'e', 0 }; -static WCHAR const base_ifa_keyname[14] = { - 'B', 'a', 's', 'e', 'I', 'n', 't', 'e', 'r', 'f', 'a', 'c', - 'e', 0 }; -static WCHAR const num_methods_keyname[11] = { - 'N', 'u', 'm', 'M', 'e', 't', 'h', 'o', 'd', 's', 0 }; -static WCHAR const ps_clsid_keyname[15] = { - 'P', 'r', 'o', 'x', 'y', 'S', 't', 'u', 'b', 'C', 'l', 's', - 'i', 'd', 0 }; -static WCHAR const ps_clsid32_keyname[17] = { - 'P', 'r', 'o', 'x', 'y', 'S', 't', 'u', 'b', 'C', 'l', 's', - 'i', 'd', '3', '2', 0 }; -static WCHAR const clsid_keyname[6] = { - 'C', 'L', 'S', 'I', 'D', 0 }; -static WCHAR const curver_keyname[7] = { - 'C', 'u', 'r', 'V', 'e', 'r', 0 }; -static WCHAR const iph32_keyname[] = { - 'I', 'n', 'P', 'r', 'o', 'c', 'H', 'a', 'n', 'd', 'l', 'e', 'r', - '3', '2', 0 }; -static WCHAR const ips_keyname[13] = { - 'I', 'n', 'P', 'r', 'o', 'c', 'S', 'e', 'r', 'v', 'e', 'r', - 0 }; -static WCHAR const ips32_keyname[15] = { - 'I', 'n', 'P', 'r', 'o', 'c', 'S', 'e', 'r', 'v', 'e', 'r', - '3', '2', 0 }; -static WCHAR const progid_keyname[7] = { - 'P', 'r', 'o', 'g', 'I', 'D', 0 }; -static WCHAR const viprogid_keyname[25] = { - 'V', 'e', 'r', 's', 'i', 'o', 'n', 'I', 'n', 'd', 'e', 'p', - 'e', 'n', 'd', 'e', 'n', 't', 'P', 'r', 'o', 'g', 'I', 'D', - 0 }; -static char const tmodel_valuename[] = "ThreadingModel"; - -/*********************************************************************** - * static helper functions - */ -static LONG register_key_guid(HKEY base, WCHAR const *name, GUID const *guid); -static LONG register_key_defvalueW(HKEY base, WCHAR const *name, - WCHAR const *value); -static LONG register_key_defvalueA(HKEY base, WCHAR const *name, - char const *value); -static LONG register_progid(WCHAR const *clsid, - char const *progid, char const *curver_progid, - char const *name, char const *extra); - -/*********************************************************************** - * register_interfaces - */ -static HRESULT register_interfaces(struct regsvr_interface const *list) { - LONG res = ERROR_SUCCESS; - HKEY interface_key; - - res = RegCreateKeyExW(HKEY_CLASSES_ROOT, interface_keyname, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &interface_key, NULL); - if (res != ERROR_SUCCESS) goto error_return; - - for (; res == ERROR_SUCCESS && list->iid; ++list) { - WCHAR buf[39]; - HKEY iid_key; - - StringFromGUID2(list->iid, buf, 39); - res = RegCreateKeyExW(interface_key, buf, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &iid_key, NULL); - if (res != ERROR_SUCCESS) goto error_close_interface_key; - - if (list->name) { - res = RegSetValueExA(iid_key, NULL, 0, REG_SZ, - (CONST BYTE*)(list->name), - strlen(list->name) + 1); - if (res != ERROR_SUCCESS) goto error_close_iid_key; - } - - if (list->base_iid) { - res = register_key_guid(iid_key, base_ifa_keyname, list->base_iid); - if (res != ERROR_SUCCESS) goto error_close_iid_key; - } - - if (0 <= list->num_methods) { - static WCHAR const fmt[3] = { '%', 'd', 0 }; - HKEY key; - - res = RegCreateKeyExW(iid_key, num_methods_keyname, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &key, NULL); - if (res != ERROR_SUCCESS) goto error_close_iid_key; - - sprintfW(buf, fmt, list->num_methods); - res = RegSetValueExW(key, NULL, 0, REG_SZ, - (CONST BYTE*)buf, - (lstrlenW(buf) + 1) * sizeof(WCHAR)); - RegCloseKey(key); - - if (res != ERROR_SUCCESS) goto error_close_iid_key; - } - - if (list->ps_clsid) { - res = register_key_guid(iid_key, ps_clsid_keyname, list->ps_clsid); - if (res != ERROR_SUCCESS) goto error_close_iid_key; - } - - if (list->ps_clsid32) { - res = register_key_guid(iid_key, ps_clsid32_keyname, list->ps_clsid32); - if (res != ERROR_SUCCESS) goto error_close_iid_key; - } - - error_close_iid_key: - RegCloseKey(iid_key); - } - -error_close_interface_key: - RegCloseKey(interface_key); -error_return: - return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; -} - -/*********************************************************************** - * unregister_interfaces - */ -static HRESULT unregister_interfaces(struct regsvr_interface const *list) { - LONG res = ERROR_SUCCESS; - HKEY interface_key; - - res = RegOpenKeyExW(HKEY_CLASSES_ROOT, interface_keyname, 0, - KEY_READ | KEY_WRITE, &interface_key); - if (res == ERROR_FILE_NOT_FOUND) return S_OK; - if (res != ERROR_SUCCESS) goto error_return; - - for (; res == ERROR_SUCCESS && list->iid; ++list) { - WCHAR buf[39]; - - StringFromGUID2(list->iid, buf, 39); - res = RegDeleteTreeW(interface_key, buf); - if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; - } - - RegCloseKey(interface_key); -error_return: - return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; -} - -/*********************************************************************** - * register_coclasses - */ -static HRESULT register_coclasses(struct regsvr_coclass const *list) { - LONG res = ERROR_SUCCESS; - HKEY coclass_key; - - res = RegCreateKeyExW(HKEY_CLASSES_ROOT, clsid_keyname, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &coclass_key, NULL); - if (res != ERROR_SUCCESS) goto error_return; - - for (; res == ERROR_SUCCESS && list->clsid; ++list) { - WCHAR buf[39]; - HKEY clsid_key; - - StringFromGUID2(list->clsid, buf, 39); - res = RegCreateKeyExW(coclass_key, buf, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &clsid_key, NULL); - if (res != ERROR_SUCCESS) goto error_close_coclass_key; - - if (list->name) { - res = RegSetValueExA(clsid_key, NULL, 0, REG_SZ, - (CONST BYTE*)(list->name), - strlen(list->name) + 1); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - if (list->iph32) { - HKEY iph32_key; - - res = RegCreateKeyExW(clsid_key, iph32_keyname, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, - &iph32_key, NULL); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - - res = RegSetValueExA(iph32_key, NULL, 0, REG_SZ, - (CONST BYTE*)list->iph32, - lstrlenA(list->iph32) + 1); - RegCloseKey(iph32_key); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - if (list->ips) { - res = register_key_defvalueA(clsid_key, ips_keyname, list->ips); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - if (list->ips32) { - HKEY ips32_key; - - res = RegCreateKeyExW(clsid_key, ips32_keyname, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, - &ips32_key, NULL); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - - res = RegSetValueExA(ips32_key, NULL, 0, REG_SZ, - (CONST BYTE*)list->ips32, - lstrlenA(list->ips32) + 1); - if (res == ERROR_SUCCESS && list->ips32_tmodel) - res = RegSetValueExA(ips32_key, tmodel_valuename, 0, REG_SZ, - (CONST BYTE*)list->ips32_tmodel, - strlen(list->ips32_tmodel) + 1); - RegCloseKey(ips32_key); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - if (list->progid) { - res = register_key_defvalueA(clsid_key, progid_keyname, - list->progid); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - - res = register_progid(buf, list->progid, NULL, - list->name, list->progid_extra); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - if (list->viprogid) { - res = register_key_defvalueA(clsid_key, viprogid_keyname, - list->viprogid); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - - res = register_progid(buf, list->viprogid, list->progid, - list->name, list->progid_extra); - if (res != ERROR_SUCCESS) goto error_close_clsid_key; - } - - error_close_clsid_key: - RegCloseKey(clsid_key); - } - -error_close_coclass_key: - RegCloseKey(coclass_key); -error_return: - return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; -} - -/*********************************************************************** - * unregister_coclasses - */ -static HRESULT unregister_coclasses(struct regsvr_coclass const *list) { - LONG res = ERROR_SUCCESS; - HKEY coclass_key; - - res = RegOpenKeyExW(HKEY_CLASSES_ROOT, clsid_keyname, 0, - KEY_READ | KEY_WRITE, &coclass_key); - if (res == ERROR_FILE_NOT_FOUND) return S_OK; - if (res != ERROR_SUCCESS) goto error_return; - - for (; res == ERROR_SUCCESS && list->clsid; ++list) { - WCHAR buf[39]; - - StringFromGUID2(list->clsid, buf, 39); - 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 = 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 = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->viprogid); - if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS; - if (res != ERROR_SUCCESS) goto error_close_coclass_key; - } - } - -error_close_coclass_key: - RegCloseKey(coclass_key); -error_return: - return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK; -} - -/*********************************************************************** - * regsvr_key_guid - */ -static LONG register_key_guid(HKEY base, WCHAR const *name, GUID const *guid) { - WCHAR buf[39]; - - StringFromGUID2(guid, buf, 39); - return register_key_defvalueW(base, name, buf); -} - -/*********************************************************************** - * regsvr_key_defvalueW - */ -static LONG register_key_defvalueW( - HKEY base, - WCHAR const *name, - WCHAR const *value) { - LONG res; - HKEY key; - - res = RegCreateKeyExW(base, name, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &key, NULL); - if (res != ERROR_SUCCESS) return res; - res = RegSetValueExW(key, NULL, 0, REG_SZ, (CONST BYTE*)value, - (lstrlenW(value) + 1) * sizeof(WCHAR)); - RegCloseKey(key); - return res; -} - -/*********************************************************************** - * regsvr_key_defvalueA - */ -static LONG register_key_defvalueA( - HKEY base, - WCHAR const *name, - char const *value) { - LONG res; - HKEY key; - - res = RegCreateKeyExW(base, name, 0, NULL, 0, - KEY_READ | KEY_WRITE, NULL, &key, NULL); - if (res != ERROR_SUCCESS) return res; - res = RegSetValueExA(key, NULL, 0, REG_SZ, (CONST BYTE*)value, - lstrlenA(value) + 1); - RegCloseKey(key); - return res; -} - -/*********************************************************************** - * regsvr_progid - */ -static LONG register_progid( - WCHAR const *clsid, - char const *progid, - char const *curver_progid, - char const *name, - char const *extra) { - LONG res; - HKEY progid_key; - - res = RegCreateKeyExA(HKEY_CLASSES_ROOT, progid, 0, - NULL, 0, KEY_READ | KEY_WRITE, NULL, - &progid_key, NULL); - if (res != ERROR_SUCCESS) return res; - - if (name) { - res = RegSetValueExA(progid_key, NULL, 0, REG_SZ, - (CONST BYTE*)name, strlen(name) + 1); - if (res != ERROR_SUCCESS) goto error_close_progid_key; - } - - if (clsid) { - res = register_key_defvalueW(progid_key, clsid_keyname, clsid); - if (res != ERROR_SUCCESS) goto error_close_progid_key; - } - - if (curver_progid) { - res = register_key_defvalueA(progid_key, curver_keyname, - curver_progid); - if (res != ERROR_SUCCESS) goto error_close_progid_key; - } - - if (extra) { - HKEY extra_key; - - res = RegCreateKeyExA(progid_key, extra, 0, - NULL, 0, KEY_READ | KEY_WRITE, NULL, - &extra_key, NULL); - if (res == ERROR_SUCCESS) - RegCloseKey(extra_key); - } - -error_close_progid_key: - RegCloseKey(progid_key); - return res; -} - -/*********************************************************************** - * coclass list - */ -static struct regsvr_coclass const coclass_list[] = { - { - &CLSID_DsObjectPicker, - "DsObjectPicker", - NULL, - NULL, - "objsel.dll", - "Both", - NULL, - NULL - }, - { NULL } /* list terminator */ -}; - -/*********************************************************************** - * interface list - */ -static struct regsvr_interface const interface_list[] = { - { NULL } /* list terminator */ -}; - -/*********************************************************************** - * DllRegisterServer - */ -HRESULT WINAPI DllRegisterServer(void) { - HRESULT hr; - - TRACE("\n"); - - hr = register_coclasses(coclass_list); - if (SUCCEEDED(hr)) - hr = register_interfaces(interface_list); - return hr; -} - -/*********************************************************************** - * DllUnregisterServer - */ -HRESULT WINAPI DllUnregisterServer(void) { - HRESULT hr; - - TRACE("\n"); - - hr = unregister_coclasses(coclass_list); - if (SUCCEEDED(hr)) - hr = unregister_interfaces(interface_list); - return hr; -} Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Jan 27 22:24:01 2012 @@ -119,7 +119,7 @@ reactos/dll/win32/netapi32 # Autosync reactos/dll/win32/ntdsapi # Autosync reactos/dll/win32/ntprint # Autosync -reactos/dll/win32/objsel # Autosync +reactos/dll/win32/objsel # Synced to Wine-1.3.37 reactos/dll/win32/odbc32 # Out of sync. Depends on port of Linux ODBC. reactos/dll/win32/odbccp32 # Autosync reactos/dll/win32/ole32 # Autosync
12 years, 11 months
1
0
0
0
[fireball] 55266: Fix a dcattr memory leak. Similar leak was already fixed in trunk in bug 6119. Huge (really!) thanks goes to igorko for finding all related fixes in trunk, for regress-testing the...
by fireball@svn.reactos.org
Author: fireball Date: Fri Jan 27 22:01:24 2012 New Revision: 55266 URL:
http://svn.reactos.org/svn/reactos?rev=55266&view=rev
Log: Fix a dcattr memory leak. Similar leak was already fixed in trunk in bug 6119. Huge (really!) thanks goes to igorko for finding all related fixes in trunk, for regress-testing the issue and finding the one and only, absolutely correct, guilty revision. After that, fixing it was just a few minutes work. Modified: branches/arwinss/reactos/subsystems/win32/win32k/gdi/dc.c Modified: branches/arwinss/reactos/subsystems/win32/win32k/gdi/dc.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/gdi/dc.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/gdi/dc.c [iso-8859-1] Fri Jan 27 22:01:24 2012 @@ -99,6 +99,33 @@ DC_UnlockDc(pDC); } +VOID +FASTCALL +DC_FreeDcAttr(HDC DCToFree) +{ + NTSTATUS Status; + SIZE_T Size = 0; + + PDC pDC = DC_LockDc(DCToFree); + if (pDC->pdcattr == NULL) return; // Internal DC object! + pDC->pdcattr = NULL; + DC_UnlockDc(pDC); + + { + INT Index = GDI_HANDLE_GET_INDEX((HGDIOBJ)DCToFree); + PGDI_TABLE_ENTRY Entry = &GdiHandleTable->Entries[Index]; + if (Entry->UserData) + { + Status = ZwFreeVirtualMemory(NtCurrentProcess(), &Entry->UserData, &Size, MEM_RELEASE); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed freeing dcattr memory with Status 0x%08X\n", Status); + } + Entry->UserData = NULL; + } + } +} + BOOL APIENTRY RosGdiCreateDC( HDC *pdev, LPCWSTR driver, LPCWSTR device, LPCWSTR output, const DEVMODEW* initData, ULONG dcType ) { @@ -120,7 +147,7 @@ pNewDC->ppdev = (PVOID)&PrimarySurface; /* Allocate dc shared memory */ - DC_AllocateDcAttr(hNewDC); + DC_AllocateDcAttr(hNewDC); /* Set default fg/bg colors */ pNewDC->crBackgroundClr = RGB(255, 255, 255); @@ -191,6 +218,9 @@ BOOL APIENTRY RosGdiDeleteDC( HDC physDev ) { DPRINT("RosGdiDeleteDC(%x)\n", physDev); + + /* Free DC attr */ + DC_FreeDcAttr(physDev); /* Free DC */ GDIOBJ_FreeObjByHandle(physDev, GDI_OBJECT_TYPE_DC);
12 years, 11 months
1
0
0
0
[cgutman] 55265: [TXTSETUP.SIF] - Start the USB composite generic parent driver during 1st stage
by cgutman@svn.reactos.org
Author: cgutman Date: Fri Jan 27 22:00:48 2012 New Revision: 55265 URL:
http://svn.reactos.org/svn/reactos?rev=55265&view=rev
Log: [TXTSETUP.SIF] - Start the USB composite generic parent driver during 1st stage Modified: branches/usb-bringup-trunk/boot/bootdata/txtsetup.sif Modified: branches/usb-bringup-trunk/boot/bootdata/txtsetup.sif URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/boot/bootdata…
============================================================================== --- branches/usb-bringup-trunk/boot/bootdata/txtsetup.sif [iso-8859-1] (original) +++ branches/usb-bringup-trunk/boot/bootdata/txtsetup.sif [iso-8859-1] Fri Jan 27 22:00:48 2012 @@ -35,6 +35,7 @@ hidclass.sys=,,,,,,,,,,,,4 hidparse.sys=,,,,,,,,,,,,4 hidusb.sys=,,,,,,,,,,,,4 +usbccgp.sys=,,,,,,,,,,,,4 usbd.sys=,,,,,,,,,,,,4 usbhub.sys=,,,,,,,,,,,,4 ;usbuhci.sys=,,,,,,,,,,,,4 @@ -78,6 +79,7 @@ PCI\CC_0C0320 = usbehci USB\Class_08&SubClass_06&Prot_50 = usbstor HID_DEVICE_SYSTEM_KEYBOARD = kbdhid +USB\COMPOSITE = usbccgp GenDisk = disk [BootBusExtenders.Load] @@ -90,7 +92,7 @@ usbohci = usbohci.sys ;usbuhci = usbuhci.sys usbhub = usbhub.sys -;usbccgp = usbccgp.sys +usbccgp = usbccgp.sys hidusb = hidusb.sys usbstor = usbstor.sys kbdhid = kbdhid.sys
12 years, 11 months
1
0
0
0
[akhaldi] 55264: [DDK] * Update dmusicks.h annotations.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 21:27:13 2012 New Revision: 55264 URL:
http://svn.reactos.org/svn/reactos?rev=55264&view=rev
Log: [DDK] * Update dmusicks.h annotations. Modified: trunk/reactos/include/ddk/dmusicks.h Modified: trunk/reactos/include/ddk/dmusicks.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/dmusicks.h?rev…
============================================================================== --- trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] Fri Jan 27 21:27:13 2012 @@ -46,15 +46,15 @@ DEFINE_ABSTRACT_UNKNOWN() STDMETHOD_(NTSTATUS,GetTime)( THIS_ - OUT REFERENCE_TIME *pTime + _Out_ REFERENCE_TIME *pTime ) PURE; }; typedef IMasterClock *PMASTERCLOCK; -#define IMP_IMasterClock \ - STDMETHODIMP_(NTSTATUS) GetTime( \ - OUT REFERENCE_TIME *pTime \ +#define IMP_IMasterClock \ + STDMETHODIMP_(NTSTATUS) GetTime( \ + _Out_ REFERENCE_TIME *pTime \ ) /* =============================================================== @@ -67,29 +67,29 @@ struct IMXF; typedef struct IMXF *PMXF; -#define DEFINE_ABSTRACT_IMXF() \ - STDMETHOD_(NTSTATUS,SetState)(THIS_ \ - IN KSSTATE State \ - ) PURE; \ - STDMETHOD_(NTSTATUS,PutMessage)(THIS_ \ - IN PDMUS_KERNEL_EVENT pDMKEvt \ - ) PURE; \ - STDMETHOD_(NTSTATUS,ConnectOutput)(THIS_ \ - IN PMXF sinkMXF \ - ) PURE; \ - STDMETHOD_(NTSTATUS,DisconnectOutput)(THIS_ \ - IN PMXF sinkMXF \ - ) PURE; - -#define IMP_IMXF \ - STDMETHODIMP_(NTSTATUS) SetState ( \ - IN KSSTATE State); \ - STDMETHODIMP_(NTSTATUS) PutMessage (THIS_ \ - IN PDMUS_KERNEL_EVENT pDMKEvt); \ - STDMETHODIMP_(NTSTATUS) ConnectOutput (THIS_ \ - IN PMXF sinkMXF); \ - STDMETHODIMP_(NTSTATUS) DisconnectOutput (THIS_ \ - IN PMXF sinkMXF) +#define DEFINE_ABSTRACT_IMXF() \ + STDMETHOD_(NTSTATUS,SetState)(THIS_ \ + _In_ KSSTATE State \ + ) PURE; \ + STDMETHOD_(NTSTATUS,PutMessage)(THIS_ \ + _In_ PDMUS_KERNEL_EVENT pDMKEvt \ + ) PURE; \ + STDMETHOD_(NTSTATUS,ConnectOutput)(THIS_ \ + _In_ PMXF sinkMXF \ + ) PURE; \ + STDMETHOD_(NTSTATUS,DisconnectOutput)(THIS_ \ + _In_ PMXF sinkMXF \ + ) PURE; + +#define IMP_IMXF \ + STDMETHODIMP_(NTSTATUS) SetState ( \ + _In_ KSSTATE State); \ + STDMETHODIMP_(NTSTATUS) PutMessage (THIS_ \ + _In_ PDMUS_KERNEL_EVENT pDMKEvt); \ + STDMETHODIMP_(NTSTATUS) ConnectOutput (THIS_ \ + _In_ PMXF sinkMXF); \ + STDMETHODIMP_(NTSTATUS) DisconnectOutput (THIS_ \ + _In_ PMXF sinkMXF) DECLARE_INTERFACE_(IMXF,IUnknown) { DEFINE_ABSTRACT_UNKNOWN() @@ -118,32 +118,33 @@ DEFINE_ABSTRACT_IMXF() STDMETHOD_(NTSTATUS,GetMessage)(THIS_ - OUT PDMUS_KERNEL_EVENT *ppDMKEvt + _Out_ PDMUS_KERNEL_EVENT *ppDMKEvt ) PURE; STDMETHOD_(USHORT,GetBufferSize)(THIS) PURE; STDMETHOD_(NTSTATUS,GetBuffer)(THIS_ - OUT PBYTE *ppBuffer + _Outptr_result_bytebuffer_(_Inexpressible_(GetBufferSize bytes)) PBYTE *ppBuffer )PURE; STDMETHOD_(NTSTATUS,PutBuffer)(THIS_ - IN PBYTE pBuffer - ) PURE; -}; - -#define IMP_IAllocatorMXF \ - IMP_IMXF; \ - STDMETHODIMP_(NTSTATUS) GetMessage( \ - OUT PDMUS_KERNEL_EVENT *ppDMKEvt); \ - \ - STDMETHODIMP_(USHORT) GetBufferSize(void); \ - \ - STDMETHODIMP_(NTSTATUS) GetBuffer( \ - OUT PBYTE *ppBuffer); \ - \ - STDMETHODIMP_(NTSTATUS) PutBuffer( \ - IN PBYTE pBuffer) + _In_ PBYTE pBuffer + ) PURE; +}; + +#define IMP_IAllocatorMXF \ + IMP_IMXF; \ + STDMETHODIMP_(NTSTATUS) GetMessage( \ + _Out_ PDMUS_KERNEL_EVENT *ppDMKEvt); \ + \ + STDMETHODIMP_(USHORT) GetBufferSize(void); \ + \ + STDMETHODIMP_(NTSTATUS) GetBuffer( \ + _Outptr_result_bytebuffer_(_Inexpressible_(GetBufferSize bytes)) \ + PBYTE *ppBuffer); \ + \ + STDMETHODIMP_(NTSTATUS) PutBuffer( \ + _In_ PBYTE pBuffer) #undef INTERFACE #define INTERFACE IPortDMus @@ -157,11 +158,11 @@ DEFINE_ABSTRACT_PORT() STDMETHOD_(void,Notify)(THIS_ - IN PSERVICEGROUP ServiceGroup OPTIONAL + _In_opt_ PSERVICEGROUP ServiceGroup ) PURE; STDMETHOD_(void,RegisterServiceGroup)(THIS_ - IN PSERVICEGROUP ServiceGroup + _In_ PSERVICEGROUP ServiceGroup ) PURE; }; typedef IPortDMus *PPORTDMUS; @@ -169,10 +170,10 @@ #define IMP_IPortDMus \ IMP_IPort; \ STDMETHODIMP_(void) Notify( \ - IN PSERVICEGROUP ServiceGroup OPTIONAL); \ + _In_opt_ PSERVICEGROUP ServiceGroup); \ \ STDMETHODIMP_(void) RegisterServiceGroup( \ - IN PSERVICEGROUP ServiceGroup) + _In_ PSERVICEGROUP ServiceGroup) #undef INTERFACE #define INTERFACE IMiniportDMus @@ -185,25 +186,25 @@ DEFINE_ABSTRACT_MINIPORT() STDMETHOD_(NTSTATUS,Init)(THIS_ - IN PUNKNOWN UnknownAdapter, - IN PRESOURCELIST ResourceList, - IN PPORTDMUS Port, - OUT PSERVICEGROUP *ServiceGroup + _In_opt_ PUNKNOWN UnknownAdapter, + _In_ PRESOURCELIST ResourceList, + _In_ PPORTDMUS Port, + _Out_ PSERVICEGROUP *ServiceGroup ) PURE; STDMETHOD_(void,Service)(THIS) PURE; STDMETHOD_(NTSTATUS,NewStream)(THIS_ - OUT PMXF *MXF, - IN PUNKNOWN OuterUnknown OPTIONAL, - IN POOL_TYPE PoolType, - IN ULONG PinID, - IN DMUS_STREAM_TYPE StreamType, - IN PKSDATAFORMAT DataFormat, - OUT PSERVICEGROUP *ServiceGroup, - IN PAllocatorMXF AllocatorMXF, - IN PMASTERCLOCK MasterClock, - OUT PULONGLONG SchedulePreFetch + _Out_ PMXF *MXF, + _In_opt_ PUNKNOWN OuterUnknown, + _In_ POOL_TYPE PoolType, + _In_ ULONG PinID, + _In_ DMUS_STREAM_TYPE StreamType, + _In_ PKSDATAFORMAT DataFormat, + _Out_ PSERVICEGROUP *ServiceGroup, + _In_ PAllocatorMXF AllocatorMXF, + _In_ PMASTERCLOCK MasterClock, + _Out_ PULONGLONG SchedulePreFetch ) PURE; }; @@ -213,24 +214,24 @@ #define IMP_IMiniportDMus \ IMP_IMiniport; \ STDMETHODIMP_(NTSTATUS) Init( \ - IN PUNKNOWN UnknownAdapter, \ - IN PRESOURCELIST ResourceList, \ - IN PPORTDMUS Port, \ - OUT PSERVICEGROUP *ServiceGroup); \ + _In_opt_ PUNKNOWN UnknownAdapter, \ + _In_ PRESOURCELIST ResourceList, \ + _In_ PPORTDMUS Port, \ + _Out_ PSERVICEGROUP *ServiceGroup); \ \ STDMETHODIMP_(void) Service(THIS); \ \ STDMETHODIMP_(NTSTATUS) NewStream( \ - OUT PMXF *MXF, \ - IN PUNKNOWN OuterUnknown, \ - IN POOL_TYPE PoolType, \ - IN ULONG PinID, \ - IN DMUS_STREAM_TYPE StreamType, \ - IN PKSDATAFORMAT DataFormat, \ - OUT PSERVICEGROUP *ServiceGroup, \ - IN PAllocatorMXF AllocatorMXF, \ - IN PMASTERCLOCK MasterClock, \ - OUT PULONGLONG SchedulePreFetch) + _Out_ PMXF *MXF, \ + _In_opt_ PUNKNOWN OuterUnknown, \ + _In_ POOL_TYPE PoolType, \ + _In_ ULONG PinID, \ + _In_ DMUS_STREAM_TYPE StreamType, \ + _In_ PKSDATAFORMAT DataFormat, \ + _Out_ PSERVICEGROUP *ServiceGroup, \ + _In_ PAllocatorMXF AllocatorMXF, \ + _In_ PMASTERCLOCK MasterClock, \ + _Out_ PULONGLONG SchedulePreFetch) #define STATIC_KSAUDFNAME_DMUSIC_MPU_OUT\
12 years, 11 months
1
0
0
0
[tfaber] 55263: [USP10] - Fix MSVC build. Sent and applied upstream.
by tfaber@svn.reactos.org
Author: tfaber Date: Fri Jan 27 21:20:03 2012 New Revision: 55263 URL:
http://svn.reactos.org/svn/reactos?rev=55263&view=rev
Log: [USP10] - Fix MSVC build. Sent and applied upstream. Modified: trunk/reactos/dll/win32/usp10/shape.c Modified: trunk/reactos/dll/win32/usp10/shape.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/usp10/shape.c?re…
============================================================================== --- trunk/reactos/dll/win32/usp10/shape.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/usp10/shape.c [iso-8859-1] Fri Jan 27 21:20:03 2012 @@ -356,9 +356,6 @@ "clig", NULL }; - -static OPENTYPE_FEATURE_RECORD no_features[] = -{ }; static OPENTYPE_FEATURE_RECORD ethiopic_features[] = { @@ -441,31 +438,31 @@ {{ standard_features, 2}, NULL, 0, NULL, NULL}, {{ khmer_features, 5}, required_khmer_features, 0, ContextualShape_Khmer, ShapeCharGlyphProp_Khmer}, {{ khmer_features, 5}, required_khmer_features, 0, ContextualShape_Khmer, ShapeCharGlyphProp_Khmer}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, {{ ethiopic_features, 4}, NULL, 0, NULL, NULL}, {{ ethiopic_features, 4}, NULL, 0, NULL, NULL}, {{ mongolian_features, 4}, NULL, 0, ContextualShape_Mongolian, NULL}, {{ mongolian_features, 4}, NULL, 0, ContextualShape_Mongolian, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, - {{ no_features, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, + {{ NULL, 0}, NULL, 0, NULL, NULL}, {{ hebrew_features, 1}, NULL, 0, NULL, NULL}, {{ latin_features, 2}, NULL, 0, NULL, NULL}, {{ thai_features, 1}, NULL, 0, NULL, ShapeCharGlyphProp_Thai},
12 years, 11 months
1
0
0
0
[akhaldi] 55262: [SDK/UUID] * Add atliface.idl for the MSVC build. Dedicated to Thomas.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 21:09:57 2012 New Revision: 55262 URL:
http://svn.reactos.org/svn/reactos?rev=55262&view=rev
Log: [SDK/UUID] * Add atliface.idl for the MSVC build. Dedicated to Thomas. Modified: trunk/reactos/lib/sdk/uuid/CMakeLists.txt Modified: trunk/reactos/lib/sdk/uuid/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/uuid/CMakeLists.tx…
============================================================================== --- trunk/reactos/lib/sdk/uuid/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/uuid/CMakeLists.txt [iso-8859-1] Fri Jan 27 21:09:57 2012 @@ -174,11 +174,14 @@ ctfutb.idl xmllite.idl) -if(NOT MSVC) - list(APPEND IDL_SOURCES - wbemcli.idl - wincodec.idl - wuapi.idl) +if(MSVC) + list(APPEND IDL_SOURCES + atliface.idl) +else() + list(APPEND IDL_SOURCES + wbemcli.idl + wincodec.idl + wuapi.idl) endif() foreach(IDL_FILE ${IDL_SOURCES})
12 years, 11 months
1
0
0
0
[janderwald] 55261: [USBCCGP] - Implement counting of all interface descriptors - Store device descriptor and configuration descriptor in pdo device extension - Store all interface descriptors for ...
by janderwald@svn.reactos.org
Author: janderwald Date: Fri Jan 27 20:58:58 2012 New Revision: 55261 URL:
http://svn.reactos.org/svn/reactos?rev=55261&view=rev
Log: [USBCCGP] - Implement counting of all interface descriptors - Store device descriptor and configuration descriptor in pdo device extension - Store all interface descriptors for an composite audio device - Implement parsing and constructing a special configuration descriptor for each individual device function - Implement URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE for device descriptor and configuration descriptor - USBGCCGP now receives select configuration request - Tested in XP + Ros USB Stack + USB Audio Device Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/descriptor.c branches/usb-bringup-trunk/drivers/usb/usbccgp/fdo.c branches/usb-bringup-trunk/drivers/usb/usbccgp/function.c branches/usb-bringup-trunk/drivers/usb/usbccgp/pdo.c branches/usb-bringup-trunk/drivers/usb/usbccgp/usbccgp.h Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/descriptor.c URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbccgp/descriptor.c [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbccgp/descriptor.c [iso-8859-1] Fri Jan 27 20:58:58 2012 @@ -202,6 +202,66 @@ } NTSTATUS +AllocateInterfaceDescriptorsArray( + IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, + OUT PUSB_INTERFACE_DESCRIPTOR **OutArray) +{ + PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor; + PVOID CurrentPosition; + ULONG Count = 0; + PUSB_INTERFACE_DESCRIPTOR *Array; + + Count = CountInterfaceDescriptors(ConfigurationDescriptor); + ASSERT(Count); + + // + // allocate array + // + Array = AllocateItem(NonPagedPool, sizeof(PUSB_INTERFACE_DESCRIPTOR) * Count); + if (!Array) + return STATUS_INSUFFICIENT_RESOURCES; + + // + // enumerate all interfaces + // + CurrentPosition = ConfigurationDescriptor; + Count = 0; + do + { + // + // find next descriptor + // + InterfaceDescriptor = USBD_ParseConfigurationDescriptorEx(ConfigurationDescriptor, CurrentPosition, -1, -1, -1, -1, -1); + if (!InterfaceDescriptor) + break; + + // + // store descriptor + // + Array[Count] = InterfaceDescriptor; + Count++; + + // + // advance to next descriptor + // + CurrentPosition = (PVOID)((ULONG_PTR)InterfaceDescriptor + InterfaceDescriptor->bLength); + + }while(TRUE); + + // + // store result + // + *OutArray = Array; + + // + // done + // + return STATUS_SUCCESS; +} + + + +NTSTATUS NTAPI USBCCGP_ScanConfigurationDescriptor( IN OUT PFDO_DEVICE_EXTENSION FDODeviceExtension, Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/fdo.c URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbccgp/fdo.c [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbccgp/fdo.c [iso-8859-1] Fri Jan 27 20:58:58 2012 @@ -279,7 +279,9 @@ PDODeviceExtension->FunctionDescriptor = &FDODeviceExtension->FunctionDescriptor[Index]; PDODeviceExtension->NextDeviceObject = DeviceObject; PDODeviceExtension->FunctionIndex = Index; + PDODeviceExtension->ConfigurationDescriptor = FDODeviceExtension->ConfigurationDescriptor; RtlCopyMemory(&PDODeviceExtension->Capabilities, &FDODeviceExtension->Capabilities, sizeof(DEVICE_CAPABILITIES)); + RtlCopyMemory(&PDODeviceExtension->DeviceDescriptor, &FDODeviceExtension->DeviceDescriptor, sizeof(USB_DEVICE_DESCRIPTOR)); // // patch the stack size Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/function.c URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbccgp/function.c [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbccgp/function.c [iso-8859-1] Fri Jan 27 20:58:58 2012 @@ -787,22 +787,17 @@ FDODeviceExtension->FunctionDescriptor[0].FunctionNumber = 0; // - // FIXME: how many interfaces should be stored? - // - - FDODeviceExtension->FunctionDescriptor[0].InterfaceDescriptorList = AllocateItem(NonPagedPool, sizeof(PUSB_INTERFACE_DESCRIPTOR) * 1); - if (!FDODeviceExtension->FunctionDescriptor[0].InterfaceDescriptorList) - { - // - // no memory - // - return STATUS_INSUFFICIENT_RESOURCES; - } - - // - // store interface descriptor - // - FDODeviceExtension->FunctionDescriptor[0].InterfaceDescriptorList[0] = InterfaceDescriptor; + // store interfaces + // + Status = AllocateInterfaceDescriptorsArray(FDODeviceExtension->ConfigurationDescriptor, &FDODeviceExtension->FunctionDescriptor[0].InterfaceDescriptorList); + if (!NT_SUCCESS(Status)) + { + // + // failed to allocate descriptor array + // + DPRINT1("[USBCCGP] Failed to allocate descriptor array %x\n", Status); + return Status; + } // // now init the device ids @@ -818,6 +813,11 @@ } // + // number of interfaces + // + FDODeviceExtension->FunctionDescriptor[0].NumberOfInterfaces = CountInterfaceDescriptors(FDODeviceExtension->ConfigurationDescriptor); + + // // store function count // FDODeviceExtension->FunctionDescriptorCount = 1; Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/pdo.c URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbccgp/pdo.c [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbccgp/pdo.c [iso-8859-1] Fri Jan 27 20:58:58 2012 @@ -323,6 +323,280 @@ } +NTSTATUS +USBCCGP_BuildConfigurationDescriptor( + PDEVICE_OBJECT DeviceObject, + PIRP Irp) +{ + PIO_STACK_LOCATION IoStack; + PPDO_DEVICE_EXTENSION PDODeviceExtension; + PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; + PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor; + ULONG TotalSize, Index; + PURB Urb; + PVOID Buffer; + PUCHAR BufferPtr; + + // + // get current stack location + // + IoStack = IoGetCurrentIrpStackLocation(Irp); + + DPRINT1("USBCCGP_BuildConfigurationDescriptor\n"); + + // + // get device extension + // + PDODeviceExtension = (PPDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + // + // get configuration descriptor + // + ConfigurationDescriptor = PDODeviceExtension->ConfigurationDescriptor; + + // + // calculate size of configuration descriptor + // + TotalSize = sizeof(USB_CONFIGURATION_DESCRIPTOR); + + for(Index = 0; Index < PDODeviceExtension->FunctionDescriptor->NumberOfInterfaces; Index++) + { + // + // get current interface descriptor + // + InterfaceDescriptor = PDODeviceExtension->FunctionDescriptor->InterfaceDescriptorList[Index]; + + // + // add to size and move to next descriptor + // + TotalSize += InterfaceDescriptor->bLength; + InterfaceDescriptor = (PUSB_INTERFACE_DESCRIPTOR)((ULONG_PTR)InterfaceDescriptor + InterfaceDescriptor->bLength); + + do + { + if ((ULONG_PTR)InterfaceDescriptor >= ((ULONG_PTR)ConfigurationDescriptor + ConfigurationDescriptor->wTotalLength)) + { + // + // reached end of configuration descriptor + // + break; + } + + // + // association descriptors are removed + // + if (InterfaceDescriptor->bDescriptorType != USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE) + { + if (InterfaceDescriptor->bDescriptorType == USB_INTERFACE_DESCRIPTOR_TYPE) + { + // + // reached next descriptor + // + break; + } + + // + // append size + // + TotalSize += InterfaceDescriptor->bLength; + } + + // + // move to next descriptor + // + InterfaceDescriptor = (PUSB_INTERFACE_DESCRIPTOR)((ULONG_PTR)InterfaceDescriptor + InterfaceDescriptor->bLength); + }while(TRUE); + } + + // + // now allocate temporary buffer for the configuration descriptor + // + Buffer = AllocateItem(NonPagedPool, TotalSize); + if (!Buffer) + { + // + // failed to allocate buffer + // + DPRINT1("[USBCCGP] Failed to allocate %lu Bytes\n", TotalSize); + return STATUS_INSUFFICIENT_RESOURCES; + } + + // + // first copy the configuration descriptor + // + RtlCopyMemory(Buffer, ConfigurationDescriptor, sizeof(USB_CONFIGURATION_DESCRIPTOR)); + BufferPtr = (PUCHAR)((ULONG_PTR)Buffer + ConfigurationDescriptor->bLength); + + for(Index = 0; Index < PDODeviceExtension->FunctionDescriptor->NumberOfInterfaces; Index++) + { + // + // get current interface descriptor + // + InterfaceDescriptor = PDODeviceExtension->FunctionDescriptor->InterfaceDescriptorList[Index]; + + // + // copy descriptor and move to next descriptor + // + RtlCopyMemory(BufferPtr, InterfaceDescriptor, InterfaceDescriptor->bLength); + BufferPtr += InterfaceDescriptor->bLength; + InterfaceDescriptor = (PUSB_INTERFACE_DESCRIPTOR)((ULONG_PTR)InterfaceDescriptor + InterfaceDescriptor->bLength); + + do + { + if ((ULONG_PTR)InterfaceDescriptor >= ((ULONG_PTR)ConfigurationDescriptor + ConfigurationDescriptor->wTotalLength)) + { + // + // reached end of configuration descriptor + // + break; + } + + // + // association descriptors are removed + // + if (InterfaceDescriptor->bDescriptorType != USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE) + { + if (InterfaceDescriptor->bDescriptorType == USB_INTERFACE_DESCRIPTOR_TYPE) + { + // + // reached next descriptor + // + break; + } + + // + // copy descriptor + // + RtlCopyMemory(BufferPtr, InterfaceDescriptor, InterfaceDescriptor->bLength); + BufferPtr += InterfaceDescriptor->bLength; + } + + // + // move to next descriptor + // + InterfaceDescriptor = (PUSB_INTERFACE_DESCRIPTOR)((ULONG_PTR)InterfaceDescriptor + InterfaceDescriptor->bLength); + }while(TRUE); + } + + // + // modify configuration descriptor + // + ConfigurationDescriptor = Buffer; + ConfigurationDescriptor->wTotalLength = TotalSize; + ConfigurationDescriptor->bNumInterfaces = PDODeviceExtension->FunctionDescriptor->NumberOfInterfaces; + + // + // get urb + // + Urb = (PURB)IoStack->Parameters.Others.Argument1; + ASSERT(Urb); + + // + // copy descriptor + // + RtlCopyMemory(Urb->UrbControlDescriptorRequest.TransferBuffer, Buffer, min(TotalSize, Urb->UrbControlDescriptorRequest.TransferBufferLength)); + + // + // store final size + // + Urb->UrbControlDescriptorRequest.TransferBufferLength = TotalSize; + + // + // free buffer + // + FreeItem(Buffer); + + // + // done + // + return STATUS_SUCCESS; +} + +NTSTATUS +PDO_HandleInternalDeviceControl( + PDEVICE_OBJECT DeviceObject, + PIRP Irp) +{ + PIO_STACK_LOCATION IoStack; + PPDO_DEVICE_EXTENSION PDODeviceExtension; + NTSTATUS Status; + PURB Urb; + + // + // get current stack location + // + IoStack = IoGetCurrentIrpStackLocation(Irp); + + // + // get device extension + // + PDODeviceExtension = (PPDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + if (IoStack->Parameters.DeviceIoControl.IoControlCode == IOCTL_INTERNAL_USB_SUBMIT_URB) + { + // + // get urb + // + Urb = (PURB)IoStack->Parameters.Others.Argument1; + ASSERT(Urb); + + if (Urb->UrbHeader.Function == URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE) + { + DPRINT1("IOCTL_INTERNAL_USB_SUBMIT_URB Function %x\n", Urb->UrbHeader.Function); + + if(Urb->UrbControlDescriptorRequest.DescriptorType == USB_DEVICE_DESCRIPTOR_TYPE) + { + // + // is the buffer big enough + // + if (Urb->UrbControlDescriptorRequest.TransferBufferLength < sizeof(USB_DEVICE_DESCRIPTOR)) + { + // + // invalid buffer size + // + DPRINT1("[USBCCGP] invalid device descriptor size %lu\n", Urb->UrbControlDescriptorRequest.TransferBufferLength); + Urb->UrbControlDescriptorRequest.TransferBufferLength = sizeof(USB_DEVICE_DESCRIPTOR); + Irp->IoStatus.Status = STATUS_INVALID_BUFFER_SIZE; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_INVALID_BUFFER_SIZE; + } + + // + // copy device descriptor + // + ASSERT(Urb->UrbControlDescriptorRequest.TransferBuffer); + RtlCopyMemory(Urb->UrbControlDescriptorRequest.TransferBuffer, &PDODeviceExtension->DeviceDescriptor, sizeof(USB_DEVICE_DESCRIPTOR)); + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_SUCCESS; + } + else if (Urb->UrbControlDescriptorRequest.DescriptorType == USB_CONFIGURATION_DESCRIPTOR_TYPE) + { + // + // build configuration descriptor + // + Status = USBCCGP_BuildConfigurationDescriptor(DeviceObject, Irp); + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } + } + } + + + + DPRINT1("IOCTL %x\n", IoStack->Parameters.DeviceIoControl.IoControlCode); + DPRINT1("InputBufferLength %lu\n", IoStack->Parameters.DeviceIoControl.InputBufferLength); + DPRINT1("OutputBufferLength %lu\n", IoStack->Parameters.DeviceIoControl.OutputBufferLength); + DPRINT1("Type3InputBuffer %p\n", IoStack->Parameters.DeviceIoControl.Type3InputBuffer); + + ASSERT(FALSE); + + Irp->IoStatus.Status = STATUS_NOT_IMPLEMENTED; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return STATUS_NOT_IMPLEMENTED; +} + NTSTATUS PDO_Dispatch( @@ -339,6 +613,8 @@ { case IRP_MJ_PNP: return PDO_HandlePnp(DeviceObject, Irp); + case IRP_MJ_INTERNAL_DEVICE_CONTROL: + return PDO_HandleInternalDeviceControl(DeviceObject, Irp); default: DPRINT1("PDO_Dispatch Function %x not implemented\n", IoStack->MajorFunction); ASSERT(FALSE); Modified: branches/usb-bringup-trunk/drivers/usb/usbccgp/usbccgp.h URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbccgp/usbccgp.h [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbccgp/usbccgp.h [iso-8859-1] Fri Jan 27 20:58:58 2012 @@ -50,6 +50,8 @@ PDEVICE_OBJECT NextDeviceObject; // next device object DEVICE_CAPABILITIES Capabilities; // device capabilities ULONG FunctionIndex; // function index + USB_DEVICE_DESCRIPTOR DeviceDescriptor; // usb device descriptor + PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; // usb configuration descriptor }PDO_DEVICE_EXTENSION, *PPDO_DEVICE_EXTENSION; /* descriptor.c */ @@ -72,6 +74,15 @@ IN UCHAR DescriptorIndex, IN LANGID LanguageId, OUT PVOID *OutDescriptor); + +ULONG +CountInterfaceDescriptors( + IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor); + +NTSTATUS +AllocateInterfaceDescriptorsArray( + IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, + OUT PUSB_INTERFACE_DESCRIPTOR **OutArray); /* misc.c */
12 years, 11 months
1
0
0
0
[akhaldi] 55260: [NDDEAPI] * Sync to Wine 1.3.37.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 20:21:06 2012 New Revision: 55260 URL:
http://svn.reactos.org/svn/reactos?rev=55260&view=rev
Log: [NDDEAPI] * Sync to Wine 1.3.37. Modified: trunk/reactos/dll/win32/nddeapi/nddeapi.c trunk/reactos/dll/win32/nddeapi/nddeapi.spec trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/nddeapi/nddeapi.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/nddeapi/nddeapi.…
============================================================================== --- trunk/reactos/dll/win32/nddeapi/nddeapi.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/nddeapi/nddeapi.c [iso-8859-1] Fri Jan 27 20:21:06 2012 @@ -26,15 +26,228 @@ WINE_DEFAULT_DEBUG_CHANNEL(nddeapi); +/* Network DDE functionality was removed in Windows Vista, so the functions are silent stubs. + * Since the corresponding header is no longer available in the Windows SDK, a required definition + * is replicated here. */ +#define NDDE_NOT_IMPLEMENTED 14 + +/*********************************************************************** + * NDdeShareAddA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareAddA(LPSTR lpszServer, UINT nLevel, PSECURITY_DESCRIPTOR pSD, + LPBYTE lpBuffer, DWORD cBufSize) +{ + TRACE("(%s, %u, %p, %p, %u)\n", debugstr_a(lpszServer), nLevel, pSD, lpBuffer, cBufSize); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareDelA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareDelA(LPSTR lpszServer, LPSTR lpszShareName, UINT wReserved) +{ + TRACE("(%s, %s, %u)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), wReserved); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareEnumA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareEnumA(LPSTR lpszServer, UINT nLevel, LPBYTE lpBuffer, DWORD cBufSize, + LPDWORD lpnEntriesRead, LPDWORD lpcbTotalAvailable) +{ + TRACE("(%s, %u, %p, %u, %p, %p)\n", debugstr_a(lpszServer), nLevel, lpBuffer, cBufSize, + lpnEntriesRead, lpcbTotalAvailable); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareGetInfoA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareGetInfoA(LPSTR lpszServer, LPSTR lpszShareName, UINT nLevel, LPBYTE lpBuffer, + DWORD cBufSize, LPDWORD lpnTotalAvailable, LPWORD lpnItems) +{ + TRACE("(%s, %s, %u, %p, %u, %p, %p)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), nLevel, + lpBuffer, cBufSize, lpnTotalAvailable, lpnItems); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareSetInfoA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareSetInfoA(LPSTR lpszServer, LPSTR lpszShareName, UINT nLevel, LPBYTE lpBuffer, + DWORD cBufSize, WORD sParmNum) +{ + TRACE("(%s, %s, %u, %p, %u, %u)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), nLevel, + lpBuffer, cBufSize, sParmNum); + + return NDDE_NOT_IMPLEMENTED; +} + /*********************************************************************** * NDdeGetErrorStringA (NDDEAPI.@) * */ UINT WINAPI NDdeGetErrorStringA(UINT uErrorCode, LPSTR lpszErrorString, DWORD cBufSize) { - FIXME("(%u, %s, %d): stub!\n",uErrorCode,debugstr_a(lpszErrorString), cBufSize); - - return E_NOTIMPL; + TRACE("(%u, %p, %d)\n", uErrorCode, lpszErrorString, cBufSize); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeIsValidShareNameA (NDDEAPI.@) + * + */ +BOOL WINAPI NDdeIsValidShareNameA(LPSTR shareName) +{ + TRACE("(%s)\n", debugstr_a(shareName)); + + return FALSE; +} + +/*********************************************************************** + * NDdeIsValidAppTopicListA (NDDEAPI.@) + * + */ +BOOL WINAPI NDdeIsValidAppTopicListA(LPSTR targetTopic) +{ + TRACE("(%s)\n", debugstr_a(targetTopic)); + + return FALSE; +} + +/*********************************************************************** + * NDdeGetShareSecurityA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeGetShareSecurityA(LPSTR lpszServer, LPSTR lpszShareName, SECURITY_INFORMATION si, + PSECURITY_DESCRIPTOR pSD, DWORD cbSD, LPDWORD lpcbsdRequired) +{ + TRACE("(%s, %s, %u, %p, %u, %p)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), + si, pSD, cbSD, lpcbsdRequired); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeSetShareSecurityA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeSetShareSecurityA(LPSTR lpszServer, LPSTR lpszShareName, SECURITY_INFORMATION si, + PSECURITY_DESCRIPTOR pSD) +{ + TRACE("(%s, %s, %u, %p)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), si, pSD); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeGetTrustedShareA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeGetTrustedShareA(LPSTR lpszServer, LPSTR lpszShareName, LPDWORD lpdwTrustOptions, + LPDWORD lpdwShareModId0, LPDWORD lpdwShareModId1) +{ + TRACE("(%s, %s, %p, %p, %p)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), lpdwTrustOptions, + lpdwShareModId0, lpdwShareModId1); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeSetTrustedShareA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeSetTrustedShareA(LPSTR lpszServer, LPSTR lpszShareName, DWORD dwTrustOptions) +{ + TRACE("(%s, %s, 0x%08x)\n", debugstr_a(lpszServer), debugstr_a(lpszShareName), dwTrustOptions); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeTrustedShareEnumA (NDDEAPI.@) + * + */ +UINT WINAPI NDdeTrustedShareEnumA(LPSTR lpszServer, UINT nLevel, LPBYTE lpBuffer, DWORD cBufSize, + LPDWORD lpnEntriesRead, LPDWORD lpcbTotalAvailable) +{ + TRACE("(%s, %u, %p, %u, %p, %p)\n", debugstr_a(lpszServer), nLevel, lpBuffer, cBufSize, + lpnEntriesRead, lpcbTotalAvailable); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareAddW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareAddW(LPWSTR lpszServer, UINT nLevel, PSECURITY_DESCRIPTOR pSD, + LPBYTE lpBuffer, DWORD cBufSize) +{ + TRACE("(%s, %u, %p, %p, %u)\n", debugstr_w(lpszServer), nLevel, pSD, lpBuffer, cBufSize); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareDelW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareDelW(LPWSTR lpszServer, LPWSTR lpszShareName, UINT wReserved) +{ + TRACE("(%s, %s, %u)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), wReserved); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareEnumW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareEnumW(LPWSTR lpszServer, UINT nLevel, LPBYTE lpBuffer, DWORD cBufSize, + LPDWORD lpnEntriesRead, LPDWORD lpcbTotalAvailable) +{ + TRACE("(%s, %u, %p, %u, %p, %p)\n", debugstr_w(lpszServer), nLevel, lpBuffer, cBufSize, + lpnEntriesRead, lpcbTotalAvailable); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareGetInfoW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareGetInfoW(LPWSTR lpszServer, LPWSTR lpszShareName, UINT nLevel, LPBYTE lpBuffer, + DWORD cBufSize, LPDWORD lpnTotalAvailable, LPWORD lpnItems) +{ + TRACE("(%s, %s, %u, %p, %u, %p, %p)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), nLevel, + lpBuffer, cBufSize, lpnTotalAvailable, lpnItems); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeShareSetInfoW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeShareSetInfoW(LPWSTR lpszServer, LPWSTR lpszShareName, UINT nLevel, LPBYTE lpBuffer, + DWORD cBufSize, WORD sParmNum) +{ + TRACE("(%s, %s, %u, %p, %u, %u)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), nLevel, + lpBuffer, cBufSize, sParmNum); + + return NDDE_NOT_IMPLEMENTED; } /*********************************************************************** @@ -43,7 +256,91 @@ */ UINT WINAPI NDdeGetErrorStringW(UINT uErrorCode, LPWSTR lpszErrorString, DWORD cBufSize) { - FIXME("(%u, %s, %d): stub!\n",uErrorCode,debugstr_w(lpszErrorString), cBufSize); - - return E_NOTIMPL; -} + FIXME("(%u, %p, %d): stub!\n", uErrorCode, lpszErrorString, cBufSize); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeIsValidShareNameW (NDDEAPI.@) + * + */ +BOOL WINAPI NDdeIsValidShareNameW(LPWSTR shareName) +{ + TRACE("(%s)\n", debugstr_w(shareName)); + + return FALSE; +} + +/*********************************************************************** + * NDdeIsValidAppTopicListW (NDDEAPI.@) + * + */ +BOOL WINAPI NDdeIsValidAppTopicListW(LPWSTR targetTopic) +{ + TRACE("(%s)\n", debugstr_w(targetTopic)); + + return FALSE; +} + +/*********************************************************************** + * NDdeGetShareSecurityW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeGetShareSecurityW(LPWSTR lpszServer, LPWSTR lpszShareName, SECURITY_INFORMATION si, + PSECURITY_DESCRIPTOR pSD, DWORD cbSD, LPDWORD lpcbsdRequired) +{ + TRACE("(%s, %s, %u, %p, %u, %p)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), + si, pSD, cbSD, lpcbsdRequired); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeSetShareSecurityW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeSetShareSecurityW(LPWSTR lpszServer, LPWSTR lpszShareName, SECURITY_INFORMATION si, + PSECURITY_DESCRIPTOR pSD) +{ + TRACE("(%s, %s, %u, %p)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), si, pSD); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeGetTrustedShareW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeGetTrustedShareW(LPWSTR lpszServer, LPWSTR lpszShareName, LPDWORD lpdwTrustOptions, + LPDWORD lpdwShareModId0, LPDWORD lpdwShareModId1) +{ + TRACE("(%s, %s, %p, %p, %p)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), lpdwTrustOptions, + lpdwShareModId0, lpdwShareModId1); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeSetTrustedShareW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeSetTrustedShareW(LPWSTR lpszServer, LPWSTR lpszShareName, DWORD dwTrustOptions) +{ + TRACE("(%s, %s, 0x%08x)\n", debugstr_w(lpszServer), debugstr_w(lpszShareName), dwTrustOptions); + + return NDDE_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * NDdeTrustedShareEnumW (NDDEAPI.@) + * + */ +UINT WINAPI NDdeTrustedShareEnumW(LPWSTR lpszServer, UINT nLevel, LPBYTE lpBuffer, DWORD cBufSize, + LPDWORD lpnEntriesRead, LPDWORD lpcbTotalAvailable) +{ + TRACE("(%s, %u, %p, %u, %p, %p)\n", debugstr_w(lpszServer), nLevel, lpBuffer, cBufSize, + lpnEntriesRead, lpcbTotalAvailable); + + return NDDE_NOT_IMPLEMENTED; +} Modified: trunk/reactos/dll/win32/nddeapi/nddeapi.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/nddeapi/nddeapi.…
============================================================================== --- trunk/reactos/dll/win32/nddeapi/nddeapi.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/nddeapi/nddeapi.spec [iso-8859-1] Fri Jan 27 20:21:06 2012 @@ -1,28 +1,29 @@ -@ stdcall NDdeGetErrorStringA(long str long) -@ stdcall NDdeGetErrorStringW(long wstr long) -@ stub NDdeGetShareSecurityA -@ stub NDdeGetShareSecurityW -@ stub NDdeGetTrustedShareA -@ stub NDdeGetTrustedShareW -@ stub NDdeIsValidAppTopicListA -@ stub NDdeIsValidAppTopicListW -@ stub NDdeIsValidShareNameA -@ stub NDdeIsValidShareNameW -@ stub NDdeSetShareSecurityA -@ stub NDdeSetShareSecurityW -@ stub NDdeSetTrustedShareA -@ stub NDdeSetTrustedShareW -@ stub NDdeShareAddA -@ stub NDdeShareAddW -@ stub NDdeShareDelA -@ stub NDdeShareDelW -@ stub NDdeShareEnumA -@ stub NDdeShareEnumW -@ stub NDdeShareGetInfoA -@ stub NDdeShareGetInfoW -@ stub NDdeShareSetInfoA -@ stub NDdeShareSetInfoW +500 stdcall NDdeShareAddA(str long ptr ptr long) +501 stdcall NDdeShareDelA(str str long) +502 stdcall NDdeShareEnumA(str long ptr long ptr ptr) +503 stdcall NDdeShareGetInfoA(str str long ptr long ptr ptr) +504 stdcall NDdeShareSetInfoA(str str long ptr long long) +505 stdcall NDdeGetErrorStringA(long ptr long) +506 stdcall NDdeIsValidShareNameA(str) +507 stdcall NDdeIsValidAppTopicListA(str) +509 stdcall NDdeGetShareSecurityA(str str long ptr long ptr) +510 stdcall NDdeSetShareSecurityA(ptr ptr long ptr) +511 stdcall NDdeGetTrustedShareA(str str ptr ptr ptr) +512 stdcall NDdeSetTrustedShareA(str str long) +513 stdcall NDdeTrustedShareEnumA(str long ptr long ptr ptr) +600 stdcall NDdeShareAddW(wstr long ptr ptr long) +601 stdcall NDdeShareDelW(wstr wstr long) +602 stdcall NDdeShareEnumW(wstr long ptr long ptr ptr) +603 stdcall NDdeShareGetInfoW(wstr wstr long ptr long ptr ptr) +604 stdcall NDdeShareSetInfoW(wstr wstr long ptr long long) +605 stdcall NDdeGetErrorStringW(long wstr long) +606 stdcall NDdeIsValidShareNameW(wstr) +607 stdcall NDdeIsValidAppTopicListW(wstr) +609 stdcall NDdeGetShareSecurityW(wstr wstr long ptr long ptr) +610 stdcall NDdeSetShareSecurityW(ptr ptr long ptr) +611 stdcall NDdeGetTrustedShareW(wstr wstr ptr ptr ptr) +612 stdcall NDdeSetTrustedShareW(wstr wstr long) +613 stdcall NDdeTrustedShareEnumW(wstr long ptr long ptr ptr) + @ stub NDdeSpecialCommandA @ stub NDdeSpecialCommandW -@ stub NDdeTrustedShareEnumA -@ stub NDdeTrustedShareEnumW Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Jan 27 20:21:06 2012 @@ -115,7 +115,7 @@ reactos/dll/win32/msvfw32 # Autosync reactos/dll/win32/msvidc32 # Autosync reactos/dll/win32/msxml3 # Autosync -reactos/dll/win32/nddeapi # Autosync +reactos/dll/win32/nddeapi # Synced to Wine-1.3.37 reactos/dll/win32/netapi32 # Autosync reactos/dll/win32/ntdsapi # Autosync reactos/dll/win32/ntprint # Autosync
12 years, 11 months
1
0
0
0
[akhaldi] 55259: [COMCTL32] * Sync more of header.c with Wine 1.3.37. Fixes build.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 19:22:05 2012 New Revision: 55259 URL:
http://svn.reactos.org/svn/reactos?rev=55259&view=rev
Log: [COMCTL32] * Sync more of header.c with Wine 1.3.37. Fixes build. Modified: trunk/reactos/dll/win32/comctl32/header.c Modified: trunk/reactos/dll/win32/comctl32/header.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/header.…
============================================================================== --- trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] Fri Jan 27 19:22:05 2012 @@ -39,7 +39,6 @@ #include "winnls.h" #include "commctrl.h" #include "comctl32.h" -#include "imagelist.h" #include "tmschema.h" #include "uxtheme.h" #include "wine/debug.h" @@ -384,6 +383,7 @@ /* cnt,txt,img,bmp */ UINT cx, tx, ix, bx, cw, tw, iw, bw; + INT img_cx, img_cy; BITMAP bmp; HEADER_PrepareCallbackItems(infoPtr, iItem, HDI_TEXT|HDI_IMAGE); @@ -400,8 +400,8 @@ cw = textRect.right - textRect.left + 2 * infoPtr->iMargin; } - if ((phdi->fmt & HDF_IMAGE) && (infoPtr->himl)) { - iw = infoPtr->himl->cx + 2 * infoPtr->iMargin; + if ((phdi->fmt & HDF_IMAGE) && ImageList_GetIconSize( infoPtr->himl, &img_cx, &img_cy )) { + iw = img_cx + 2 * infoPtr->iMargin; x = &ix; w = &iw; } @@ -474,8 +474,8 @@ if (iw) { ImageList_DrawEx (infoPtr->himl, phdi->iImage, hClipDC, - ix, r.top + ((INT)rh - infoPtr->himl->cy) / 2, - infoPtr->himl->cx, infoPtr->himl->cy, CLR_DEFAULT, CLR_DEFAULT, 0); + ix, r.top + ((INT)rh - img_cy) / 2, + img_cx, img_cy, CLR_DEFAULT, CLR_DEFAULT, 0); } DeleteObject(hClipRgn); @@ -1539,9 +1539,6 @@ Free(infoPtr->order); - if (infoPtr->himl) - ImageList_Destroy (infoPtr->himl); - SetWindowLongPtrW (infoPtr->hwndSelf, 0, 0); Free (infoPtr);
12 years, 11 months
1
0
0
0
[akhaldi] 55258: [MSTASK_WINETEST] * Sync to Wine 1.3.37.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Jan 27 18:48:41 2012 New Revision: 55258 URL:
http://svn.reactos.org/svn/reactos?rev=55258&view=rev
Log: [MSTASK_WINETEST] * Sync to Wine 1.3.37. Modified: trunk/rostests/winetests/mstask/task_trigger.c Modified: trunk/rostests/winetests/mstask/task_trigger.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/mstask/task_tri…
============================================================================== --- trunk/rostests/winetests/mstask/task_trigger.c [iso-8859-1] (original) +++ trunk/rostests/winetests/mstask/task_trigger.c [iso-8859-1] Fri Jan 27 18:48:41 2012 @@ -224,6 +224,7 @@ memset(&trigger_state, 0xcf, sizeof(trigger_state)); trigger_state.cbTriggerSize = sizeof(trigger_state); hres = ITaskTrigger_GetTrigger(test_trigger, &trigger_state); + ok(hres == S_OK, "Expected S_OK: 0x%08x\n", hres); ok(trigger_state.Reserved1 == 0 && trigger_state.Reserved2 == 0, "Reserved fields should be set to zero\n"); normal_trigger_state.Reserved1 = 0; @@ -261,6 +262,7 @@ memset(&trigger_state, 0xcf, sizeof(trigger_state)); trigger_state.cbTriggerSize = sizeof(trigger_state); hres = ITaskTrigger_GetTrigger(test_trigger, &trigger_state); + ok(hres == S_OK, "Expected S_OK: 0x%08x\n", hres); ok(trigger_state.wEndYear == 0, "End year should be 0: %d\n", trigger_state.wEndYear); ok(trigger_state.wEndMonth == 200, "End month should be 200: %d\n", @@ -328,6 +330,7 @@ memset(&trigger_state, 0xcf, sizeof(trigger_state)); trigger_state.cbTriggerSize = sizeof(trigger_state); hres = ITaskTrigger_GetTrigger(test_trigger, &trigger_state); + ok(hres == S_OK, "Expected S_OK: 0x%08x\n", hres); ok(trigger_state.Type.Weekly.WeeksInterval == 0xcfcf, "Expected WeeksInterval set remain untouched: %d\n", trigger_state.Type.Weekly.WeeksInterval); @@ -337,6 +340,7 @@ normal_trigger_state.TriggerType = TASK_TIME_TRIGGER_DAILY; normal_trigger_state.Type.Daily.DaysInterval = 1; hres = ITaskTrigger_SetTrigger(test_trigger, &normal_trigger_state); + ok(hres == S_OK, "Expected S_OK: 0x%08x\n", hres); /* Test setting trigger with set wRandomMinutesInterval */ normal_trigger_state.wRandomMinutesInterval = 5; @@ -345,6 +349,7 @@ memset(&trigger_state, 0xcf, sizeof(trigger_state)); trigger_state.cbTriggerSize = sizeof(trigger_state); hres = ITaskTrigger_GetTrigger(test_trigger, &trigger_state); + ok(hres == S_OK, "Expected S_OK: 0x%08x\n", hres); ok(trigger_state.wRandomMinutesInterval == 0, "wRandomMinutesInterval should be set to zero\n"); normal_trigger_state.wRandomMinutesInterval = 0;
12 years, 11 months
1
0
0
0
← Newer
1
...
7
8
9
10
11
12
13
...
56
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
Results per page:
10
25
50
100
200