Skip to content

Instantly share code, notes, and snippets.

@buchmoyerm
Created February 14, 2014 13:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save buchmoyerm/9001271 to your computer and use it in GitHub Desktop.
Save buchmoyerm/9001271 to your computer and use it in GitHub Desktop.
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
//Interfaces for working with excel
//this file allows me to not have a reference to excel in the project
//Adding a reference is to a specific version, these interfaces apply to all
//see Kenny Ker's blog http://weblogs.asp.net/kennykerr/archive/2008/12/16/Rtd7.aspx
[Guid( "A43788C1-D91B-11D3-8F39-00C04F3651B8" )]
[TypeLibType( 4160 )]
[ComImport]
public interface IRTDUpdateEvent
{
[DispId( 10 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
void UpdateNotify();
[DispId( 12 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
void Disconnect();
[DispId( 11 )]
int HeartbeatInterval { [DispId( 11 ), MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )] get; [DispId( 11 ), MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )] set; }
}
[Guid( "EC0E6191-DB51-11D3-8F3E-00C04F3651B8" )]
[TypeLibType( 4160 )]
[ComImport]
public interface IRtdServer
{
[DispId( 10 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
int ServerStart( [MarshalAs( UnmanagedType.Interface ), In] IRTDUpdateEvent CallbackObject );
[DispId( 11 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
[return: MarshalAs( UnmanagedType.Struct )]
object ConnectData( [In] int TopicID, [MarshalAs( UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT ), In] ref Array Strings, [In, Out] ref bool GetNewValues );
[DispId( 12 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
[return: MarshalAs( UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT )]
Array RefreshData( [In, Out] ref int TopicCount );
[DispId( 13 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
void DisconnectData( [In] int TopicID );
[DispId( 14 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
int Heartbeat();
[DispId( 15 )]
[MethodImpl( MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime )]
void ServerTerminate();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment