using System; using System.Runtime; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; namespace openservicex86 { [StructLayout(LayoutKind.Explicit, Size=4, Pack=4)] public struct __MIDL_IWinTypes_0009 { // Fields [FieldOffset(0)] public int hInproc; [FieldOffset(0)] public int hRemote; } [StructLayout(LayoutKind.Sequential, Pack=4)] public struct _FILETIME { public uint dwLowDateTime; public uint dwHighDateTime; } [StructLayout(LayoutKind.Sequential, Pack=8)] public struct _LARGE_INTEGER { public long QuadPart; } [StructLayout(LayoutKind.Sequential, Pack=4)] public struct _RemotableHandle { public int fContext; public __MIDL_IWinTypes_0009 u; } [StructLayout(LayoutKind.Sequential, Pack=8)] public struct _ULARGE_INTEGER { public ulong QuadPart; } [ComImport, Guid("A436D7D2-17C3-4EF4-A1E8-5C86FAFF26C0"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IEnumOpenServiceActivity { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity rgelt, out uint pceltFetched); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Skip([In] uint celt); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Reset(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Clone([MarshalAs(UnmanagedType.Interface)] out IEnumOpenServiceActivity ppenum); } [ComImport, Guid("33627A56-8C9A-4430-8FD1-B5F5C771AFB6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IEnumOpenServiceActivityCategory { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivityCategory rgelt, out uint pceltFetched); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Skip([In] uint celt); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Reset(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Clone([MarshalAs(UnmanagedType.Interface)] out IEnumOpenServiceActivityCategory ppenum); } [ComImport, Guid("C2952ED1-6A89-4606-925F-1ED8B4BE0630"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenService { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void IsDefault(out int pfIsDefault); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void SetDefault([In] int fDefault, [In, ComAliasName("openservicex86.wireHWND")] ref _RemotableHandle hwnd); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetID([MarshalAs(UnmanagedType.BStr)] out string pbstrID); } [ComImport, Guid("13645C88-221A-4905-8ED1-4F5112CFC108"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceActivity : IOpenService { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void IsDefault(out int pfIsDefault); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void SetDefault([In] int fDefault, [In, ComAliasName("openservicex86.wireHWND")] ref _RemotableHandle hwnd); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetID([MarshalAs(UnmanagedType.BStr)] out string pbstrID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Execute([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityOutputContext pOutput); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void CanExecute([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityOutputContext pOutput, out int pfCanExecute); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void CanExecuteType([In] OpenServiceActivityContentType type, out int pfCanExecute); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Preview([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityOutputContext pOutput); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void CanPreview([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityOutputContext pOutput, out int pfCanPreview); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void CanPreviewType([In] OpenServiceActivityContentType type, out int pfCanPreview); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetStatusText([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [MarshalAs(UnmanagedType.BStr)] out string pbstrStatusText); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetHomepageUrl([MarshalAs(UnmanagedType.BStr)] out string pbstrHomepageUrl); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetDisplayName([MarshalAs(UnmanagedType.BStr)] out string pbstrDisplayName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetDescription([MarshalAs(UnmanagedType.BStr)] out string pbstrDescription); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetCategoryName([MarshalAs(UnmanagedType.BStr)] out string pbstrCategoryName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetIconPath([MarshalAs(UnmanagedType.BStr)] out string pbstrIconPath); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetIcon([In] int fSmallIcon, [ComAliasName("openservicex86.wireHICON")] out _RemotableHandle phIcon); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetDescriptionFilePath([MarshalAs(UnmanagedType.BStr)] out string pbstrXmlPath); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetDownloadUrl([MarshalAs(UnmanagedType.BStr)] out string pbstrXmlUri); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetInstallUrl([MarshalAs(UnmanagedType.BStr)] out string pbstrInstallUri); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void IsEnabled(out int pfIsEnabled); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void SetEnabled([In] int fEnable); } [ComImport, Guid("850AF9D6-7309-40B5-BDB8-786C106B2153"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceActivityCategory { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void HasDefaultActivity(out int pfHasDefaultActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetDefaultActivity([MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity ppDefaultActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void SetDefaultActivity([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivity pActivity, [In, ComAliasName("openservicex86.wireHWND")] ref _RemotableHandle hwnd); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetName([MarshalAs(UnmanagedType.BStr)] out string pbstrName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetActivityEnumerator([In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityInput pInput, [In, MarshalAs(UnmanagedType.Interface)] IOpenServiceActivityOutputContext pOutput, [MarshalAs(UnmanagedType.Interface)] out IEnumOpenServiceActivity ppEnumActivity); } [ComImport, Guid("75CB4DB9-6DA0-4DA3-83CE-422B6A433346"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceActivityInput { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetVariable([In, MarshalAs(UnmanagedType.LPWStr)] string pwzVariableName, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzVariableType, [MarshalAs(UnmanagedType.BStr)] out string pbstrVariableContent); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void HasVariable([In, MarshalAs(UnmanagedType.LPWStr)] string pwzVariableName, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzVariableType, out int pfHasVariable); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetType(out OpenServiceActivityContentType pType); } [ComImport, Guid("8A2D0A9D-E920-4BDC-A291-D30F650BC4F1"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceActivityManager { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetCategoryEnumerator([In] OpenServiceActivityContentType eType, [MarshalAs(UnmanagedType.Interface)] out IEnumOpenServiceActivityCategory ppenum); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetActivityByID([In, MarshalAs(UnmanagedType.LPWStr)] string pwzActivityID, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity ppActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetActivityByHomepageAndCategory([In, MarshalAs(UnmanagedType.LPWStr)] string pwzHomepage, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzCategory, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity ppActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetVersionCookie(out uint pdwVersionCookie); } [ComImport, Guid("E289DEAB-F709-49A9-B99E-282364074571"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceActivityOutputContext { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Navigate([In, MarshalAs(UnmanagedType.LPWStr)] string pwzUri, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzMethod, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzHeaders, [In, MarshalAs(UnmanagedType.Interface)] IStream pPostData); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void CanNavigate([In, MarshalAs(UnmanagedType.LPWStr)] string pwzUri, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzMethod, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzHeaders, [In, MarshalAs(UnmanagedType.Interface)] IStream pPostData, out int pfCanNavigate); } [ComImport, Guid("5664125F-4E10-4E90-98E4-E4513D955A14"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IOpenServiceManager { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void InstallService([In, MarshalAs(UnmanagedType.LPWStr)] string pwzServiceUrl, [MarshalAs(UnmanagedType.Interface)] out IOpenService ppService); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void UninstallService([In, MarshalAs(UnmanagedType.Interface)] IOpenService pService); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void GetServiceByID([In, MarshalAs(UnmanagedType.LPWStr)] string pwzID, [MarshalAs(UnmanagedType.Interface)] out IOpenService ppService); } [ComImport, Guid("0C733A30-2A1C-11CE-ADE5-00AA0044773D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface ISequentialStream { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteRead(out byte pv, [In] uint cb, out uint pcbRead); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteWrite([In] ref byte pv, [In] uint cb, out uint pcbWritten); } [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("0000000C-0000-0000-C000-000000000046")] public interface IStream : ISequentialStream { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteRead(out byte pv, [In] uint cb, out uint pcbRead); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteWrite([In] ref byte pv, [In] uint cb, out uint pcbWritten); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteSeek([In] _LARGE_INTEGER dlibMove, [In] uint dwOrigin, out _ULARGE_INTEGER plibNewPosition); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void SetSize([In] _ULARGE_INTEGER libNewSize); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void RemoteCopyTo([In, MarshalAs(UnmanagedType.Interface)] IStream pstm, [In] _ULARGE_INTEGER cb, out _ULARGE_INTEGER pcbRead, out _ULARGE_INTEGER pcbWritten); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Commit([In] uint grfCommitFlags); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Revert(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void LockRegion([In] _ULARGE_INTEGER libOffset, [In] _ULARGE_INTEGER cb, [In] uint dwLockType); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void UnlockRegion([In] _ULARGE_INTEGER libOffset, [In] _ULARGE_INTEGER cb, [In] uint dwLockType); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Stat(out tagSTATSTG pstatstg, [In] uint grfStatFlag); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] void Clone([MarshalAs(UnmanagedType.Interface)] out IStream ppstm); } public enum OpenServiceActivityContentType { ActivityContentCount = 3, ActivityContentDocument = 0, ActivityContentLink = 2, ActivityContentNone = -1, ActivityContentSelection = 1 } [ComImport, Guid("8A2D0A9D-E920-4BDC-A291-D30F650BC4F1"), CoClass(typeof(OpenServiceActivityManagerClass))] public interface OpenServiceActivityManager : IOpenServiceActivityManager { } [ComImport, Guid("C5EFD803-50F8-43CD-9AB8-AAFC1394C9E0"), TypeLibType(TypeLibTypeFlags.FCanCreate), ClassInterface(ClassInterfaceType.None)] public class OpenServiceActivityManagerClass : IOpenServiceActivityManager, OpenServiceActivityManager { // Methods [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void GetActivityByHomepageAndCategory([In, MarshalAs(UnmanagedType.LPWStr)] string pwzHomepage, [In, MarshalAs(UnmanagedType.LPWStr)] string pwzCategory, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity ppActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void GetActivityByID([In, MarshalAs(UnmanagedType.LPWStr)] string pwzActivityID, [MarshalAs(UnmanagedType.Interface)] out IOpenServiceActivity ppActivity); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void GetCategoryEnumerator([In] OpenServiceActivityContentType eType, [MarshalAs(UnmanagedType.Interface)] out IEnumOpenServiceActivityCategory ppenum); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void GetVersionCookie(out uint pdwVersionCookie); } [ComImport, CoClass(typeof(OpenServiceManagerClass)), Guid("5664125F-4E10-4E90-98E4-E4513D955A14")] public interface OpenServiceManager : IOpenServiceManager { } [ComImport, Guid("098870B6-39EA-480B-B8B5-DD0167C4DB59"), TypeLibType(TypeLibTypeFlags.FCanCreate), ClassInterface(ClassInterfaceType.None)] public class OpenServiceManagerClass : IOpenServiceManager, OpenServiceManager { // Methods [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void GetServiceByID([In, MarshalAs(UnmanagedType.LPWStr)] string pwzID, [MarshalAs(UnmanagedType.Interface)] out IOpenService ppService); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void InstallService([In, MarshalAs(UnmanagedType.LPWStr)] string pwzServiceUrl, [MarshalAs(UnmanagedType.Interface)] out IOpenService ppService); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] public virtual extern void UninstallService([In, MarshalAs(UnmanagedType.Interface)] IOpenService pService); } [StructLayout(LayoutKind.Sequential, Pack=8)] public struct tagSTATSTG { [MarshalAs(UnmanagedType.LPWStr)] public string pwcsName; public uint type; public _ULARGE_INTEGER cbSize; public _FILETIME mtime; public _FILETIME ctime; public _FILETIME atime; public uint grfMode; public uint grfLocksSupported; public Guid clsid; public uint grfStateBits; public uint reserved; } }