Author | Message | Time |
---|---|---|
Myndfyr | I'm working on the full deal for using one or two assemblies to load the BinaryChat plugins from my bot. This is the first major chunk of the BCP.h header in C#, excluding enumerations. [code] using System; using System.Runtime.InteropServices; #if DEBUG using System.Diagnostics; #endif namespace ArmaBot.BCP { public unsafe delegate bool PluginInitProc(PluginInformation *lpInterfaceInfo); public unsafe delegate bool MessageHookProc(uint dwConnectionId, byte MessageId, byte *lpMessageData, int nMessageSize, IntPtr lParam); public delegate bool EnumChannelProc( [MarshalAs(UnmanagedType.LPTStr)] string lpszUniqueName, [MarshalAs(UnmanagedType.LPTStr)] string lpszStatstring, uint dwFlags, uint dwPing, bool bInvisible, uint dwAcctNumber, uint dwRegAuthority, IntPtr lParam); public delegate bool ConnectionHookProc(uint dwConnectionId, uint dwEventCode, ulong qwPlatformId, IntPtr lParam); public delegate uint PluginTimerProc(uint dwTimeDelay, IntPtr lParam); public delegate bool CommandHookProc( [MarshalAs(UnmanagedType.LPStr)] string lpszMessage, [MarshalAs(UnmanagedType.LPStr)] string lpszSendingUser, bool bFromTelnet, IntPtr lParam); public delegate bool EventHookProc(IntPtr lParam); public delegate bool EnumFilterProc([MarshalAs(UnmanagedType.LPTStr)] string lpszFilter, IntPtr lParam); public delegate bool EnumPluginsProc(IntPtr hPlugin, IntPtr lParam); // v5 public delegate bool PluginDestroyProc(IntPtr lParam); public delegate bool OutputHookProc(uint dwReason, byte Color, [MarshalAs(UnmanagedType.LPTStr)] string lpszMessage, IntPtr lParam); public delegate void DeferredProcedureCallProc(IntPtr lParam); public unsafe delegate bool MessageSendHookProc(uint dwConnectionId, byte MessageId, byte *lpMessageData, uint nMessageSize, IntPtr lParam); public delegate bool TestModifierSendHookProc(uint dwConnectionId, [MarshalAs(UnmanagedType.LPTStr)] string lpszMessageText, IntPtr lParam); public delegate bool TestModifierReceiveHookProc(uint dwConnectionId, [MarshalAs(UnmanagedType.LPStr)] string lpszMessageText, IntPtr lParam); public unsafe delegate bool PluginInitExProc(PluginInformationEx *lpInterfaceInfo); public delegate bool PluginDestroyExProc(IntPtr lParam); public unsafe delegate bool PluginControlProc(uint dwOperation, PluginInformation *lpInterfaceInfo, IntPtr hBinaryChat, IntPtr lParam); public delegate bool EnumInstancesProc(IntPtr hBinaryChat, IntPtr lParam); public delegate bool EnumProfilesProc( [MarshalAs(UnmanagedType.LPTStr)] string lpszProfileName, IntPtr lParam); public delegate bool ClearMessageProc(byte MessageId); public delegate bool IsMessageSetProc(byte MessageId); public delegate bool SetMessageProc(byte MessageId); public unsafe delegate bool QueueMessageProc(byte MessageId, byte *lpMessageData, uint nMessageSize); public delegate bool QueueChatMessageProc( [MarshalAs(UnmanagedType.LPStr)] string lpszChatMessage, bool bFixD2Command); public unsafe delegate bool QueryStateInformation(StateInformation *lpStateInfo); public delegate bool QueryChannelInformationProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumChannelProc lpCallback, IntPtr lParam); public delegate bool CloseConnectionProc(uint dwConnectionId); public unsafe delegate bool SendConnectionMessageProc(uint dwConnectionId, byte MessageId, byte *lpMessageData, uint nMessageSize); public delegate bool SetOutputColorProc(byte ColorId); public delegate bool WriteOutputTimestampProc(); public delegate bool WriteOutputStringProc( [MarshalAs(UnmanagedType.LPTStr)] string lpszString); public delegate bool ProcessBotCommandProc( [MarshalAs(UnmanagedType.LPTStr)] string lpszCommand); [MarshalAs(UnmanagedType.LPStr)] public delegate string GetRegistryPathProc(); public delegate bool ResetAwayIdleProc(); public delegate IntPtr GetWindowProc(uint dwWindowId); public delegate bool InServiceProc(); public delegate IntPtr GetMenuProc(uint dwMenuId); public delegate bool IsUserFilteredProc( [MarshalAs(UnmanagedType.LPStr)] string lpszMessage); public delegate bool EnumUserFiltersProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumFilterProc lpCallback, IntPtr lParam); public delegate bool EnumMessageFiltersProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumFilterProc lpCallback, IntPtr lParam); public delegate bool AddUserFilterProc( [MarshalAs(UnmanagedType.LPStr)] string lpszFilter, bool bSaveFilters); public delegate bool AddMessageFilterProc( [MarshalAs(UnmanagedType.LPStr)] string lpszMessageFilter, bool bSaveFilters); public delegate bool RemoveUserFilterProc( [MarshalAs(UnmanagedType.LPStr)] string lpszFilter, bool bSaveFilters); public delegate bool RemoveMessageFilterProc( [MarshalAs(UnmanagedType.LPStr)] string lpszFilter, bool bSaveFilters); public delegate bool MotifyMsgProc(byte bColor, [MarshalAs(UnmanagedType.LPStr)] string lpszUser, [MarshalAs(UnmanagedType.LPStr)] string lpszMessageFormat, params object[] rest); public delegate bool EnumLoadedPluginsProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumPluginsProc lpCallback, IntPtr lParam); public delegate bool ProcessBotCommandExProc( [MarshalAs(UnmanagedType.LPStr)] string lpszMessage, uint dwFlags, [MarshalAs(UnmanagedType.LPStr)] string lpszRemoteUser); public delegate bool QueueChatMessageExProc( [MarshalAs(UnmanagedType.LPStr)] string lpszMessage, uint dwFlags); public delegate bool QueueDPCProc( [MarshalAs(UnmanagedType.FunctionPtr)] DeferredProcedureCallProc DPC, IntPtr lParam); public delegate IntPtr GetCurrentBinaryChatProc(); public delegate bool SetCurrentBinaryChatProc(IntPtr hBinaryChat); public delegate bool EnumBinaryChatProfilesProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumProfilesProc lpCallback, IntPtr lParam); public delegate bool EnumBinaryChatsProc( [MarshalAs(UnmanagedType.FunctionPtr)] EnumInstancesProc lpCallback, IntPtr lParam); public delegate uint ControlBinaryChatProc(IntPtr hBinaryChat, uint dwControlCode, IntPtr wParam, IntPtr lParam); [MarshalAs(UnmanagedType.LPStr)] public delegate string GetBinaryChatProfileNameProc(IntPtr hBinaryChat); [MarshalAs(UnmanagedType.LPStr)] public delegate string GetProfileRegistryPathProc(); public delegate IntPtr ExGetWindowProc(uint dwWindowId); public unsafe delegate IntPtr PluginInformationToBinaryChatProc(PluginInformation *lpPluginInformation, IntPtr hInterfaceList); public unsafe delegate PluginInformation* BinaryChatToPluginInformation(IntPtr hBinaryChat, IntPtr hInterfaceList); public delegate uint GetBotIdProc(IntPtr hBinaryChat); public delegate IntPtr GetBinaryChatProc(uint dwBotId); } [/code] | June 15, 2004, 7:09 AM |