diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index ecf6769c4..bd6a052bd 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,36 @@ + +Fri Jan 26 15:59:31 2001 Earnie Boyd + * include/objbase.h: (COM_RIGHTS): Add definition. + (tagSTDMSHLFLAGS): add enumeration. + (CoInitializeEx): Add prototypes. + (CoGetStdMarshalEx): ditto. + (CoCreateInstanceEx): ditto. + (CoInitializeSecurity): ditto. + (CoGetCallContext): ditto. + (CoQueryProxyBlanket): ditto. + (CoSetProxyBlanket): ditto. + (CoCopyProxy): ditto. + (CoQueryClientBlanket): ditto. + (CoImpersonateClient): ditto. + (CoRevertToSelf): ditto. + (CoQueryAuthenticationServices): ditto. + (CoSwitchCallContext): ditto. + (CoGetInstanceFromFile): ditto. + (CoGetInstanceFromIStorage): ditto. + * include/objidl.h: (SOLE_AUTHENTICATION_SERVICE): Add structure. + (SOLE_AUTHENTICATION_INFO): ditto. + (EOLE_AUTHENTICATION_CAPABILITIES): Add enumeration. + (COLE_DEFAULT_PRINCIPAL): Add definition. + (COLE_DEFAULT_AUTHINFO): Ditto. + * include/rpcdce.h: (RPC_C_AUTHZ_DEFAULT): Add definition. + (RPC_PROTSEQ_VECTOR) Fix typo. + (RpcRaiseException): add DECLSPEC_NORETURN attribute. + * include/winbase.h: (FreeLibraryAndExitThread): add DECLSPEC_NORETURN + attribute. + Fri Jan 26 13:34:55 2001 Earnie Boyde * lib/msvcp60.def: Apply Danny Smith patch 103321. diff --git a/winsup/w32api/include/objbase.h b/winsup/w32api/include/objbase.h index 5e83ad5ae..b2541a15f 100644 --- a/winsup/w32api/include/objbase.h +++ b/winsup/w32api/include/objbase.h @@ -40,6 +40,8 @@ #define STG_TOEND 0xFFFFFFFF #define STG_LAYOUT_SEQUENTIAL 0 #define STG_LAYOUT_INTERLEAVED 1 +#define COM_RIGHTS_EXECUTE 1 +#define COM_RIGHTS_SAFE_FOR_SCRIPTING 2 typedef enum tagREGCLS { REGCLS_SINGLEUSE = 0, REGCLS_MULTIPLEUSE = 1, @@ -69,9 +71,14 @@ typedef enum tagCOINIT { COINIT_DISABLE_OLE1DDE = 0x4, COINIT_SPEED_OVER_MEMORY = 0x8, } COINIT; +typedef enum tagSTDMSHLFLAGS { + SMEXF_SERVER = 0x01, + SMEXF_HANDLER = 0x02 +} STDMSHLFLAGS; WINOLEAPI_(DWORD) CoBuildVersion(void); WINOLEAPI CoInitialize(PVOID); +WINOLEAPI CoInitializeEx(LPVOID,DWORD); WINOLEAPI_(void) CoUninitialize(void); WINOLEAPI CoGetMalloc(DWORD,LPMALLOC*); WINOLEAPI_(DWORD) CoGetCurrentProcess(void); @@ -94,6 +101,7 @@ WINOLEAPI CoReleaseMarshalData(LPSTREAM); WINOLEAPI CoDisconnectObject(LPUNKNOWN,DWORD); WINOLEAPI CoLockObjectExternal(LPUNKNOWN,BOOL,BOOL); WINOLEAPI CoGetStandardMarshal(REFIID,LPUNKNOWN,DWORD,PVOID,DWORD,LPMARSHAL*); +WINOLEAPI CoGetStdMarshalEx(LPUNKNOWN,DWORD,LPUNKNOWN*); WINOLEAPI_(BOOL) CoIsHandlerConnected(LPUNKNOWN); WINOLEAPI_(BOOL) CoHasStrongExternalConnections(LPUNKNOWN); WINOLEAPI CoMarshalInterThreadInterfaceInStream(REFIID,LPUNKNOWN,LPSTREAM*); @@ -104,6 +112,7 @@ WINOLEAPI_(void) CoFreeLibrary(HINSTANCE); WINOLEAPI_(void) CoFreeAllLibraries(void); WINOLEAPI_(void) CoFreeUnusedLibraries(void); WINOLEAPI CoCreateInstance(REFCLSID,LPUNKNOWN,DWORD,REFIID,PVOID*); +WINOLEAPI CoCreateInstanceEx(REFCLSID,IUnknown*,DWORD,COSERVERINFO*,DWORD,MULTI_QI*); WINOLEAPI StringFromCLSID(REFCLSID,LPOLESTR*); WINOLEAPI CLSIDFromString(LPOLESTR,LPCLSID); WINOLEAPI StringFromIID(REFIID,LPOLESTR*); @@ -147,5 +156,18 @@ WINOLEAPI CreateItemMoniker(LPCOLESTR,LPCOLESTR,LPMONIKER*); WINOLEAPI CreateAntiMoniker(LPMONIKER*); WINOLEAPI CreatePointerMoniker(LPUNKNOWN,LPMONIKER*); WINOLEAPI GetRunningObjectTable(DWORD,LPRUNNINGOBJECTTABLE*); +WINOLEAPI CoInitializeSecurity(PSECURITY_DESCRIPTOR,LONG,SOLE_AUTHENTICATION_SERVICE*, void*,DWORD,DWORD,void*,DWORD,void*); +WINOLEAPI CoGetCallContext(REFIID,void**); +WINOLEAPI CoQueryProxyBlanket(IUnknown*, DWORD*,DWORD*,OLECHAR**,DWORD*,DWORD*,RPC_AUTH_IDENTITY_HANDLE*,DWORD*); +WINOLEAPI CoSetProxyBlanket(IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE, DWORD); +WINOLEAPI CoCopyProxy(IUnknown*,IUnknown**); +WINOLEAPI CoQueryClientBlanket(DWORD*,DWORD*,OLECHAR**, DWORD*,DWORD*,RPC_AUTHZ_HANDLE*,DWORD*); +WINOLEAPI CoImpersonateClient(); +WINOLEAPI CoRevertToSelf(); +WINOLEAPI CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**); +WINOLEAPI CoSwitchCallContext(IUnknown*,IUnknown**); +WINOLEAPI CoGetInstanceFromFile(COSERVERINFO*, CLSID*,IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,MULTI_QI*); +WINOLEAPI CoGetInstanceFromIStorage(COSERVERINFO*,CLSID*, IUnknown*,DWORD,struct IStorage*, DWORD,MULTI_QI*); + #pragma pack(pop) #endif diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h index 4c8eb07fc..8be7e6910 100644 --- a/winsup/w32api/include/objidl.h +++ b/winsup/w32api/include/objidl.h @@ -369,6 +369,40 @@ typedef struct tagSTORAGELAYOUT { LARGE_INTEGER cOffset; LARGE_INTEGER cBytes; } STORAGELAYOUT; +typedef struct tagSOLE_AUTHENTICATION_SERVICE { + DWORD dwAuthnSvc; + DWORD dwAuthzSvc; + OLECHAR *pPrincipalName; + HRESULT hr; +} SOLE_AUTHENTICATION_SERVICE; +#define COLE_DEFAULT_PRINCIPAL ( ( OLECHAR* )-1 ) +typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { + EOAC_NONE = 0, + EOAC_MUTUAL_AUTH = 0x1, + EOAC_STATIC_CLOAKING = 0x20, + EOAC_DYNAMIC_CLOAKING = 0x40, + EOAC_ANY_AUTHORITY = 0x80, + EOAC_MAKE_FULLSIC = 0x100, + EOAC_DEFAULT = 0x800, + EOAC_SECURE_REFS = 0x2, + EOAC_ACCESS_CONTROL = 0x4, + EOAC_APPID = 0x8, + EOAC_DYNAMIC = 0x10, + EOAC_REQUIRE_FULLSIC = 0x200, + EOAC_AUTO_IMPERSONATE = 0x400, + EOAC_NO_CUSTOM_MARSHAL = 0x2000, + EOAC_DISABLE_AAA = 0x1000 +} EOLE_AUTHENTICATION_CAPABILITIES; +typedef struct tagSOLE_AUTHENTICATION_INFO { + DWORD dwAuthnSvc; + DWORD dwAuthzSvc; + void* pAuthInfo; +} SOLE_AUTHENTICATION_INFO; +#define COLE_DEFAULT_AUTHINFO ( ( void* )-1 ) +typedef struct tagSOLE_AUTHENTICATION_LIST { + DWORD cAuthInfo; + SOLE_AUTHENTICATION_INFO* aAuthInfo; +} SOLE_AUTHENTICATION_LIST; DECLARE_ENUMERATOR(FORMATETC); DECLARE_ENUMERATOR(HLITEM); DECLARE_ENUMERATOR(STATDATA); diff --git a/winsup/w32api/include/rpcdce.h b/winsup/w32api/include/rpcdce.h index e07fa3a9d..b67dbcb80 100644 --- a/winsup/w32api/include/rpcdce.h +++ b/winsup/w32api/include/rpcdce.h @@ -83,6 +83,7 @@ extern "C" { #define RPC_C_AUTHZ_NONE 0 #define RPC_C_AUTHZ_NAME 1 #define RPC_C_AUTHZ_DCE 2 +#define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF typedef I_RPC_HANDLE RPC_BINDING_HANDLE; typedef RPC_BINDING_HANDLE handle_t; @@ -290,7 +291,7 @@ RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDI #else /* RPC_UNICODE_SUPPORTED */ typedef struct _RPC_PROTSEQ_VECTOR { unsigned int Count; - unsigned char*Protseq[1]; + unsigned char* Protseq[1]; } RPC_PROTSEQ_VECTOR; RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *); RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **); @@ -358,7 +359,7 @@ RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**); RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**); RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE); RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*); -void RPC_ENTRY RpcRaiseException(RPC_STATUS); +DECLSPEC_NORETURN void RPC_ENTRY RpcRaiseException(RPC_STATUS); RPC_STATUS RPC_ENTRY RpcTestCancel(); RPC_STATUS RPC_ENTRY RpcCancelThread(void*); RPC_STATUS RPC_ENTRY UuidCreate(UUID*); diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h index 9c3958197..8e28cbf02 100644 --- a/winsup/w32api/include/winbase.h +++ b/winsup/w32api/include/winbase.h @@ -1111,7 +1111,7 @@ DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*); BOOL WINAPI FreeEnvironmentStringsA(LPSTR); BOOL WINAPI FreeEnvironmentStringsW(LPWSTR); BOOL WINAPI FreeLibrary(HMODULE); -void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD); +DECLSPEC_NORETURN void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD); #define FreeModule(m) FreeLibrary(m) #define FreeProcInstance(p) (void)(p) BOOL WINAPI FreeResource(HGLOBAL);