| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- //-----------------------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- namespace System.ServiceModel.ComIntegration
- {
- using System;
- using System.ServiceModel.Channels;
- using System.Runtime.InteropServices;
- [Serializable]
- [ComVisible(false)]
- enum ThreadPoolOption
- {
- None = 0,
- Inherit = 1,
- STA = 2,
- MTA = 3
- }
- [Serializable]
- [ComVisible(false)]
- enum BindingOption
- {
- NoBinding = 0,
- BindingToPoolThread = 1
- }
- [Serializable]
- [ComVisible(false)]
- enum SxsOption
- {
- Ignore = 0,
- Inherit = 1,
- New = 2
- }
- [Serializable]
- [ComVisible(false)]
- enum PartitionOption
- {
- Ignore = 0,
- Inherit = 1,
- New = 2
- }
- [Serializable]
- [ComVisible(false)]
- enum TransactionConfig
- {
- NoTransaction = 0,
- IfContainerIsTransactional = 1,
- CreateTransactionIfNecessary = 2,
- NewTransaction = 3
- }
- [Serializable]
- [ComVisible(false)]
- enum CSC_SxsConfig
- {
- CSC_NoSxs = 0,
- CSC_InheritSxs = 1,
- CSC_NewSxs = 2
- }
- [ComImport]
- [Guid("186d89bc-f277-4bcc-80d5-4df7b836ef4a")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceThreadPoolConfig
- {
- void SelectThreadPool(ThreadPoolOption threadPool);
- void SetBindingInfo(BindingOption binding);
- }
- [ComImport]
- [Guid("80182d03-5ea4-4831-ae97-55beffc2e590")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServicePartitionConfig
- {
- void PartitionConfig(PartitionOption partitionConfig);
- void PartitionID(
- [In, MarshalAs(UnmanagedType.LPStruct)] Guid guidPartitionID);
- }
- [ComImport]
- [Guid("33CAF1A1-FCB8-472b-B45E-967448DED6D8")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceSysTxnConfig
- {
- // NOTE: This is actually IServiceSysTxnConfigInternal.
- void ConfigureTransaction(TransactionConfig transactionConfig);
- void IsolationLevel(int option);
- void TransactionTimeout(uint ulTimeoutSec);
- void BringYourOwnTransaction([MarshalAs(UnmanagedType.LPWStr)] string szTipURL);
- void NewTransactionDescription([MarshalAs(UnmanagedType.LPWStr)] string szTxDesc);
- void ConfigureBYOT(IntPtr pITxByot);
- void ConfigureBYOTSysTxn(IntPtr pITxByot);
- }
- [ComImport]
- [Guid("C7CD7379-F3F2-4634-811B-703281D73E08")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceSxsConfig
- {
- void SxsConfig(CSC_SxsConfig sxsConfig);
- void SxsName([MarshalAs(UnmanagedType.LPWStr)] string szSxsName);
- void SxsDirectory([MarshalAs(UnmanagedType.LPWStr)] string szSxsDirectory);
- }
- [ComImport]
- [Guid("59f4c2a3-d3d7-4a31-b6e4-6ab3177c50b9")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceTransactionConfig
- {
- // NOTE: This is actually IServiceSysTxnConfigInternal.
- void ConfigureTransaction(TransactionConfig transactionConfig);
- void IsolationLevel(int option);
- void TransactionTimeout(uint ulTimeoutSec);
- void BringYourOwnTransaction([MarshalAs(UnmanagedType.LPWStr)] string szTipURL);
- void NewTransactionDescription([MarshalAs(UnmanagedType.LPWStr)] string szTxDesc);
- void ConfigureBYOT(IntPtr pITxByot);
- }
- [ComImport]
- [Guid("ecabb0c8-7f19-11d2-978e-0000f8757e2a")]
- class CServiceConfig { }
- [ComImport]
- [Guid("BD3E2E12-42DD-40f4-A09A-95A50C58304B")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceCall
- {
- void OnCall();
- }
- [ComImport]
- [Guid("67532E0C-9E2F-4450-A354-035633944E17")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IServiceActivity
- {
- void SynchronousCall(IServiceCall pIServiceCall);
- void AsynchronousCall(IServiceCall pIServiceCall);
- void BindToCurrentThread();
- void UnbindFromThread();
- }
- [ComImport]
- [Guid("000001ce-0000-0000-C000-000000000046")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- interface IComThreadingInfo
- {
- void GetCurrentApartmentType(out uint aptType);
- void GetCurrentThreadType(out uint threadType);
- void GetCurrentLogicalThreadId(out Guid guidLogicalThreadID);
- void SetCurrentLogicalThreadId([In, MarshalAs(UnmanagedType.LPStruct)] Guid guidLogicalThreadID);
- };
- [ComImport,
- Guid("75B52DDB-E8ED-11D1-93AD-00AA00BA3258"),
- InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
- internal interface IObjectContextInfo
- {
- [PreserveSig]
- [return: MarshalAs(UnmanagedType.Bool)]
- bool IsInTransaction();
- [PreserveSig]
- [return: MarshalAs(UnmanagedType.Interface)]
- Object GetTransaction();
- void GetTransactionId(out Guid guid);
- void GetActivityId(out Guid guid);
- void GetContextId(out Guid guid);
- }
- }
|