[PROPSYS] Sync with Wine Staging 3.3. CORE-14434

This commit is contained in:
Amine Khaldi 2018-03-21 13:09:31 +01:00
parent 94e293b6fd
commit 3e3d28dfef
8 changed files with 99 additions and 37 deletions

View file

@ -7,7 +7,7 @@ list(APPEND SOURCE
propstore.c
propsys_main.c
propvar.c
propsys_private.h
precomp.h
${CMAKE_CURRENT_BINARY_DIR}/propsys_stubs.c)
add_library(propsys SHARED
@ -18,5 +18,5 @@ add_library(propsys SHARED
set_module_type(propsys win32dll)
target_link_libraries(propsys uuid wine)
add_importlibs(propsys ole32 oleaut32 msvcrt kernel32 ntdll)
add_pch(propsys propsys_private.h SOURCE)
add_pch(propsys precomp.h SOURCE)
add_cd_file(TARGET propsys DESTINATION reactos/system32 FOR all)

View file

@ -0,0 +1,26 @@
#ifndef _PROPSYS_PRECOMP_H_
#define _PROPSYS_PRECOMP_H_
#include <wine/config.h>
#include <stdarg.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#define COBJMACROS
#define NONAMELESSUNION
#include <windef.h>
#include <winbase.h>
#include <objbase.h>
#include <propsys.h>
#include <wine/debug.h>
#include <wine/unicode.h>
#include "propsys_private.h"
#endif /* !_PROPSYS_PRECOMP_H_ */

View file

@ -18,13 +18,27 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "rpcproxy.h"
#include "propsys.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include "wine/list.h"
#include "initguid.h"
#include "propsys_private.h"
#include <wine/list.h>
#include <initguid.h>
DEFINE_GUID(FMTID_NamedProperties, 0xd5cdd505, 0x2e9c, 0x101b, 0x93, 0x97, 0x08, 0x00, 0x2b, 0x2c, 0xf9, 0xae);
WINE_DEFAULT_DEBUG_CHANNEL(propsys);
typedef struct {
struct list entry;
DWORD pid;

View file

@ -138,7 +138,7 @@
@ stdcall PropVariantToStringAlloc(ptr ptr)
@ stub PropVariantToStringVector
@ stub PropVariantToStringVectorAlloc
@ stub PropVariantToStringWithDefault
@ stdcall PropVariantToStringWithDefault(ptr wstr)
@ stdcall PropVariantToUInt16(ptr ptr)
@ stub PropVariantToUInt16Vector
@ stub PropVariantToUInt16VectorAlloc

View file

@ -19,9 +19,22 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "rpcproxy.h"
#include "propsys.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include "propsys_private.h"
#include <rpcproxy.h>
WINE_DEFAULT_DEBUG_CHANNEL(propsys);
static HINSTANCE propsys_hInstance;

View file

@ -18,30 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _PROPSYS_PRIVATE_H_
#define _PROPSYS_PRIVATE_H_
#include <config.h>
#include <stdarg.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#define COBJMACROS
#define NONAMELESSUNION
#include <windef.h>
#include <winbase.h>
#include <objbase.h>
#include <propsys.h>
#include <wine/debug.h>
#include <wine/unicode.h>
WINE_DEFAULT_DEBUG_CHANNEL(propsys);
#pragma once
HRESULT PropertyStore_CreateInstance(IUnknown *outer, REFIID riid, void **ppv) DECLSPEC_HIDDEN;
#endif /* _PROPSYS_PRIVATE_H_ */

View file

@ -18,12 +18,27 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "propsys_private.h"
#include "config.h"
#include "wine/port.h"
#include <stdarg.h>
#include <stdio.h>
#include <winreg.h>
#include <oleauto.h>
#include <propvarutil.h>
#include <stdlib.h>
#define NONAMELESSUNION
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "winreg.h"
#include "winuser.h"
#include "shlobj.h"
#include "propvarutil.h"
#include "wine/debug.h"
#include "wine/unicode.h"
WINE_DEFAULT_DEBUG_CHANNEL(propsys);
static HRESULT PROPVAR_ConvertFILETIME(const FILETIME *ft, PROPVARIANT *ppropvarDest, VARTYPE vt)
{
@ -322,6 +337,24 @@ HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret)
return hr;
}
PCWSTR WINAPI PropVariantToStringWithDefault(REFPROPVARIANT propvarIn, LPCWSTR pszDefault)
{
static const WCHAR str_empty[] = {0};
if (propvarIn->vt == VT_BSTR)
{
if (propvarIn->u.bstrVal == NULL)
return str_empty;
return propvarIn->u.bstrVal;
}
if (propvarIn->vt == VT_LPWSTR && propvarIn->u.pwszVal != NULL)
return propvarIn->u.pwszVal;
return pszDefault;
}
/******************************************************************
* PropVariantChangeType (PROPSYS.@)
*/

View file

@ -151,7 +151,7 @@ reactos/dll/win32/pdh # Synced to WineStaging-3.3
reactos/dll/win32/pidgen # Synced to WineStaging-3.3
reactos/dll/win32/powrprof # Forked at Wine-1.0rc5
reactos/dll/win32/printui # Synced to WineStaging-3.3
reactos/dll/win32/propsys # Synced to Wine-3.0
reactos/dll/win32/propsys # Synced to WineStaging-3.3
reactos/dll/win32/pstorec # Synced to WineStaging-2.2
reactos/dll/win32/qmgr # Synced to WineStaging-2.9
reactos/dll/win32/qmgrprxy # Synced to WineStaging-2.9