[PSDK] update some headers from wine-10.0

This commit is contained in:
Mikhail Tyukin
2026-03-01 10:38:42 +02:00
committed by Timo Kreuzer
parent c33672648f
commit c494cc2822
22 changed files with 1979 additions and 10 deletions
+1 -1
View File
@@ -490,7 +490,7 @@ function(spec2def _dllname _spec_file)
cmake_parse_arguments(__spec2def "ADD_IMPORTLIB;NO_PRIVATE_WARNINGS;WITH_RELAY;WITH_DBG;NO_DBG" "VERSION" "" ${ARGN})
# Get library basename
get_filename_component(_file ${_dllname} NAME_WE)
get_filename_component(_file ${_dllname} NAME_WLE)
# Error out on anything else than spec
if(NOT ${_spec_file} MATCHES ".*\\.spec")
+1 -1
View File
@@ -406,7 +406,7 @@ function(spec2def _dllname _spec_file)
cmake_parse_arguments(__spec2def "ADD_IMPORTLIB;NO_PRIVATE_WARNINGS;WITH_RELAY;WITH_DBG;NO_DBG" "VERSION" "" ${ARGN})
# Get library basename
get_filename_component(_file ${_dllname} NAME_WE)
get_filename_component(_file ${_dllname} NAME_WLE)
# Error out on anything else than spec
if(NOT ${_spec_file} MATCHES ".*\\.spec")
+6
View File
@@ -5,6 +5,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
list(APPEND SOURCE
# access.idl
activation.idl
activaut.idl
activdbg.idl
activscp.idl
@@ -52,6 +53,7 @@ list(APPEND SOURCE
exdisp.idl
fusion.idl
hlink.idl
hstring.idl
htiface.idl
htiframe.idl
httprequest.idl
@@ -63,6 +65,7 @@ list(APPEND SOURCE
indexsrv.idl
inputscope.idl
inseng.idl
inspectable.idl
mediaobj.idl
metahost.idl
mfidl.idl
@@ -89,6 +92,7 @@ list(APPEND SOURCE
oaidl.idl
objectarray.idl
objidl.idl
objidlbase.idl
objsafe.idl
ocidl.idl
ocmm.idl
@@ -101,7 +105,9 @@ list(APPEND SOURCE
propidl.idl
propsys.idl
pstore.idl
restrictederrorinfo.idl
richole.idl
roparameterizediid.idl
# row.idl
# rowchg.idl
# rstbas.idl
+31
View File
@@ -0,0 +1,31 @@
/*
* Copyright 2016 Michael Müller
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef DO_NO_IMPORTS
import "inspectable.idl";
#endif
[
object,
uuid(00000035-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IActivationFactory : IInspectable
{
HRESULT ActivateInstance([out] IInspectable **instance);
}
+69
View File
@@ -0,0 +1,69 @@
/*
* Copyright 2021 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <rpc.h>
#include <rpcndr.h>
#ifndef _COMBASEAPI_H_
#define _COMBASEAPI_H_
#ifndef RC_INVOKED
#include <stdlib.h>
#endif
#include <objidlbase.h>
#include <guiddef.h>
#ifndef INITGUID
#include <cguid.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct tagServerInformation
{
DWORD dwServerPid;
DWORD dwServerTid;
UINT64 ui64ServerAddress;
} ServerInformation, *PServerInformation;
enum AgileReferenceOptions
{
AGILEREFERENCE_DEFAULT,
AGILEREFERENCE_DELAYEDMARSHAL
};
HRESULT WINAPI CoDecodeProxy(_In_ DWORD client_pid, _In_ UINT64 proxy_addr, _Out_ ServerInformation *server_info);
HRESULT WINAPI RoGetAgileReference(_In_ enum AgileReferenceOptions options, _In_ REFIID riid, _In_ IUnknown *obj, _Out_ IAgileReference **agile_reference);
#ifdef __cplusplus
extern "C++" template<typename T> void **IID_PPV_ARGS_Helper(T **obj)
{
(void)static_cast<IUnknown *>(*obj);
return reinterpret_cast<void **>(obj);
}
#define IID_PPV_ARGS(obj) __uuidof(**(obj)), IID_PPV_ARGS_Helper(obj)
#endif /* __cplusplus */
#ifdef __cplusplus
}
#endif
#endif /* _COMBASEAPI_H_ */
File diff suppressed because it is too large Load Diff
+41
View File
@@ -0,0 +1,41 @@
/*
* Copyright (C) 2014 Martin Storsjo
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "wtypes.idl";
typedef struct HSTRING__
{
int unused;
} HSTRING__;
typedef [wire_marshal(wireBSTR), unique] HSTRING__* HSTRING;
cpp_quote("DECLARE_HANDLE(HSTRING_BUFFER);")
cpp_quote("typedef struct HSTRING_HEADER")
cpp_quote("{")
cpp_quote(" union")
cpp_quote(" {")
cpp_quote(" PVOID Reserved1;")
cpp_quote("#ifdef _WIN64")
cpp_quote(" char Reserved2[24];")
cpp_quote("#else")
cpp_quote(" char Reserved2[20];")
cpp_quote("#endif")
cpp_quote(" } Reserved;")
cpp_quote("} HSTRING_HEADER;")
+41
View File
@@ -0,0 +1,41 @@
/*
* Copyright 2015 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "wtypes.idl";
import "unknwn.idl";
import "hstring.idl";
typedef [v1_enum] enum TrustLevel {
BaseTrust,
PartialTrust,
FullTrust
} TrustLevel;
[
object,
uuid(af86e2e0-b12d-4c6a-9c5a-d7aa65101e90),
pointer_default(unique)
]
interface IInspectable : IUnknown
{
HRESULT GetIids([out] ULONG *iidCount, [out, size_is(,*iidCount)] IID **iids);
HRESULT GetRuntimeClassName([out] HSTRING *className);
HRESULT GetTrustLevel([out] TrustLevel *trustLevel);
}
typedef [unique] IInspectable *LPINSPECTABLE;
+77 -2
View File
@@ -25,6 +25,30 @@ cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
cpp_quote("#undef LoadLibrary")
cpp_quote("#endif")
typedef enum
{
METAHOST_POLICY_HIGHCOMPAT = 0,
METAHOST_POLICY_APPLY_UPGRADE_POLICY = 0x08,
METAHOST_POLICY_EMULATE_EXE_LAUNCH = 0x10,
METAHOST_POLICY_SHOW_ERROR_DIALOG = 0x20,
METAHOST_POLICY_USE_PROCESS_IMAGE_PATH = 0x40,
METAHOST_POLICY_ENSURE_SKU_SUPPORTED = 0x80
} METAHOST_POLICY_FLAGS;
typedef enum
{
CLR_DEBUGGING_MANAGED_EVENT_PENDING = 1
} CLR_DEBUGGING_PROCESS_FLAGS;
typedef struct _CLR_DEBUGGING_VERSION
{
WORD wStructVersion;
WORD wMajor;
WORD wMinor;
WORD wBuild;
WORD wRevision;
} CLR_DEBUGGING_VERSION;
[
object,
local,
@@ -80,7 +104,7 @@ interface ICLRRuntimeInfo : IUnknown
HRESULT IsStarted(
[out] BOOL *pbStarted,
[out] DWORD *pdwStartupFlags);
};
}
typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();
typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
@@ -126,6 +150,57 @@ interface ICLRMetaHost : IUnknown
HRESULT ExitProcess(
[in] INT32 iExitCode);
};
}
[
object,
local,
uuid(e2190695-77b2-492e-8e14-c4b3a7fdd593)
]
interface ICLRMetaHostPolicy : IUnknown
{
HRESULT GetRequestedRuntime([in] METAHOST_POLICY_FLAGS dwPolicyFlags,
[in] LPCWSTR pwzBinary, [in] IStream *pCfgStream,
[in, out] LPWSTR pwzVersion, [in, out] DWORD *pcchVersion,
[out] LPWSTR pwzImageVersion, [out, in] DWORD *pcchImageVersion,
[out] DWORD *pdwConfigFlags, [in] REFIID riid, [retval, out] LPVOID *ppRuntime);
}
[
uuid(2ebcd49a-1b47-4a61-b13a-4a03701e594b)
]
coclass CLRMetaHostPolicy
{
[default] interface ICLRMetaHostPolicy;
}
[
object,
local,
uuid(3151c08d-4d09-4f9b-8838-2880bf18fe51)
]
interface ICLRDebuggingLibraryProvider : IUnknown
{
HRESULT ProvideLibrary([in] const WCHAR *pwszFileName,
[in] DWORD dwTimestamp, [in] DWORD dwSizeOfImage,
[out] HMODULE *phModule);
}
[
object,
local,
uuid(d28f3c5a-9634-4206-a509-477552eefb10)
]
interface ICLRDebugging : IUnknown
{
HRESULT OpenVirtualProcess([in] ULONG64 moduleBaseAddress,
[in] IUnknown *pDataTarget, [in] ICLRDebuggingLibraryProvider *pLibraryProvider,
[in] CLR_DEBUGGING_VERSION *pMaxDebuggerSupportedVersion,
[in] REFIID riidProcess, [out] IUnknown **ppProcess,
[out, in] CLR_DEBUGGING_VERSION *pVersion,
[out] CLR_DEBUGGING_PROCESS_FLAGS *pdwFlags);
HRESULT CanUnloadNow(HMODULE hModule);
}
cpp_quote("HRESULT WINAPI CLRCreateInstance(REFCLSID clsid, REFIID riid, LPVOID *ppInterface);")
+2 -2
View File
@@ -27,7 +27,7 @@ cpp_quote("HRESULT WINAPI GetCORSystemDirectory(LPWSTR,DWORD,DWORD*);")
cpp_quote("HRESULT WINAPI GetCORVersion(LPWSTR,DWORD,DWORD*);")
cpp_quote("HRESULT WINAPI GetRequestedRuntimeInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,LPWSTR,DWORD,DWORD*,LPWSTR,DWORD,DWORD*);")
cpp_quote("HRESULT WINAPI LoadLibraryShim(LPCWSTR,LPCWSTR,LPVOID,HMODULE*);")
cpp_quote("#ifdef WINE_STRICT_PROTOTYPES")
cpp_quote("#ifndef WINE_NO_STRICT_PROTOTYPES")
cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)(void);")
cpp_quote("#else")
cpp_quote("typedef HRESULT (__stdcall *FLockClrVersionCallback)();")
@@ -183,7 +183,7 @@ interface ICorRuntimeHost : IUnknown
HRESULT UnloadDomain([in] IUnknown* appDomain);
HRESULT CurrentDomain([out] IUnknown** appDomain);
};
}
cpp_quote("DEFINE_GUID(CLSID_CLRRuntimeHost, 0x90f1a06e,0x7712,0x4762,0x86,0xb5,0x7a,0x5e,0xba,0x6b,0xdb,0x02);")
+17
View File
@@ -247,6 +247,7 @@ typedef interface IRpcChannelBuffer IRpcChannelBuffer;
#include <stdlib.h>
#endif
#include <combaseapi.h>
#include <wtypes.h>
#include <unknwn.h>
#include <objidl.h>
@@ -281,6 +282,8 @@ typedef enum tagCOINIT
COINIT_SPEED_OVER_MEMORY = 0x8 /* Trade memory for speed */
} COINIT;
DECLARE_HANDLE(CO_MTA_USAGE_COOKIE);
_Check_return_ HRESULT WINAPI CoInitialize(_In_opt_ LPVOID lpReserved);
_Check_return_
@@ -531,6 +534,20 @@ CoLockObjectExternal(
BOOL WINAPI CoIsHandlerConnected(_In_ LPUNKNOWN pUnk);
_Check_return_
HRESULT
WINAPI
CoDisableCallCancellation(
_In_opt_ void *reserved
);
_Check_return_
HRESULT
WINAPI
CoEnableCallCancellation(
_In_opt_ void *reserved
);
/* security */
_Check_return_
+2
View File
@@ -85,6 +85,7 @@ interface IPropertyStorage : IUnknown
type *pElems; \
} name
TYPEDEF_CA(char, CAC);
TYPEDEF_CA(unsigned char, CAUB);
TYPEDEF_CA(short, CAI);
TYPEDEF_CA(USHORT, CAUI);
@@ -143,6 +144,7 @@ interface IPropertyStorage : IUnknown
[case(VT_LPWSTR)] LPWSTR pwszVal;
[case(VT_UNKNOWN)] IUnknown *punkVal;
[case(VT_DISPATCH)] IDispatch *pdispVal;
[case(VT_I1|VT_VECTOR)] CAC cac;
[case(VT_UI1|VT_VECTOR)] CAUB caub;
[case(VT_I2|VT_VECTOR)] CAI cai;
[case(VT_UI2|VT_VECTOR)] CAUI caui;
+35
View File
@@ -0,0 +1,35 @@
/*
* Copyright 2019 Louis Lenders
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
[
object,
uuid(82ba7092-4c88-427d-a7bc-16dd93feb67e),
pointer_default(unique)
]
interface IRestrictedErrorInfo : IUnknown
{
HRESULT GetErrorDetails (
[out] BSTR *desc,
[out] HRESULT *error,
[out] BSTR *restricted_desc,
[out] BSTR *sid);
HRESULT GetReference ([out] BSTR *reference);
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Copyright 2020 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _ROERROR_H
#define _ROERROR_H
#include <hstring.h>
#include <restrictederrorinfo.h>
#include <rpc.h>
typedef enum
{
RO_ERROR_REPORTING_NONE = 0x0,
RO_ERROR_REPORTING_SUPPRESSEXCEPTIONS = 0x1,
RO_ERROR_REPORTING_FORCEEXCEPTIONS = 0x2,
RO_ERROR_REPORTING_USESETERRORINFO = 0x4,
RO_ERROR_REPORTING_SUPPRESSSETERRORINFO = 0x8,
} RO_ERROR_REPORTING_FLAGS;
HRESULT WINAPI GetRestrictedErrorInfo(IRestrictedErrorInfo **info);
BOOL WINAPI RoOriginateError(HRESULT error, HSTRING message);
BOOL WINAPI RoOriginateLanguageException(HRESULT error, HSTRING message, IUnknown *language_exception);
HRESULT WINAPI RoSetErrorReportingFlags(UINT32 flags);
#endif /* _ROERROR_H */
+95
View File
@@ -0,0 +1,95 @@
/*
* Copyright 2017 Alex Henrie
*
* 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
*/
#ifdef __WIDL__
#pragma winrt
#endif
import "wtypes.idl";
typedef void *ROPARAMIIDHANDLE;
[
object
]
interface IRoSimpleMetaDataBuilder
{
HRESULT SetWinRtInterface(
GUID iid
);
HRESULT SetDelegate(
GUID iid
);
HRESULT SetInterfaceGroupSimpleDefault(
const WCHAR *typename,
const WCHAR *default_name,
const GUID *default_iid
);
HRESULT SetInterfaceGroupParameterizedDefault(
const WCHAR *typename,
UINT32 name_element_count,
const WCHAR **name_elements
);
HRESULT SetRuntimeClassSimpleDefault(
const WCHAR *typename,
const WCHAR *default_name,
const GUID *default_iid
);
HRESULT SetRuntimeClassParameterizedDefault(
const WCHAR *typename,
UINT32 name_element_count,
const WCHAR **name_elements
);
HRESULT SetStruct(
const WCHAR *typename,
UINT32 field_count,
const WCHAR **field_typenames
);
HRESULT SetEnum(
const WCHAR *typename,
const WCHAR *base_type
);
HRESULT SetParameterizedInterface(
GUID iid,
UINT32 arg_count
);
HRESULT SetParameterizedDelegate(
GUID iid,
UINT32 arg_count
);
}
[
object
]
interface IRoMetaDataLocator
{
HRESULT Locate(
const WCHAR *typename,
IRoSimpleMetaDataBuilder *out
);
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Copyright (C) 2019 Zebediah Figura for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __STRONG_NAME_H
#define __STRONG_NAME_H
#include <windows.h>
#include <wincrypt.h>
#include <ole2.h>
#include <corerror.h>
#define SN_INFLAG_FORCE_VER 0x00000001
#define SN_INFLAG_INSTALL 0x00000002
#define SN_INFLAG_ADMIN_ACCESS 0x00000004
#define SN_INFLAG_USER_ACCESS 0x00000008
#define SN_INFLAG_ALL_ACCESS 0x00000010
#define SN_INFLAG_RUNTIME 0x80000000
#define SN_OUTFLAG_WAS_VERIFIED 0x00000001
BOOLEAN __stdcall StrongNameSignatureVerification(const WCHAR *path, DWORD flags, DWORD *ret_flags);
BOOLEAN __stdcall StrongNameSignatureVerificationEx(const WCHAR *path, BOOLEAN force, BOOLEAN *verified);
BOOLEAN __stdcall StrongNameTokenFromAssembly(const WCHAR *path, BYTE **token, ULONG *size);
#endif
+54
View File
@@ -0,0 +1,54 @@
/*
* Copyright (C) 2014 Martin Storsjo
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINSTRING_H_
#define __WINSTRING_H_
#include <hstring.h>
#ifdef __cplusplus
extern "C" {
#endif
HRESULT WINAPI WindowsCompareStringOrdinal(HSTRING str1, HSTRING str2, INT32 *order);
HRESULT WINAPI WindowsConcatString(HSTRING str1, HSTRING str2, HSTRING *out);
HRESULT WINAPI WindowsCreateString(LPCWSTR ptr, UINT32 len, HSTRING *out);
HRESULT WINAPI WindowsCreateStringReference(LPCWSTR ptr, UINT32 len,
HSTRING_HEADER *header, HSTRING *out);
HRESULT WINAPI WindowsDeleteString(HSTRING str);
HRESULT WINAPI WindowsDeleteStringBuffer(HSTRING_BUFFER buf);
HRESULT WINAPI WindowsDuplicateString(HSTRING str, HSTRING *out);
UINT32 WINAPI WindowsGetStringLen(HSTRING str);
LPCWSTR WINAPI WindowsGetStringRawBuffer(HSTRING str, UINT32 *len);
BOOL WINAPI WindowsIsStringEmpty(HSTRING str);
HRESULT WINAPI WindowsPreallocateStringBuffer(UINT32 len, WCHAR **outptr, HSTRING_BUFFER *out);
HRESULT WINAPI WindowsPromoteStringBuffer(HSTRING_BUFFER buf, HSTRING *out);
HRESULT WINAPI WindowsReplaceString(HSTRING haystack, HSTRING needle, HSTRING replacement,
HSTRING *out);
HRESULT WINAPI WindowsStringHasEmbeddedNull(HSTRING str, BOOL *out);
HRESULT WINAPI WindowsSubstring(HSTRING str, UINT32 pos, HSTRING *out);
HRESULT WINAPI WindowsSubstringWithSpecifiedLength(HSTRING str, UINT32 pos,
UINT32 len, HSTRING *out);
HRESULT WINAPI WindowsTrimStringEnd(HSTRING str, HSTRING charstr, HSTRING *out);
HRESULT WINAPI WindowsTrimStringStart(HSTRING str, HSTRING charstr, HSTRING *out);
#ifdef __cplusplus
}
#endif
#endif /* __WINSTRING_H_ */
+1 -1
View File
@@ -1,2 +1,2 @@
add_idl_headers(wineheaders fil_data.idl itss.idl)
add_idl_headers(wineheaders fil_data.idl irot.idl irpcss.idl itss.idl orpc.idl)
+13
View File
@@ -194,6 +194,15 @@ static __inline const char *wine_dbgstr_w( const WCHAR *s )
return wine_dbgstr_wn( s, -1 );
}
#if defined(__hstring_h__) && defined(__WINSTRING_H_)
static inline const char *wine_dbgstr_hstring( HSTRING hstr )
{
UINT32 len;
const WCHAR *str = WindowsGetStringRawBuffer( hstr, &len );
return wine_dbgstr_wn( str, len );
}
#endif
static __inline const char *wine_dbgstr_guid( const GUID *id )
{
if (!id) return "(null)";
@@ -389,6 +398,10 @@ static __inline const char *debugstr_guid( const struct _GUID *id ) { return win
static __inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); }
static __inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
#if defined(__hstring_h__) && defined(__WINSTRING_H_)
static inline const char *debugstr_hstring( struct HSTRING__ *s ) { return wine_dbgstr_hstring( s ); }
#endif
#if defined(__oaidl_h__) && defined(V_VT)
static __inline const char *debugstr_vt( VARTYPE vt ) { return wine_dbgstr_vt( vt ); }
static __inline const char *debugstr_variant( const VARIANT *v ) { return wine_dbgstr_variant( v ); }
+50
View File
@@ -0,0 +1,50 @@
/*
* Copyright 2019 Nikolay Sivov for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "wtypes.idl";
#include "wine/orpc.idl"
cpp_quote("#define IRPCSS_PROTSEQ {'n','c','a','l','r','p','c',0}")
cpp_quote("#define IRPCSS_ENDPOINT {'i','r','p','c','s','s',0}")
[
uuid(85da4974-edc7-40ff-bad4-9c4525a8d044),
version(0.0),
]
interface Irpcss
{
HRESULT irpcss_server_register(
[in] handle_t handle,
[in] const GUID *clsid,
[in] unsigned int flags,
[in] PMInterfacePointer object,
[out] unsigned int *cookie);
HRESULT irpcss_server_revoke(
[in] handle_t handle,
[in] unsigned int cookie);
HRESULT irpcss_get_class_object(
[in] handle_t handle,
[in] const GUID *clsid,
[out] PMInterfacePointer *object);
HRESULT irpcss_get_thread_seq_id(
[in] handle_t handle,
[out] DWORD *sequence_id);
}
+191
View File
@@ -0,0 +1,191 @@
/*
* Copyright 2003 Ove Kåven, TransGaming Technologies
*
* 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
*/
#pragma makedep header
import "unknwn.idl";
[
uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
pointer_default(unique)
]
interface ObjectRpcBaseTypes
{
typedef unsigned hyper ID;
typedef ID MID;
typedef ID OXID;
typedef ID OID;
typedef ID SETID;
typedef GUID IPID;
typedef GUID CID;
typedef REFGUID REFIPID;
const unsigned short COM_MINOR_VERSION_1 = 1;
const unsigned short COM_MINOR_VERSION_2 = 2;
const unsigned short COM_MAJOR_VERSION = 5;
const unsigned short COM_MINOR_VERSION = 3;
typedef struct tagCOMVERSION
{
unsigned short MajorVersion;
unsigned short MinorVersion;
} COMVERSION;
const unsigned long ORPCF_NULL = 0;
const unsigned long ORPCF_LOCAL = 1;
const unsigned long ORPCF_RESERVED1 = 2;
const unsigned long ORPCF_RESERVED2 = 4;
const unsigned long ORPCF_RESERVED3 = 8;
const unsigned long ORPCF_RESERVED4 = 16;
typedef struct tagORPC_EXTENT
{
GUID id;
unsigned long size;
[size_is((size + 7) & ~7)] byte data[];
} ORPC_EXTENT;
typedef struct tagORPC_EXTENT_ARRAY
{
unsigned long size;
unsigned long reserved;
[size_is((size + 1) & ~1,), unique] ORPC_EXTENT **extent;
} ORPC_EXTENT_ARRAY;
typedef struct tagORPCTHIS
{
COMVERSION version;
unsigned long flags;
unsigned long reserved1;
CID cid;
[unique] ORPC_EXTENT_ARRAY *extensions;
} ORPCTHIS;
typedef struct tagORPCTHAT
{
unsigned long flags;
[unique] ORPC_EXTENT_ARRAY *extensions;
} ORPCTHAT;
const unsigned short NCADG_IP_UDP = 0x08;
const unsigned short NCACN_IP_TCP = 0x07;
const unsigned short NCADG_IPX = 0x0E;
const unsigned short NCACN_SPX = 0x0C;
const unsigned short NCACN_NB_NB = 0x12;
const unsigned short NCACN_NB_IPX = 0x0D;
const unsigned short NCACN_DNET_NSP = 0x04;
const unsigned short NCACN_HTTP = 0x1F;
typedef struct tagSTRINGBINDING
{
unsigned short wTowerId;
[string] WCHAR aNetworkAddr[];
} STRINGBINDING;
const unsigned short COM_C_AUTHZ_NONE = 0xffff;
typedef struct tagSECURITYBINDING
{
unsigned short wAuthnSvc;
unsigned short wAuthzSvc;
[string] WCHAR aPrincName[];
} SECURITYBINDING;
typedef struct tagDUALSTRINGARRAY
{
unsigned short wNumEntries;
unsigned short wSecurityOffset;
[size_is(wNumEntries)] unsigned short aStringArray[];
} DUALSTRINGARRAY;
typedef struct tagOXID_INFO
{
DWORD dwTid;
DWORD dwPid;
IPID ipidRemUnknown;
DWORD dwAuthnHint;
DUALSTRINGARRAY *psa;
} OXID_INFO;
const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
const unsigned long OBJREF_STANDARD = 0x1;
const unsigned long OBJREF_HANDLER = 0x2;
const unsigned long OBJREF_CUSTOM = 0x4;
const unsigned long SORF_OXRES1 = 0x1;
const unsigned long SORF_OXRES2 = 0x20;
const unsigned long SORF_OXRES3 = 0x40;
const unsigned long SORF_OXRES4 = 0x80;
const unsigned long SORF_OXRES5 = 0x100;
const unsigned long SORF_OXRES6 = 0x200;
const unsigned long SORF_OXRES7 = 0x400;
const unsigned long SORF_OXRES8 = 0x800;
const unsigned long SORF_NULL = 0x0;
const unsigned long SORF_NOPING = 0x1000;
typedef struct tagSTDOBJREF
{
unsigned long flags;
unsigned long cPublicRefs;
OXID oxid;
OID oid;
IPID ipid;
} STDOBJREF;
typedef struct tagOBJREF
{
unsigned long signature;
unsigned long flags;
GUID iid;
[switch_is(flags)]
union
{
[case(OBJREF_STANDARD)]
struct OR_STANDARD
{
STDOBJREF std;
DUALSTRINGARRAY saResAddr;
} u_standard;
[case(OBJREF_HANDLER)]
struct OR_HANDLER
{
STDOBJREF std;
CLSID clsid;
DUALSTRINGARRAY saResAddr;
} u_handler;
[case(OBJREF_CUSTOM)]
struct OR_CUSTOM
{
CLSID clsid;
unsigned long cbExtension;
ULONG size;
[size_is(size), ref] byte *pData;
} u_custom;
} u_objref;
} OBJREF;
typedef struct tagMInterfacePointer
{
ULONG ulCntData;
[size_is(ulCntData)] BYTE abData[];
} MInterfacePointer;
typedef [unique] MInterfacePointer *PMInterfacePointer;
}
+30
View File
@@ -9,6 +9,7 @@
#define __ROAPI_H_
#include <sal.h>
#include <activation.h>
#ifdef __cplusplus
extern "C" {
@@ -26,6 +27,33 @@ typedef enum RO_INIT_TYPE
RO_INIT_MULTITHREADED = 1,
} RO_INIT_TYPE;
DECLARE_HANDLE(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE);
#ifdef __cplusplus
typedef struct {} *RO_REGISTRATION_COOKIE;
#else
typedef struct _RO_REGISTRATION_COOKIE *RO_REGISTRATION_COOKIE;
#endif
ROAPI
_Check_return_
HRESULT
WINAPI
RoActivateInstance(
_In_ HSTRING classid,
_Out_ IInspectable **instance
);
ROAPI
_Check_return_
HRESULT
WINAPI
RoGetActivationFactory(
_In_ HSTRING classid,
_In_ REFIID iid,
_Out_ void **class_factory
);
ROAPI
_Check_return_
HRESULT
@@ -38,6 +66,8 @@ void
WINAPI
RoUninitialize(void);
typedef HRESULT (WINAPI *PFNGETACTIVATIONFACTORY)(_In_ HSTRING classId, _Out_ IActivationFactory ** factory);
#ifdef __cplusplus
} // extern "C"
#endif