kopia lustrzana https://github.com/dl2alf/AirScout
3233 wiersze
143 KiB
XML
3233 wiersze
143 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>NDde</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:NDde.Client.DdeDisconnectedEventArgs">
|
|
<summary>
|
|
This contains information about the <c>Disconnected</c> event.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="T:NDde.DdeEventArgs">
|
|
<summary>
|
|
This is the base class for all NDde event argument classes.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.DdeEventArgs.ToString">
|
|
<summary>
|
|
This returns a string containing the current values of all properties.
|
|
</summary>
|
|
<returns>
|
|
A string containing the current values of all properties.
|
|
</returns>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeDisconnectedEventArgs.IsServerInitiated">
|
|
<summary>
|
|
This gets a bool indicating whether the client disconnected because of the server.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeDisconnectedEventArgs.IsDisposed">
|
|
<summary>
|
|
This gets a bool indicating whether the client disconnected because <c>Dispose</c> was explicitly called.
|
|
</summary>
|
|
<remarks>
|
|
The value will be true if <c>Dispose</c> was explicitly called on <c>DdeClient</c>. The <c>DdeClient</c> sending this event has
|
|
been disposed and can no longer be accessed. Any exception thrown in the currently executing method will be ignored.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.NamespaceDoc">
|
|
<summary>
|
|
This namespace contains classes for using Dynamic Data Exchange (DDE) in .NET.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.NamespaceDoc">
|
|
<summary>
|
|
This namespace contains classes for using advanced features of the library.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.NamespaceDoc">
|
|
<summary>
|
|
This namespace contains classes for creating DDE monitors.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Client.NamespaceDoc">
|
|
<summary>
|
|
This namespace contains classes for creating DDE client applications.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Server.NamespaceDoc">
|
|
<summary>
|
|
This namespace contains classes for creating DDE server applications.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Foundation.Server.DdemlServer.RegistrationManager">
|
|
<summary>
|
|
This class is needed to dispose of DDEML resources correctly since the DDEML is thread specific.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Foundation.Advanced.DdemlContext.InstanceManager">
|
|
<summary>
|
|
This class is needed to dispose of DDEML resources correctly since the DDEML is thread specific.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs">
|
|
<summary>
|
|
This contains information about the <c>CallbackActivity</c> event.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeActivityEventArgs">
|
|
<summary>
|
|
This contains information about events on <c>DdeMonitor</c>.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeActivityEventArgs.TaskHandle">
|
|
<summary>
|
|
This gets the task handle of the application associated with this event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.uType">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.uFmt">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.hConv">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.hsz1">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.hsz2">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.hData">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.dwData1">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.dwData2">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeCallbackActivityEventArgs.dwRet">
|
|
<summary>
|
|
This gets the return value of the DDEML callback function. See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Client.DdeClient">
|
|
<summary>
|
|
This represents the client side of a DDE conversation.
|
|
</summary>
|
|
<threadsafety static="true" instance="true"/>
|
|
<remarks>
|
|
<para>
|
|
DDE conversations are established by specifying a service name and topic name pair. The service name is usually the name of the application
|
|
acting as a DDE server. A DDE server can respond to multiple service names, but most servers usually only respond to one. The topic name
|
|
is a logical context for data and is defined by the server application. A server can and usually does support many topic names.
|
|
</para>
|
|
<para>
|
|
After a conversation has been established by calling <c>Connect</c> an application can read and write data using the <c>Request</c> and
|
|
<c>Poke</c> methods respectively by specifying an item name supported by the active conversation. An item name identifies a unit of data.
|
|
An application can also be notified of changes by initiating an advise loop on an item name using the <c>StartAdvise</c> method. Advise
|
|
loops can either be warm or hot. A hot advise loop returns the data associated with an item name when it changes whereas a warm advise loop
|
|
only notifies the application without sending any data. Commands can be sent to the server using the <c>Execute</c> method.
|
|
</para>
|
|
<para>
|
|
Callbacks and events are invoked on the thread hosting the <c>DdeContext</c>. All operations must be marshaled onto the thread hosting the
|
|
<c>DdeContext</c> associated with this object. Method calls will block until that thread becomes available. An exception will be generated
|
|
if the thread does not become available in a timely manner.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
The following example demonstrates how to use a DdeClient.
|
|
<code lang="C#">
|
|
using System;
|
|
using System.Text;
|
|
using NDde.Client;
|
|
|
|
public sealed class Client
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
// Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("The Server sample must be running before the client can connect.");
|
|
Console.WriteLine("Press ENTER to continue...");
|
|
Console.ReadLine();
|
|
try
|
|
{
|
|
// Create a client that connects to 'myapp|mytopic'.
|
|
using (DdeClient client = new DdeClient("myapp", "mytopic"))
|
|
{
|
|
// Subscribe to the Disconnected event. This event will notify the application when a conversation has been terminated.
|
|
client.Disconnected += OnDisconnected;
|
|
|
|
// Connect to the server. It must be running or an exception will be thrown.
|
|
client.Connect();
|
|
|
|
// Synchronous Execute Operation
|
|
client.Execute("mycommand", 60000);
|
|
|
|
// Synchronous Poke Operation
|
|
client.Poke("myitem", DateTime.Now.ToString(), 60000);
|
|
|
|
// Syncronous Request Operation
|
|
Console.WriteLine("Request: " + client.Request("myitem", 60000));
|
|
|
|
// Asynchronous Execute Operation
|
|
client.BeginExecute("mycommand", OnExecuteComplete, client);
|
|
|
|
// Asynchronous Poke Operation
|
|
client.BeginPoke("myitem", Encoding.ASCII.GetBytes(DateTime.Now.ToString() + "\0"), 1, OnPokeComplete, client);
|
|
|
|
// Asynchronous Request Operation
|
|
client.BeginRequest("myitem", 1, OnRequestComplete, client);
|
|
|
|
// Advise Loop
|
|
client.StartAdvise("myitem", 1, true, 60000);
|
|
client.Advise += OnAdvise;
|
|
|
|
// Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("Press ENTER to quit...");
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e.ToString());
|
|
Console.WriteLine("Press ENTER to quit...");
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
|
|
private static void OnExecuteComplete(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
DdeClient client = (DdeClient)ar.AsyncState;
|
|
client.EndExecute(ar);
|
|
Console.WriteLine("OnExecuteComplete");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("OnExecuteComplete: " + e.Message);
|
|
}
|
|
}
|
|
|
|
private static void OnPokeComplete(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
DdeClient client = (DdeClient)ar.AsyncState;
|
|
client.EndPoke(ar);
|
|
Console.WriteLine("OnPokeComplete");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("OnPokeComplete: " + e.Message);
|
|
}
|
|
}
|
|
|
|
private static void OnRequestComplete(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
DdeClient client = (DdeClient)ar.AsyncState;
|
|
byte[] data = client.EndRequest(ar);
|
|
Console.WriteLine("OnRequestComplete: " + Encoding.ASCII.GetString(data));
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("OnRequestComplete: " + e.Message);
|
|
}
|
|
}
|
|
|
|
private static void OnStartAdviseComplete(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
DdeClient client = (DdeClient)ar.AsyncState;
|
|
client.EndStartAdvise(ar);
|
|
Console.WriteLine("OnStartAdviseComplete");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("OnStartAdviseComplete: " + e.Message);
|
|
}
|
|
}
|
|
|
|
private static void OnStopAdviseComplete(IAsyncResult ar)
|
|
{
|
|
try
|
|
{
|
|
DdeClient client = (DdeClient)ar.AsyncState;
|
|
client.EndStopAdvise(ar);
|
|
Console.WriteLine("OnStopAdviseComplete");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine("OnStopAdviseComplete: " + e.Message);
|
|
}
|
|
}
|
|
|
|
private static void OnAdvise(object sender, DdeAdviseEventArgs args)
|
|
{
|
|
Console.WriteLine("OnAdvise: " + args.Text);
|
|
}
|
|
|
|
private static void OnDisconnected(object sender, DdeDisconnectedEventArgs args)
|
|
{
|
|
Console.WriteLine(
|
|
"OnDisconnected: " +
|
|
"IsServerInitiated=" + args.IsServerInitiated.ToString() + " " +
|
|
"IsDisposed=" + args.IsDisposed.ToString());
|
|
}
|
|
|
|
} // class
|
|
|
|
</code>
|
|
<code lang="Visual Basic">
|
|
Imports System.Text
|
|
Imports NDde.Client
|
|
|
|
Module Program
|
|
|
|
Sub Main()
|
|
|
|
' Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("The Server sample must be running before the client can connect.")
|
|
Console.WriteLine("Press ENTER to continue...")
|
|
Console.ReadLine()
|
|
|
|
Try
|
|
' Create a client that connects to 'myapp|mytopic'.
|
|
Using client As DdeClient = New DdeClient("myapp", "mytopic")
|
|
|
|
' Subscribe to the Disconnected event. This event will notify the application when a conversation has been terminated.
|
|
AddHandler client.Disconnected, AddressOf OnDisconnected
|
|
|
|
' Connect to the server. It must be running or an exception will be thrown.
|
|
client.Connect()
|
|
|
|
' Synchronous Execute Operation
|
|
client.Execute("mycommand", 60000)
|
|
|
|
' Synchronous Poke Operation
|
|
client.Poke("myitem", DateTime.Now.ToString(), 60000)
|
|
|
|
' Syncronous Request Operation
|
|
Console.WriteLine("Request: " + client.Request("myitem", 60000))
|
|
|
|
' Asynchronous Execute Operation
|
|
client.BeginExecute("mycommand", AddressOf OnExecuteComplete, client)
|
|
|
|
' Asynchronous Poke Operation
|
|
client.BeginPoke("myitem", Encoding.ASCII.GetBytes(DateTime.Now.ToString() + Convert.ToChar(0)), 1, AddressOf OnPokeComplete, client)
|
|
|
|
' Asynchronous Request Operation
|
|
client.BeginRequest("myitem", 1, AddressOf OnRequestComplete, client)
|
|
|
|
' Advise Loop
|
|
client.StartAdvise("myitem", 1, True, 60000)
|
|
AddHandler client.Advise, AddressOf OnAdvise
|
|
|
|
' Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("Press ENTER to quit...")
|
|
Console.ReadLine()
|
|
|
|
End Using
|
|
|
|
Catch e As Exception
|
|
|
|
Console.WriteLine(e.ToString())
|
|
Console.WriteLine("Press ENTER to quit...")
|
|
Console.ReadLine()
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub OnExecuteComplete(ByVal ar As IAsyncResult)
|
|
Try
|
|
Dim client As DdeClient = DirectCast(ar.AsyncState, DdeClient)
|
|
client.EndExecute(ar)
|
|
Console.WriteLine("OnExecuteComplete")
|
|
Catch e As Exception
|
|
Console.WriteLine("OnExecuteComplete: " + e.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub OnPokeComplete(ByVal ar As IAsyncResult)
|
|
Try
|
|
Dim client As DdeClient = DirectCast(ar.AsyncState, DdeClient)
|
|
client.EndPoke(ar)
|
|
Console.WriteLine("OnPokeComplete")
|
|
Catch e As Exception
|
|
Console.WriteLine("OnPokeComplete: " + e.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub OnRequestComplete(ByVal ar As IAsyncResult)
|
|
Try
|
|
Dim client As DdeClient = DirectCast(ar.AsyncState, DdeClient)
|
|
client.EndRequest(ar)
|
|
Console.WriteLine("OnRequestComplete")
|
|
Catch e As Exception
|
|
Console.WriteLine("OnRequestComplete: " + e.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub OnStartAdviseComplete(ByVal ar As IAsyncResult)
|
|
Try
|
|
Dim client As DdeClient = DirectCast(ar.AsyncState, DdeClient)
|
|
client.EndStartAdvise(ar)
|
|
Console.WriteLine("OnStartAdviseComplete")
|
|
Catch e As Exception
|
|
Console.WriteLine("OnStartAdviseComplete: " + e.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub OnStopAdviseComplete(ByVal ar As IAsyncResult)
|
|
Try
|
|
Dim client As DdeClient = DirectCast(ar.AsyncState, DdeClient)
|
|
client.EndStopAdvise(ar)
|
|
Console.WriteLine("OnStopAdviseComplete")
|
|
Catch e As Exception
|
|
Console.WriteLine("OnStopAdviseComplete: " + e.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub OnAdvise(ByVal sender As Object, ByVal args As DdeAdviseEventArgs)
|
|
Console.WriteLine("OnAdvise: " + args.Text)
|
|
End Sub
|
|
|
|
Private Sub OnDisconnected(ByVal sender As Object, ByVal args As DdeDisconnectedEventArgs)
|
|
Console.WriteLine( _
|
|
"OnDisconnected: " + _
|
|
"IsServerInitiated=" + args.IsServerInitiated.ToString() + " " + _
|
|
"IsDisposed=" + args.IsDisposed.ToString())
|
|
End Sub
|
|
|
|
End Module
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.#ctor(System.String,System.String)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeClient</c> class that can connect to a server that supports the specified service name and
|
|
topic name pair.
|
|
</summary>
|
|
<param name="service">
|
|
A service name supported by a server application.
|
|
</param>
|
|
<param name="topic">
|
|
A topic name support by a server application.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when servic or topic exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service or topic is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.#ctor(System.String,System.String,System.ComponentModel.ISynchronizeInvoke)">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeClient</c> class that can connect to a server that supports the specified service name and
|
|
topic name pair using the specified synchronizing object.
|
|
</summary>
|
|
<param name="service">
|
|
A service name supported by a server application.
|
|
</param>
|
|
<param name="topic">
|
|
A topic name support by a server application.
|
|
</param>
|
|
<param name="synchronizingObject">
|
|
The synchronizing object to use for this instance.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when service or topic exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service or topic is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.#ctor(System.String,System.String,NDde.Advanced.DdeContext)">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeClient</c> class that can connect to a server that supports the specified service name and
|
|
topic name pair and uses the specified context.
|
|
</summary>
|
|
<param name="service">
|
|
A service name supported by a server application.
|
|
</param>
|
|
<param name="topic">
|
|
A topic name support by a server application.
|
|
</param>
|
|
<param name="context">
|
|
The context to use for execution.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when servic or topic exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service or topic is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Dispose">
|
|
<summary>
|
|
This terminates the current conversation and releases all resources held by this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Dispose(System.Boolean)">
|
|
<summary>
|
|
This contains the implementation to release all resources held by this instance.
|
|
</summary>
|
|
<param name="disposing">
|
|
True if called by Dispose, false otherwise.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Connect">
|
|
<summary>
|
|
This establishes a conversation with a server that supports the specified service name and topic name pair.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is already connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the client could not connect to the server.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.TryConnect">
|
|
<summary>
|
|
This establishes a conversation with a server that supports the specified service name and topic name pair.
|
|
</summary>
|
|
<returns>
|
|
Zero if the operation succeed or non-zero if the operation failed.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Disconnect">
|
|
<summary>
|
|
This terminates the current conversation.
|
|
</summary>
|
|
<event cref="E:NDde.Client.DdeClient.Disconnected"/>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client was not previously connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thown when the client could not disconnect from the server.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Pause">
|
|
<summary>
|
|
This pauses the current conversation.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the conversation is already paused.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversation could not be paused or when the client is not connected.
|
|
</exception>
|
|
<remarks>
|
|
Synchronous operations will timeout if the conversation is paused. Asynchronous operations can begin, but will not complete until the
|
|
conversation has resumed.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Resume">
|
|
<summary>
|
|
This resumes the current conversation.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the conversation was not previously paused or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversation could not be resumed.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Abandon(System.IAsyncResult)">
|
|
<summary>
|
|
This terminates an asychronous operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call that begins an asynchronous operation.
|
|
</param>
|
|
<remarks>
|
|
This method does nothing if the asynchronous operation has already completed.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not be abandoned.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Execute(System.String,System.Int32)">
|
|
<summary>
|
|
This sends a command to the server application.
|
|
</summary>
|
|
<param name="command">
|
|
The command to be sent to the server application.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when command exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when command is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the command.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.TryExecute(System.String,System.Int32)">
|
|
<summary>
|
|
This sends a command to the server application.
|
|
</summary>
|
|
<param name="command">
|
|
The command to be sent to the server application.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<returns>
|
|
Zero if the operation succeed or non-zero if the operation failed.
|
|
</returns>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginExecute(System.String,System.AsyncCallback,System.Object)">
|
|
<summary>
|
|
This begins an asynchronous operation to send a command to the server application.
|
|
</summary>
|
|
<param name="command">
|
|
The command to be sent to the server application.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="state">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when command exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when command is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.EndExecute(System.IAsyncResult)">
|
|
<summary>
|
|
This throws any exception that occurred during the asynchronous operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginExecute</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the command.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Poke(System.String,System.String,System.Int32)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This sends data to the server application.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="data">
|
|
The data to send.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item or data is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the data.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Poke(System.String,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
This sends data to the server application.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="data">
|
|
The data to send.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item or data is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the data.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.TryPoke(System.String,System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
This sends data to the server application.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="data">
|
|
The data to send.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<returns>
|
|
Zero if the operation succeed or non-zero if the operation failed.
|
|
</returns>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginPoke(System.String,System.Byte[],System.Int32,System.AsyncCallback,System.Object)">
|
|
<summary>
|
|
This begins an asynchronous operation to send data to the server application.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="data">
|
|
The data to send.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="state">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item or data is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.EndPoke(System.IAsyncResult)">
|
|
<summary>
|
|
This throws any exception that occurred during the asynchronous operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginPoke</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the data.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Request(System.String,System.Int32)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This requests data using the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<returns>
|
|
The data returned by the server application in CF_TEXT format.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the request.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.Request(System.String,System.Int32,System.Int32)">
|
|
<summary>
|
|
This requests data using the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to return.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<returns>
|
|
The data returned by the server application.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the request.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.TryRequest(System.String,System.Int32,System.Int32,System.Byte[]@)">
|
|
<summary>
|
|
This requests data using the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to return.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<param name="data">
|
|
The data returned by the server application.
|
|
</param>
|
|
<returns>
|
|
Zero if the operation succeeded or non-zero if the operation failed.
|
|
</returns>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginRequest(System.String,System.Int32,System.AsyncCallback,System.Object)">
|
|
<summary>
|
|
This begins an asynchronous operation to request data using the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to return.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="state">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.EndRequest(System.IAsyncResult)">
|
|
<summary>
|
|
This gets the data returned by the server application for the operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginRequest</c>.
|
|
</param>
|
|
<returns>
|
|
The data returned by the server application.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not process the request.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.StartAdvise(System.String,System.Int32,System.Boolean,System.Int32)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This initiates an advise loop on the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to return.
|
|
</param>
|
|
<param name="hot">
|
|
A bool indicating whether data should be included with the notification.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<event cref="E:NDde.Client.DdeClient.Advise"/>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is already being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not initiate the advise loop.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.StartAdvise(System.String,System.Int32,System.Boolean,System.Boolean,System.Int32,System.Object)">
|
|
<summary>
|
|
This initiates an advise loop on the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to return.
|
|
</param>
|
|
<param name="hot">
|
|
A bool indicating whether data should be included with the notification.
|
|
</param>
|
|
<param name="acknowledge">
|
|
A bool indicating whether the client should acknowledge each advisory before the server will send send another.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<param name="adviseState">
|
|
An application defined data object to associate with this advise loop.
|
|
</param>
|
|
<event cref="E:NDde.Client.DdeClient.Advise"/>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is already being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not initiate the advise loop.
|
|
</exception>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginStartAdvise(System.String,System.Int32,System.Boolean,System.AsyncCallback,System.Object)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This begins an asynchronous operation to initiate an advise loop on the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to be returned.
|
|
</param>
|
|
<param name="hot">
|
|
A bool indicating whether data should be included with the notification.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="asyncState">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<event cref="E:NDde.Client.DdeClient.Advise"/>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is already being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginStartAdvise(System.String,System.Int32,System.Boolean,System.Boolean,System.AsyncCallback,System.Object,System.Object)">
|
|
<summary>
|
|
This begins an asynchronous operation to initiate an advise loop on the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name supported by the current conversation.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data to be returned.
|
|
</param>
|
|
<param name="hot">
|
|
A bool indicating whether data should be included with the notification.
|
|
</param>
|
|
<param name="acknowledge">
|
|
A bool indicating whether the client should acknowledge each advisory before the server will send send another.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="asyncState">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<param name="adviseState">
|
|
An application defined data object to associate with this advise loop.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<event cref="E:NDde.Client.DdeClient.Advise"/>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is already being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.EndStartAdvise(System.IAsyncResult)">
|
|
<summary>
|
|
This throws any exception that occurred during the operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginPoke</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not initiate the advise loop.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.StopAdvise(System.String,System.Int32)">
|
|
<summary>
|
|
This terminates the advise loop for the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name that has an active advise loop.
|
|
</param>
|
|
<param name="timeout">
|
|
The amount of time in milliseconds to wait for a response.
|
|
</param>
|
|
<remarks>
|
|
This operation will timeout if the conversation is paused.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters or timeout is negative.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is not being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not terminate the advise loop.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.BeginStopAdvise(System.String,System.AsyncCallback,System.Object)">
|
|
<summary>
|
|
This begins an asynchronous operation to terminate the advise loop for the specified item name.
|
|
</summary>
|
|
<param name="item">
|
|
An item name that has an active advise loop.
|
|
</param>
|
|
<param name="callback">
|
|
The delegate to invoke when this operation completes.
|
|
</param>
|
|
<param name="state">
|
|
An application defined data object to associate with this operation.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when item exceeds 255 characters.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the item is not being advised or when the client is not connected.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the asynchronous operation could not begin.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Client.DdeClient.EndStopAdvise(System.IAsyncResult)">
|
|
<summary>
|
|
This throws any exception that occurred during the operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginPoke</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when asyncResult is an invalid IAsyncResult.
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when asyncResult is a null reference.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the server does not terminate the advise loop.
|
|
</exception>
|
|
</member>
|
|
<member name="E:NDde.Client.DdeClient.Advise">
|
|
<summary>
|
|
This is raised when the data has changed for an item name that has an advise loop.
|
|
</summary>
|
|
</member>
|
|
<member name="E:NDde.Client.DdeClient.Disconnected">
|
|
<summary>
|
|
This is raised when the client has been disconnected.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.DdemlObject">
|
|
<summary>
|
|
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.Context">
|
|
<summary>
|
|
This gets the context associated with this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.Service">
|
|
<summary>
|
|
This gets the service name associated with this conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.Topic">
|
|
<summary>
|
|
This gets the topic name associated with this conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.Handle">
|
|
<summary>
|
|
This gets the DDEML handle associated with this conversation.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This can be used in any DDEML function requiring a conversation handle.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this object to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.IsPaused">
|
|
<summary>
|
|
This gets a bool indicating whether this conversation is paused.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeClient.IsConnected">
|
|
<summary>
|
|
This gets a bool indicating whether the conversation is established.
|
|
</summary>
|
|
<remarks>
|
|
<note type="caution">
|
|
Do not assume that the conversation is still established after checking this property. The conversation can terminate at any time.
|
|
</note>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.Client.DdeClient.AsyncResult">
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="T:NDde.Client.DdeClient.InvalidAsyncResult">
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeMonitorFlags">
|
|
<summary>
|
|
This specifies the different kinds of DDE activity that can be monitored.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMonitorFlags.Callback">
|
|
<summary>
|
|
This indicates activity caused by the execution of a DDEML callback.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMonitorFlags.Conversation">
|
|
<summary>
|
|
This indicates activity caused by conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMonitorFlags.Error">
|
|
<summary>
|
|
This indicates activity caused by an error.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMonitorFlags.Link">
|
|
<summary>
|
|
This indicates activity caused by an advise loop.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMonitorFlags.Message">
|
|
<summary>
|
|
This indicates activity caused by DDE messages.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeMonitor">
|
|
<summary>
|
|
This is used to monitor DDE activity.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.Monitor.DdeMonitor.#ctor">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeMonitor</c> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.Monitor.DdeMonitor.Dispose">
|
|
<summary>
|
|
This releases all resources held by this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.Monitor.DdeMonitor.Start(NDde.Advanced.Monitor.DdeMonitorFlags)">
|
|
<summary>
|
|
This starts monitoring the system for DDE activity.
|
|
</summary>
|
|
<param name="flags">
|
|
A bitwise combination of <c>DdeMonitorFlags</c> that indicate what DDE activity will be monitored.
|
|
</param>
|
|
</member>
|
|
<member name="E:NDde.Advanced.Monitor.DdeMonitor.CallbackActivity">
|
|
<summary>
|
|
This is raised anytime a DDEML callback is executed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:NDde.Advanced.Monitor.DdeMonitor.ConversationActivity">
|
|
<summary>
|
|
This is raised anytime a conversation is established or terminated.
|
|
</summary>
|
|
</member>
|
|
<member name="E:NDde.Advanced.Monitor.DdeMonitor.ErrorActivity">
|
|
<summary>
|
|
This is raised anytime there is an error.
|
|
</summary>
|
|
</member>
|
|
<member name="E:NDde.Advanced.Monitor.DdeMonitor.LinkActivity">
|
|
<summary>
|
|
This is raised anytime an advise loop is established or terminated.
|
|
</summary>
|
|
</member>
|
|
<member name="E:NDde.Advanced.Monitor.DdeMonitor.MessageActivity">
|
|
<summary>
|
|
This is raised anytime a DDE message is sent or posted.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeMonitor.Context">
|
|
<summary>
|
|
This gets the context associated with this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeTransaction">
|
|
<summary>
|
|
This contains the parameters of the DDEML callback function.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
<remarks>
|
|
<para>
|
|
The <c>dwRet</c> property contains the value returned by the DDEML callback function and is the only member that can be modified. See the
|
|
MSDN documentation for more information about the members of this class.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeTransaction.ToString">
|
|
<summary>
|
|
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.uType">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.uFmt">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.hConv">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.hsz1">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.hsz2">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.hData">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.dwData1">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.dwData2">
|
|
<summary>
|
|
See the MSDN documentation for information about this member.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeTransaction.dwRet">
|
|
<summary>
|
|
This gets the return value of the DDEML callback function. See the MSDN documentation for information about this member.
|
|
</summary>
|
|
<remarks>
|
|
This will be ignored if the PreFilterTransaction method returns false.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeRegistrationEventArgs">
|
|
<summary>
|
|
This contains information about the <c>Register</c> and <c>Unregister</c> events.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeRegistrationEventArgs.Service">
|
|
<summary>
|
|
This gets the service name associated with this event.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Foundation.Client.DdemlClient.ConversationManager">
|
|
<summary>
|
|
This class is needed to dispose of DDEML resources correctly since the DDEML is thread specific.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeMessageActivityKind">
|
|
<summary>
|
|
This represents the kind of message contained in <c>DdeMessageActivityEventArgs</c>.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMessageActivityKind.Post">
|
|
<summary>
|
|
The message was posted by a DDE application.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Advanced.Monitor.DdeMessageActivityKind.Send">
|
|
<summary>
|
|
The message was sent by a DDE application.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeMessageActivityEventArgs">
|
|
<summary>
|
|
This contains information about the <c>MessageActivity</c> event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeMessageActivityEventArgs.Kind">
|
|
<summary>
|
|
This gets the kind of message associated with this event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeMessageActivityEventArgs.Message">
|
|
<summary>
|
|
This gets the message associated with this event.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeMessageLoop">
|
|
<summary>
|
|
This is a synchronizing object that can run a message loop on any thread.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.#ctor">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeMessageLoop</c> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.Dispose">
|
|
<summary>
|
|
This releases all resources held by this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.System#ComponentModel#ISynchronizeInvoke#BeginInvoke(System.Delegate,System.Object[])">
|
|
<summary>
|
|
This begins an asynchronous operation to execute a delegate on the thread hosting this object.
|
|
</summary>
|
|
<param name="method">
|
|
The delegate to execute.
|
|
</param>
|
|
<param name="args">
|
|
The arguments to pass to the delegate.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.System#ComponentModel#ISynchronizeInvoke#EndInvoke(System.IAsyncResult)">
|
|
<summary>
|
|
This returns the object that the delegate returned in the operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginInvoke</c>.
|
|
</param>
|
|
<returns>
|
|
The object returned by the delegate.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.System#ComponentModel#ISynchronizeInvoke#Invoke(System.Delegate,System.Object[])">
|
|
<summary>
|
|
This executes a delegate on the thread hosting this object.
|
|
</summary>
|
|
<param name="method">
|
|
The delegate to execute.
|
|
</param>
|
|
<param name="args">
|
|
The arguments to pass to the delegate.
|
|
</param>
|
|
<returns>
|
|
The object returned by the delegate.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.Run">
|
|
<summary>
|
|
This starts a message loop on the current thread.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeMessageLoop.Run(System.Windows.Forms.Form)">
|
|
<summary>
|
|
This starts a message loop on the current thread and shows the specified form.
|
|
</summary>
|
|
<param name="form">
|
|
The Form to display.
|
|
</param>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeMessageLoop.System#ComponentModel#ISynchronizeInvoke#InvokeRequired">
|
|
<summary>
|
|
This gets a bool indicating whether the caller must use Invoke.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeMessageLoop.HiddenForm">
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="T:NDde.Server.DdeConversation">
|
|
<summary>
|
|
This represents a DDE conversation established on a <c>DdeServer</c>.
|
|
</summary>
|
|
<threadsafety static="true" instance="true" />
|
|
</member>
|
|
<member name="M:NDde.Server.DdeConversation.ToString">
|
|
<summary>
|
|
This returns a string containing the current values of all properties.
|
|
</summary>
|
|
<returns>
|
|
A string containing the current values of all properties.
|
|
</returns>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeConversation.Service">
|
|
<summary>
|
|
This gets the service name associated with this conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeConversation.Topic">
|
|
<summary>
|
|
This gets the topic name associated with this conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeConversation.Handle">
|
|
<summary>
|
|
This gets the DDEML handle associated with this conversation.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This can be used in any DDEML function requiring a conversation handle.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this object to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeConversation.IsPaused">
|
|
<summary>
|
|
This gets a bool indicating whether this conversation is paused.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeConversation.Tag">
|
|
<summary>
|
|
This gets an application defined data object associated with this conversation.
|
|
</summary>
|
|
<remarks>
|
|
Use this property to carry state information with the conversation.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.Advanced.IDdeTransactionFilter">
|
|
<summary>
|
|
This defines a transaction filter.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Use a transaction filter to intercept the DDEML callback function. The <c>PreFilterTransaction</c> method will be called every time the
|
|
DDEML callback function executes. The <c>Transaction</c> object passed into the method contains the parameters of the DDE callback
|
|
function. By using a transaction filter the developer has compelete control over the DDEML. See the MSDN documentation for more
|
|
information on using the DDEML.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.IDdeTransactionFilter.PreFilterTransaction(NDde.Advanced.DdeTransaction)">
|
|
<summary>
|
|
This filters a transaction before it is dispatched.
|
|
</summary>
|
|
<param name="t">
|
|
The transaction to be dispatched.
|
|
</param>
|
|
<returns>
|
|
True to filter the transaction and stop it from being dispatched, false otherwise.
|
|
</returns>
|
|
<remarks>
|
|
<para>
|
|
This method is called everytime the DDEML callback function executes.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeContext">
|
|
<summary>
|
|
This provides an execution context for <c>DdeClient</c> and <c>DdeServer</c>.
|
|
</summary>
|
|
<threadsafety static="true" instance="true"/>
|
|
<remarks>
|
|
<para>
|
|
This class provides a context for DDE activity. All <c>DdeClient</c> and <c>DdeServer</c> objects must be associated with an instance of
|
|
this class. If one is not specified in their constructors then a default instance of this class is used. This class must be initialized
|
|
before it can begin sending and receiving DDE messages. This happens automatically upon its first use by a <c>DdeClient</c> or
|
|
<c>DdeServer</c>. An application can call <c>Initialize</c> to make the initialization process occur immediately. This is useful when a
|
|
calling application expects this class to raise the <c>Register</c> and <c>Unregister</c> events or invoke the
|
|
<c>ITransactionFilter.PreFilterTransaction</c> method before being used by a <c>DdeClient</c> or <c>DdeServer</c>.
|
|
</para>
|
|
<para>
|
|
Since forms and controls implement <c>ISynchronizeInvoke</c> they can be used as the synchronizing object for this class. When an instance
|
|
of this class is created to use a form or control as the synchronizing object it will use the UI thread for execution. This is the
|
|
preferred way of creating an instance of this class when used in a windows application since it avoids multithreaded synchronization issues
|
|
and cross thread marshaling. When an instance of this class is created without specifying a synchronizing object it will create and manage
|
|
its own thread for execution. This is convenient if you wish to use this library in a console or service application, but with the added
|
|
cost of cross thread marshaling and the potential for deadlocking application threads.
|
|
</para>
|
|
<para>
|
|
Events are invoked on the thread hosting the <c>DdeContext</c>. All operations must be marshaled onto the thread hosting the
|
|
<c>DdeContext</c>. Method calls will block until that thread becomes available. An exception will be generated if the thread does not
|
|
become available in a timely manner.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
The following example demonstrates how to instantiate a DdeContext in a console application.
|
|
<code lang="C#">
|
|
using System;
|
|
using NDde.Advanced;
|
|
|
|
public class Example
|
|
{
|
|
public static void Main()
|
|
{
|
|
// Create a context that uses a dedicated thread for DDE message pumping.
|
|
DdeContext context = new DdeContext();
|
|
}
|
|
}
|
|
</code>
|
|
<code lang="Visual Basic">
|
|
Imports NDde.Advanced
|
|
|
|
Public Class Example
|
|
Public Shared Sub Main()
|
|
' Create a context that uses a dedicated thread for DDE message pumping.
|
|
Dim context As DdeContext = New DdeContext()
|
|
End Sub
|
|
End Class
|
|
</code>
|
|
The following example demonstrates how to instantiate a DdeContext in a windows application.
|
|
<code lang="C#">
|
|
using System;
|
|
using NDde.Advanced;
|
|
|
|
public class Example : Form
|
|
{
|
|
// Standard Form code omitted for brevity.
|
|
|
|
private DdeContext context = null;
|
|
|
|
private void Form1_Load(object sender, System.EventArgs e)
|
|
{
|
|
// Create a context that uses the UI thread for DDE message pumping.
|
|
context = new DdeContext(this);
|
|
}
|
|
}
|
|
</code>
|
|
<code lang="Visual Basic">
|
|
Imports NDde.Advanced
|
|
|
|
Public Class Example
|
|
Inherits Form
|
|
|
|
Private context as DdeContext = Nothing
|
|
|
|
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
' Create a context that uses the UI thread for DDE message pumping.
|
|
context = New DdeContext(Me)
|
|
End Sub
|
|
End Class
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.#ctor">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeContext</c> class that uses a dedicated thread for execution.
|
|
</summary>
|
|
<remarks>
|
|
This constructor is used when you want the context to create and manage its own thread for DDE message pumping.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.#ctor(System.ComponentModel.ISynchronizeInvoke)">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeContext</c> class that uses the specified synchronizing object for execution.
|
|
</summary>
|
|
<param name="synchronizingObject">
|
|
The synchronizing object to use for execution.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when synchronizer is a null reference.
|
|
</exception>
|
|
<remarks>
|
|
This constructor is used when you want the context to use the specified synchronizing object for DDE message pumping. Since forms and
|
|
controls implement <c>ISynchronizeInvoke</c> they can be used as the synchronizing object. In that case the windows application UI
|
|
thread that is hosting the form or control is used.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.Dispose">
|
|
<summary>
|
|
This releases all resources held by this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.Initialize">
|
|
<summary>
|
|
This initializes the context.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the context is already initialized.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the context could not be initialized.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
This class must be initialized before it can begin sending and receiving DDE messages. This happens automatically upon its first use by
|
|
a <c>DdeClient</c> or <c>DdeServer</c>. An application can call <c>Initialize</c> to make the initialization process occur immediately.
|
|
This is useful when a calling application expects this class to raise the <c>Register</c> and <c>Unregister</c> events or invoke the
|
|
<c>ITransactionFilter.PreFilterTransaction</c> method before being used by a <c>DdeClient</c> or <c>DdeServer</c>.
|
|
</para>
|
|
<para>
|
|
If you attempt to use a synchronizer that is not hosted on a thread running a windows message loop an exception will be thrown.
|
|
</para>
|
|
<para>
|
|
Explicitly calling this method will allow added <c>ITransactionFilter</c> objects to begin intercepting the DDEML callback function.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.AddTransactionFilter(NDde.Advanced.IDdeTransactionFilter)">
|
|
<summary>
|
|
This adds a transaction filter to monitor DDE transactions.
|
|
</summary>
|
|
<param name="filter">
|
|
The implementation of <c>ITransactionFilter</c> that you want to add.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when filter is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the filter was already added.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Transaction filters can be used to intercept the DDEML callback.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.RemoveTransactionFilter(NDde.Advanced.IDdeTransactionFilter)">
|
|
<summary>
|
|
This removes a transaction filter and stops it from monitoring DDE transactions.
|
|
</summary>
|
|
<param name="filter">
|
|
The implementation of <c>ITransactionFilter</c> that you want to remove.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when filter is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the filter was not previously added.
|
|
</exception>
|
|
<remarks>
|
|
<para>
|
|
Transaction filters can be used to intercept the DDEML callback.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.Invoke(System.Threading.ThreadStart)">
|
|
<summary>
|
|
This executes a ThreadStart delegate on the thread hosting this object.
|
|
</summary>
|
|
<param name="method">
|
|
The delegate to execute.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.Invoke(System.Delegate,System.Object[])">
|
|
<summary>
|
|
This executes a delegate on the thread hosting this object.
|
|
</summary>
|
|
<param name="method">
|
|
The delegate to execute.
|
|
</param>
|
|
<param name="args">
|
|
The arguments to pass to the delegate.
|
|
</param>
|
|
<returns>
|
|
The object returned by the delegate.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.BeginInvoke(System.Delegate,System.Object[])">
|
|
<summary>
|
|
This begins an asynchronous operation to execute a delegate on the thread hosting this object.
|
|
</summary>
|
|
<param name="method">
|
|
The delegate to execute.
|
|
</param>
|
|
<param name="args">
|
|
The arguments to pass to the delegate.
|
|
</param>
|
|
<returns>
|
|
An <c>IAsyncResult</c> object for this operation.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Advanced.DdeContext.EndInvoke(System.IAsyncResult)">
|
|
<summary>
|
|
This returns the object that the delegate returned in the operation.
|
|
</summary>
|
|
<param name="asyncResult">
|
|
The <c>IAsyncResult</c> object returned by a call to <c>BeginInvoke</c>.
|
|
</param>
|
|
<returns>
|
|
The object returned by the delegate.
|
|
</returns>
|
|
</member>
|
|
<member name="E:NDde.Advanced.DdeContext.Register">
|
|
<summary>
|
|
This is raised when a service name has been registered by a server using the DDEML.
|
|
</summary>
|
|
<remarks>
|
|
This event will not be raised by servers that do not use the DDEML.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:NDde.Advanced.DdeContext.Unregister">
|
|
<summary>
|
|
This is raised when a service name has been unregistered by a server using the DDEML.
|
|
</summary>
|
|
<remarks>
|
|
This event will not be raised by servers that do not use the DDEML.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeContext.DdemlObject">
|
|
<summary>
|
|
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeContext.InstanceId">
|
|
<summary>
|
|
This gets the DDEML instance identifier.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This can be used in any DDEML function requiring an instance identifier.
|
|
</para>
|
|
<para>
|
|
<note type="caution">
|
|
Incorrect usage of the DDEML can cause this library to function incorrectly and can lead to resource leaks.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeContext.IsInitialized">
|
|
<summary>
|
|
This gets a bool indicating whether the context is initialized.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeContext.Encoding">
|
|
<summary>
|
|
This gets or sets the default encoding that is used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.DdeContext.InvokeRequired">
|
|
<summary>
|
|
This gets a bool indicating whether the caller must use Invoke.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeContext.DdemlTransactionFilter">
|
|
<threadsafety static="true" instance="true" />
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeContext.DdeThread">
|
|
<threadsafety static="true" instance="true" />
|
|
</member>
|
|
<member name="T:NDde.Advanced.DdeContext.DdeThread.HiddenForm">
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeErrorActivityEventArgs">
|
|
<summary>
|
|
This contains information about the <c>ErrorActivity</c> event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeErrorActivityEventArgs.Code">
|
|
<summary>
|
|
This gets an error code returned by the DDEML.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeConversationActivityEventArgs">
|
|
<summary>
|
|
This contains information about the <c>ConversationActivity</c> event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeConversationActivityEventArgs.Service">
|
|
<summary>
|
|
This gets the service name associated with the conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeConversationActivityEventArgs.Topic">
|
|
<summary>
|
|
This gets the topic name associated with the conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeConversationActivityEventArgs.IsEstablished">
|
|
<summary>
|
|
This gets a bool indicating whether the conversation is being established.
|
|
</summary>
|
|
<remarks>
|
|
The value returned by this property will be true if the conversation is being established. If the conversation
|
|
is being terminated then the value will be false.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeConversationActivityEventArgs.ClientHandle">
|
|
<summary>
|
|
This gets the handle to the client application associated with the conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeConversationActivityEventArgs.ServerHandle">
|
|
<summary>
|
|
This gets the handle to the server application associated with the conversation.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Properties.Resources">
|
|
<summary>
|
|
A strongly-typed resource class, for looking up localized strings, etc.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ResourceManager">
|
|
<summary>
|
|
Returns the cached ResourceManager instance used by this class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.Culture">
|
|
<summary>
|
|
Overrides the current thread's CurrentUICulture property for all
|
|
resource lookups using this strongly typed resource class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AdviseFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to advise "${service}|${topic}!${item}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AlreadyBeingAdvisedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to An advise loop for "${service}|${topic}!${item}" already exists..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AlreadyConnectedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client is already connected..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AlreadyInitializedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The context is already intialized..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AlreadyPausedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The specified conversation is already paused..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AlreadyRegisteredMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The service is already registered..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.AsyncResultParameterInvalidMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The IAsyncResult must have been returned by a call to ${method}..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ClientPauseFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to pause the conversation..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ClientResumeFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to resume the conversation..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ConnectFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to connect to "${service}|${topic}". Make sure the server application is running and that it supports the specified service name and topic name pair..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ExecuteFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to execute "${command}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.FilterAlreadyAddedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The transaction filter has already been added..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.FilterNotAddedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The transaction filter has not been added..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.InitializeFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The context failed to initialize..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.MarshalTimeoutMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The context timed out attempting to marshal the operation..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NoMessageLoopMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The context is not hosted on a thread with a message loop..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NotBeingAdvisedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to An advise loop for "${service}|${topic}!${item}" does not exist..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NotConnectedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client is not connected..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NotInitializedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The context is not initialized..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NotPausedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The specified conversation is not paused..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.NotRegisteredMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The service is not registered..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.PokeFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to poke "${service}|${topic}!${item}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.RegisterFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to register "${service}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.RequestFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to request "${service}|${topic}!${item}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ServerPauseAllFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to pause all conversations..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ServerPauseFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to pause the specified conversation..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ServerResumeAllFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to resume all conversations..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.ServerResumeFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The server failed to resume the specified conversation..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.StartAdviseFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to initiate an advise loop for "${service}|${topic}!${item}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.StopAdviseFailedMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The client failed to terminate the advise loop for "${service}|${topic}!${item}"..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.StringParameterInvalidMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The parameter must be <= 255 characters..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.TimeoutParameterInvalidMessage">
|
|
<summary>
|
|
Looks up a localized string similar to The parameter must be > 0..
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Properties.Resources.UnknownErrorMessage">
|
|
<summary>
|
|
Looks up a localized string similar to An unknown error occurred..
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.DdeException">
|
|
<summary>
|
|
This is thrown when a DDE exception occurs.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="M:NDde.DdeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
</summary>
|
|
<param name="info"></param>
|
|
<param name="context"></param>
|
|
</member>
|
|
<member name="M:NDde.DdeException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
|
|
<summary>
|
|
</summary>
|
|
<param name="info"></param>
|
|
<param name="context"></param>
|
|
</member>
|
|
<member name="P:NDde.DdeException.Code">
|
|
<summary>
|
|
This gets an error code returned by the DDEML.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
The value is zero if the exception was not thrown because of the DDEML.
|
|
</para>
|
|
<para>
|
|
<list type="bullet">
|
|
<item><term>0x0000</term><description>DMLERR_NO_DMLERROR</description></item>
|
|
<item><term>0x4000</term><description>DMLERR_ADVACKTIMEOUT</description></item>
|
|
<item><term>0x4001</term><description>DMLERR_BUSY</description></item>
|
|
<item><term>0x4002</term><description>DMLERR_DATAACKTIMEOUT</description></item>
|
|
<item><term>0x4003</term><description>DMLERR_DLL_NOT_INITIALIZED</description></item>
|
|
<item><term>0x4004</term><description>DMLERR_DLL_USAGE</description></item>
|
|
<item><term>0x4005</term><description>DMLERR_EXECACKTIMEOUT</description></item>
|
|
<item><term>0x4006</term><description>DMLERR_INVALIDPARAMETER</description></item>
|
|
<item><term>0x4007</term><description>DMLERR_LOW_MEMORY</description></item>
|
|
<item><term>0x4008</term><description>DMLERR_MEMORY_DMLERROR</description></item>
|
|
<item><term>0x4009</term><description>DMLERR_NOTPROCESSED</description></item>
|
|
<item><term>0x400A</term><description>DMLERR_NO_CONV_ESTABLISHED</description></item>
|
|
<item><term>0x400B</term><description>DMLERR_POKEACKTIMEOUT</description></item>
|
|
<item><term>0x400C</term><description>DMLERR_POSTMSG_FAILED</description></item>
|
|
<item><term>0x400D</term><description>DMLERR_REENTRANCY</description></item>
|
|
<item><term>0x400E</term><description>DMLERR_SERVER_DIED</description></item>
|
|
<item><term>0x400F</term><description>DMLERR_SYS_DMLERROR</description></item>
|
|
<item><term>0x4010</term><description>DMLERR_UNADVACKTIMEOUT</description></item>
|
|
<item><term>0x4011</term><description>DMLERR_UNFOUND_QUEUE_ID</description></item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:NDde.Advanced.Monitor.DdeLinkActivityEventArgs">
|
|
<summary>
|
|
This contains information about the <c>LinkActivity</c> event.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.Service">
|
|
<summary>
|
|
This gets the service name associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.Topic">
|
|
<summary>
|
|
This gets the topic name associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.Item">
|
|
<summary>
|
|
This gets the item name associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.Format">
|
|
<summary>
|
|
This gets the format of the data associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.IsHot">
|
|
<summary>
|
|
This gets a bool indicating whether the link is hot.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.IsEstablished">
|
|
<summary>
|
|
This gets a bool indicating whether the link is being established.
|
|
</summary>
|
|
<remarks>
|
|
The value returned by this property will be true if the conversation is being established. If the conversation
|
|
is being terminated then the value will be false.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.IsServerInitiated">
|
|
<summary>
|
|
This gets a bool indicating whether the link was terminated by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.ClientHandle">
|
|
<summary>
|
|
This gets the handle to the client application associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Advanced.Monitor.DdeLinkActivityEventArgs.ServerHandle">
|
|
<summary>
|
|
This gets the handle to the server application associated with the link.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Server.DdeServer">
|
|
<summary>
|
|
This represents the server side of DDE conversations.
|
|
</summary>
|
|
<threadsafety static="true" instance="true"/>
|
|
<remarks>
|
|
<para>
|
|
DDE conversations are established by specifying a service name and topic name pair. The service name is usually the name of the application
|
|
acting as a DDE server. A DDE server can respond to multiple service names, but most servers usually only respond to one. The topic name
|
|
is a logical context for data and is defined by the server application. A server can and usually does support many topic names.
|
|
</para>
|
|
<para>
|
|
After this object has registered its service name by calling the <c>Register</c> method clients can connect to it by specifying the service
|
|
name the server registered and a topic name that it supports.
|
|
</para>
|
|
<para>
|
|
Event methods are invoked on the thread hosting the <c>DdeContext</c>. All operations must be marshaled onto the thread hosting the
|
|
<c>DdeContext</c> associated with this object. Method calls will block until that thread becomes available. An exception will be generated
|
|
if the thread does not become available in a timely manner.
|
|
</para>
|
|
<para>
|
|
<note type="inheritinfo">
|
|
The event methods must be overridden in a subclass as needed.
|
|
</note>
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
The following example demostrates how to use a DdeServer.
|
|
<code lang="C#">
|
|
using System;
|
|
using System.Collections;
|
|
using System.Timers;
|
|
using NDde.Server;
|
|
|
|
public class Server
|
|
{
|
|
public static void Main()
|
|
{
|
|
try
|
|
{
|
|
// Create a server that will register the service name 'myapp'.
|
|
using (DdeServer server = new MyServer("myapp"))
|
|
{
|
|
// Register the service name.
|
|
server.Register();
|
|
|
|
// Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("Press ENTER to quit...");
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Console.WriteLine(e);
|
|
Console.WriteLine("Press ENTER to quit...");
|
|
Console.ReadLine();
|
|
}
|
|
}
|
|
|
|
private sealed class MyServer : DdeServer
|
|
{
|
|
private System.Timers.Timer _Timer = new System.Timers.Timer();
|
|
|
|
public MyServer(string service) : base(service)
|
|
{
|
|
// Create a timer that will be used to advise clients of new data.
|
|
_Timer.Elapsed += this.OnTimerElapsed;
|
|
_Timer.Interval = 1000;
|
|
_Timer.SynchronizingObject = this.Context;
|
|
_Timer.Start();
|
|
}
|
|
|
|
private void OnTimerElapsed(object sender, ElapsedEventArgs args)
|
|
{
|
|
// Advise all topic name and item name pairs.
|
|
Advise("*", "*");
|
|
}
|
|
|
|
protected override bool OnBeforeConnect(string topic)
|
|
{
|
|
Console.WriteLine("OnBeforeConnect:".PadRight(16)
|
|
+ " Service='" + base.Service + "'"
|
|
+ " Topic='" + topic + "'");
|
|
|
|
return true;
|
|
}
|
|
|
|
protected override void OnAfterConnect(DdeConversation conversation)
|
|
{
|
|
Console.WriteLine("OnAfterConnect:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString());
|
|
}
|
|
|
|
protected override void OnDisconnect(DdeConversation conversation)
|
|
{
|
|
Console.WriteLine("OnDisconnect:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString());
|
|
}
|
|
|
|
protected override bool OnStartAdvise(DdeConversation conversation, string item, int format)
|
|
{
|
|
Console.WriteLine("OnStartAdvise:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString()
|
|
+ " Item='" + item + "'"
|
|
+ " Format=" + format.ToString());
|
|
|
|
// Initiate the advisory loop only if the format is CF_TEXT.
|
|
return format == 1;
|
|
}
|
|
|
|
protected override void OnStopAdvise(DdeConversation conversation, string item)
|
|
{
|
|
Console.WriteLine("OnStopAdvise:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString()
|
|
+ " Item='" + item + "'");
|
|
}
|
|
|
|
protected override ExecuteResult OnExecute(DdeConversation conversation, string command)
|
|
{
|
|
Console.WriteLine("OnExecute:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString()
|
|
+ " Command='" + command + "'");
|
|
|
|
// Tell the client that the command was processed.
|
|
return ExecuteResult.Processed;
|
|
}
|
|
|
|
protected override PokeResult OnPoke(DdeConversation conversation, string item, byte[] data, int format)
|
|
{
|
|
Console.WriteLine("OnPoke:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString()
|
|
+ " Item='" + item + "'"
|
|
+ " Data=" + data.Length.ToString()
|
|
+ " Format=" + format.ToString());
|
|
|
|
// Tell the client that the data was processed.
|
|
return PokeResult.Processed;
|
|
}
|
|
|
|
protected override RequestResult OnRequest(DdeConversation conversation, string item, int format)
|
|
{
|
|
Console.WriteLine("OnRequest:".PadRight(16)
|
|
+ " Service='" + conversation.Service + "'"
|
|
+ " Topic='" + conversation.Topic + "'"
|
|
+ " Handle=" + conversation.Handle.ToString()
|
|
+ " Item='" + item + "'"
|
|
+ " Format=" + format.ToString());
|
|
|
|
// Return data to the client only if the format is CF_TEXT.
|
|
if (format == 1)
|
|
{
|
|
return new RequestResult(System.Text.Encoding.ASCII.GetBytes("Time=" + DateTime.Now.ToString() + "\0"));
|
|
}
|
|
return RequestResult.NotProcessed;
|
|
}
|
|
|
|
protected override byte[] OnAdvise(string topic, string item, int format)
|
|
{
|
|
Console.WriteLine("OnAdvise:".PadRight(16)
|
|
+ " Service='" + this.Service + "'"
|
|
+ " Topic='" + topic + "'"
|
|
+ " Item='" + item + "'"
|
|
+ " Format=" + format.ToString());
|
|
|
|
// Send data to the client only if the format is CF_TEXT.
|
|
if (format == 1)
|
|
{
|
|
return System.Text.Encoding.ASCII.GetBytes("Time=" + DateTime.Now.ToString() + "\0");
|
|
}
|
|
return null;
|
|
}
|
|
|
|
} // class
|
|
|
|
} // class
|
|
</code>
|
|
<code lang="Visual Basic">
|
|
Imports NDde.Server
|
|
|
|
Module Program
|
|
|
|
Sub Main()
|
|
|
|
Try
|
|
|
|
' Create a server that will register the service name 'myapp'.
|
|
Using server As DdeServer = New MyServer("myapp")
|
|
|
|
' Register the service name.
|
|
server.Register()
|
|
|
|
' Wait for the user to press ENTER before proceding.
|
|
Console.WriteLine("Press ENTER to quit...")
|
|
Console.ReadLine()
|
|
|
|
End Using
|
|
|
|
Catch e As Exception
|
|
|
|
Console.WriteLine(e)
|
|
Console.WriteLine("Press ENTER to quit...")
|
|
Console.ReadLine()
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Class MyServer
|
|
Inherits DdeServer
|
|
|
|
Private WithEvents theTimer As System.Timers.Timer = New System.Timers.Timer()
|
|
|
|
Public Sub New(ByVal service As String)
|
|
MyBase.New(service)
|
|
' Create a timer that will be used to advise clients of new data.
|
|
theTimer.Interval = 1000
|
|
theTimer.SynchronizingObject = Me.Context
|
|
theTimer.Start()
|
|
End Sub
|
|
|
|
Private Sub theTimer_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles theTimer.Elapsed
|
|
Me.Advise("*", "*")
|
|
End Sub
|
|
|
|
Protected Overrides Function OnBeforeConnect(ByVal topic As String) As Boolean
|
|
Console.WriteLine("OnBeforeConnect:".PadRight(16) _
|
|
+ " Service='" + MyBase.Service + "'" _
|
|
+ " Topic='" + topic + "'")
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Sub OnAfterConnect(ByVal conversation As DdeConversation)
|
|
Console.WriteLine("OnAfterConnect:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString())
|
|
End Sub
|
|
|
|
Protected Overrides Sub OnDisconnect(ByVal conversation As DdeConversation)
|
|
Console.WriteLine("OnDisconnect:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString())
|
|
End Sub
|
|
|
|
Protected Overrides Function OnStartAdvise(ByVal conversation As DdeConversation, ByVal item As String, ByVal format As Integer) As Boolean
|
|
Console.WriteLine("OnStartAdvise:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString() _
|
|
+ " Item='" + item + "'" _
|
|
+ " Format=" + format.ToString())
|
|
|
|
' Initiate the advisory loop only if the format is CF_TEXT.
|
|
Return format = 1
|
|
End Function
|
|
|
|
Protected Overrides Sub OnStopAdvise(ByVal conversation As DdeConversation, ByVal item As String)
|
|
Console.WriteLine("OnStopAdvise:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString() _
|
|
+ " Item='" + item + "'")
|
|
End Sub
|
|
|
|
Protected Overrides Function OnExecute(ByVal conversation As DdeConversation, ByVal command As String) As ExecuteResult
|
|
Console.WriteLine("OnExecute:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString() _
|
|
+ " Command='" + command + "'")
|
|
|
|
' Tell the client that the command was processed.
|
|
Return ExecuteResult.Processed
|
|
End Function
|
|
|
|
Protected Overrides Function OnPoke(ByVal conversation As DdeConversation, ByVal item As String, ByVal data As Byte(), ByVal format As Integer) As PokeResult
|
|
Console.WriteLine("OnPoke:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString() _
|
|
+ " Item='" + item + "'" _
|
|
+ " Data=" + data.Length.ToString() _
|
|
+ " Format=" + format.ToString())
|
|
|
|
' Tell the client that the data was processed.
|
|
Return PokeResult.Processed
|
|
End Function
|
|
|
|
Protected Overrides Function OnRequest(ByVal conversation As DdeConversation, ByVal item As String, ByVal format As Integer) As RequestResult
|
|
Console.WriteLine("OnRequest:".PadRight(16) _
|
|
+ " Service='" + conversation.Service + "'" _
|
|
+ " Topic='" + conversation.Topic + "'" _
|
|
+ " Handle=" + conversation.Handle.ToString() _
|
|
+ " Item='" + item + "'" _
|
|
+ " Format=" + format.ToString())
|
|
|
|
' Return data to the client only if the format is CF_TEXT.
|
|
If format = 1 Then
|
|
Return New RequestResult(System.Text.Encoding.ASCII.GetBytes("Time=" + DateTime.Now.ToString() + Convert.ToChar(0)))
|
|
End If
|
|
Return RequestResult.NotProcessed
|
|
End Function
|
|
|
|
Protected Overrides Function OnAdvise(ByVal topic As String, ByVal item As String, ByVal format As Integer) As Byte()
|
|
Console.WriteLine("OnAdvise:".PadRight(16) _
|
|
+ " Service='" + Me.Service + "'" _
|
|
+ " Topic='" + topic + "'" _
|
|
+ " Item='" + item + "'" _
|
|
+ " Format=" + format.ToString())
|
|
|
|
' Send data to the client only if the format is CF_TEXT.
|
|
If format = 1 Then
|
|
Return System.Text.Encoding.ASCII.GetBytes("Time=" + DateTime.Now.ToString() + Convert.ToChar(0))
|
|
End If
|
|
Return Nothing
|
|
End Function
|
|
|
|
End Class
|
|
|
|
End Module
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.#ctor(System.String)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeServer</c> class that can register the specified service name.
|
|
</summary>
|
|
<param name="service">
|
|
The service name that this instance can register.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when service exceeds 255 characters..
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.#ctor(System.String,System.ComponentModel.ISynchronizeInvoke)">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeServer</c> class that can register the specified service name and using the specified
|
|
synchronizing object.
|
|
</summary>
|
|
<param name="service">
|
|
The service name that this instance can register.
|
|
</param>
|
|
<param name="synchronizingObject">
|
|
The synchronizing object to use for this instance.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when service exceeds 255 characters..
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.#ctor(System.String,NDde.Advanced.DdeContext)">
|
|
<summary>
|
|
This initializes a new instance of the <c>DdeServer</c> class that can register the specified service name and uses the specified
|
|
context.
|
|
</summary>
|
|
<param name="service">
|
|
The service name that this instance can register.
|
|
</param>
|
|
<param name="context">
|
|
The context to use for execution.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when service exceeds 255 characters..
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when service is a null reference.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Dispose">
|
|
<summary>
|
|
This unregisters service name and releases all resources held by this instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Dispose(System.Boolean)">
|
|
<summary>
|
|
This contains the implementation to release all resources held by this instance.
|
|
</summary>
|
|
<param name="disposing">
|
|
True if called by Dispose, false otherwise.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Register">
|
|
<summary>
|
|
This registers the service name.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is already registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the service name could not be registered.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Unregister">
|
|
<summary>
|
|
This unregisters the service name.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Advise(System.String,System.String)">
|
|
<summary>
|
|
This notifies all clients that data has changed for the specified topic name and item name pair.
|
|
</summary>
|
|
<param name="topic">
|
|
A topic name supported by this server.
|
|
</param>
|
|
<param name="item">
|
|
An item name supported by this server.
|
|
</param>
|
|
<exception cref="T:System.ArgumentException">
|
|
This is thown when topic or item exceeds 255 characters..
|
|
</exception>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when topic or item is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the notification could not be posted.
|
|
</exception>
|
|
<remarks>
|
|
Use an asterix to indicate that the topic name, item name, or both should be wild.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Pause(NDde.Server.DdeConversation)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
<remarks>
|
|
Pausing a conversation causes this server to queue events until the conversation resumes.
|
|
</remarks>
|
|
</overloads>
|
|
<summary>
|
|
This pauses the specified conversation.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation to pause.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when conversation is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the conversation is already paused or when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversation could not be paused.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Pause">
|
|
<summary>
|
|
This pauses all conversations.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversations could not be paused.
|
|
</exception>
|
|
<remarks>
|
|
Pausing a conversation causes this object to queue events until the conversation resumes.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Resume(NDde.Server.DdeConversation)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This resumes the specified conversation.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation to resume.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when conversation is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the conversation is not paused or when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversation could not be resumed.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Resume">
|
|
<summary>
|
|
This resumes all conversations.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversations could not be resumed.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Disconnect(NDde.Server.DdeConversation)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This terminates the specified conversation.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation to terminate.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
This is thrown when conversation is a null reference.
|
|
</exception>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversation could not be terminated.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.Disconnect">
|
|
<summary>
|
|
This terminates all conversations.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">
|
|
This is thrown when the server is not registered.
|
|
</exception>
|
|
<exception cref="T:NDde.DdeException">
|
|
This is thrown when the conversations could not be terminated.
|
|
</exception>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnStartAdvise(NDde.Server.DdeConversation,System.String,System.Int32)">
|
|
<summary>
|
|
This is invoked when a client attempts to initiate an advise loop.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
<param name="item">
|
|
The item name associated with this event.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<returns>
|
|
True to allow the advise loop, false otherwise.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation accepts all advise loops.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnStopAdvise(NDde.Server.DdeConversation,System.String)">
|
|
<summary>
|
|
This is invoked when a client terminates an advise loop.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
<param name="item">
|
|
The item name associated with this event.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnBeforeConnect(System.String)">
|
|
<summary>
|
|
This is invoked when a client attempts to establish a conversation.
|
|
</summary>
|
|
<param name="topic">
|
|
The topic name associated with this event.
|
|
</param>
|
|
<returns>
|
|
True to allow the connection, false otherwise.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation accepts all connections.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnAfterConnect(NDde.Server.DdeConversation)">
|
|
<summary>
|
|
This is invoked when a client has successfully established a conversation.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnDisconnect(NDde.Server.DdeConversation)">
|
|
<summary>
|
|
This is invoked when a client terminates a conversation.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnExecute(NDde.Server.DdeConversation,System.String)">
|
|
<summary>
|
|
This is invoked when a client sends a command.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
<param name="command">
|
|
The command to be executed.
|
|
</param>
|
|
<returns>
|
|
An <c>ExecuteResult</c> indicating the result.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation returns <c>ExecuteResult.NotProcessed</c> to the client.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnPoke(NDde.Server.DdeConversation,System.String,System.Byte[],System.Int32)">
|
|
<summary>
|
|
This is invoked when a client sends data.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
<param name="item">
|
|
The item name associated with this event.
|
|
</param>
|
|
<param name="data">
|
|
The data associated with this event.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<returns>
|
|
A <c>PokeResult</c> indicating the result.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation returns <c>PokeResult.NotProcessed</c> to the client.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnRequest(NDde.Server.DdeConversation,System.String,System.Int32)">
|
|
<overloads>
|
|
<summary>
|
|
</summary>
|
|
</overloads>
|
|
<summary>
|
|
This is invoked when a client attempts to request data.
|
|
</summary>
|
|
<param name="conversation">
|
|
The conversation associated with this event.
|
|
</param>
|
|
<param name="item">
|
|
The item name associated with this event.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<returns>
|
|
A <c>RequestResult</c> indicating the result.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation returns <c>RequestResult.NotProcessed</c> to the client.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.OnAdvise(System.String,System.String,System.Int32)">
|
|
<summary>
|
|
This is invoked when the server is performing a hot advise.
|
|
</summary>
|
|
<param name="topic">
|
|
The topic name associated with this event.
|
|
</param>
|
|
<param name="item">
|
|
The item name associated with this event.
|
|
</param>
|
|
<param name="format">
|
|
The format of the data.
|
|
</param>
|
|
<returns>
|
|
The data that will be sent to the clients.
|
|
</returns>
|
|
<remarks>
|
|
The default implementation sends nothing to the clients.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeServer.DdemlObject">
|
|
<summary>
|
|
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeServer.Context">
|
|
<summary>
|
|
This gets the context associated with his instance.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeServer.Service">
|
|
<summary>
|
|
This gets the service name associated with this server.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeServer.IsRegistered">
|
|
<summary>
|
|
This gets a bool indicating whether the service name is registered.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Server.DdeServer.ExecuteResult">
|
|
<summary>
|
|
This is the return value of the <c>OnExecute</c> method.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.ExecuteResult.Processed">
|
|
<summary>
|
|
Return this value if the command was executed successfully.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.ExecuteResult.NotProcessed">
|
|
<summary>
|
|
Return this value if the command was not executed successfully.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.ExecuteResult.TooBusy">
|
|
<summary>
|
|
Return this value if the server is too busy.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.ExecuteResult.PauseConversation">
|
|
<summary>
|
|
Return this value to pause the conversation and execute the command asynchronously. After the conversation has been resumed the
|
|
<c>OnExecute</c> method will run again.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.ExecuteResult.Equals(System.Object)">
|
|
<summary>
|
|
This determines whether two object instances are equal.
|
|
</summary>
|
|
<param name="o">
|
|
The object to compare with the current object.
|
|
</param>
|
|
<returns>
|
|
True if the specified object is equal to the current object, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.ExecuteResult.GetHashCode">
|
|
<summary>
|
|
This returns a hash code for the object.
|
|
</summary>
|
|
<returns>
|
|
A hash code for the object.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.ExecuteResult.op_Equality(NDde.Server.DdeServer.ExecuteResult,NDde.Server.DdeServer.ExecuteResult)">
|
|
<summary>
|
|
This determines whether two <c>ExecuteResult</c> objects are equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.ExecuteResult.op_Inequality(NDde.Server.DdeServer.ExecuteResult,NDde.Server.DdeServer.ExecuteResult)">
|
|
<summary>
|
|
This determines whether two <c>ExecuteResult</c> objects are not equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are not equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="T:NDde.Server.DdeServer.PokeResult">
|
|
<summary>
|
|
This is the return value of the <c>OnPoke</c> method.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.PokeResult.Processed">
|
|
<summary>
|
|
Return this value if the poke was successful.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.PokeResult.NotProcessed">
|
|
<summary>
|
|
Return this value if the poke was not successful.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.PokeResult.TooBusy">
|
|
<summary>
|
|
Return this value if the server is too busy.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.PokeResult.PauseConversation">
|
|
<summary>
|
|
Return this value to pause the conversation and execute the poke asynchronously. After the conversation has been resumed the
|
|
<c>OnPoke</c> method will run again.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.PokeResult.Equals(System.Object)">
|
|
<summary>
|
|
This determines whether two object instances are equal.
|
|
</summary>
|
|
<param name="o">
|
|
The object to compare with the current object.
|
|
</param>
|
|
<returns>
|
|
True if the specified object is equal to the current object, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.PokeResult.GetHashCode">
|
|
<summary>
|
|
This returns a hash code for the object.
|
|
</summary>
|
|
<returns>
|
|
A hash code for the object.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.PokeResult.op_Equality(NDde.Server.DdeServer.PokeResult,NDde.Server.DdeServer.PokeResult)">
|
|
<summary>
|
|
This determines whether two <c>PokeResult</c> objects are equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.PokeResult.op_Inequality(NDde.Server.DdeServer.PokeResult,NDde.Server.DdeServer.PokeResult)">
|
|
<summary>
|
|
This determines whether two <c>ExecuteResult</c> objects are not equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are not equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="T:NDde.Server.DdeServer.RequestResult">
|
|
<summary>
|
|
This is the return value of the <c>OnRequest</c> method.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.RequestResult.NotProcessed">
|
|
<summary>
|
|
Return this value if the request was not successful.
|
|
</summary>
|
|
</member>
|
|
<member name="F:NDde.Server.DdeServer.RequestResult.PauseConversation">
|
|
<summary>
|
|
Return this value to pause the conversation and execute the request asynchronously. After the conversation has been resumed the
|
|
<c>OnRequest</c> method will run again.
|
|
</summary>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.RequestResult.#ctor(System.Byte[])">
|
|
<summary>
|
|
This initializes the <c>RequestResult</c> struct with the data to return to the client.
|
|
</summary>
|
|
<param name="data">
|
|
The data to return to the client.
|
|
</param>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.RequestResult.Equals(System.Object)">
|
|
<summary>
|
|
This determines whether two object instances are equal.
|
|
</summary>
|
|
<param name="o">
|
|
The object to compare with the current object.
|
|
</param>
|
|
<returns>
|
|
True if the specified object is equal to the current object, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.RequestResult.GetHashCode">
|
|
<summary>
|
|
This returns a hash code for the object.
|
|
</summary>
|
|
<returns>
|
|
A hash code for the object.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.RequestResult.op_Equality(NDde.Server.DdeServer.RequestResult,NDde.Server.DdeServer.RequestResult)">
|
|
<summary>
|
|
This determines whether two <c>RequestResult</c> objects are equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="M:NDde.Server.DdeServer.RequestResult.op_Inequality(NDde.Server.DdeServer.RequestResult,NDde.Server.DdeServer.RequestResult)">
|
|
<summary>
|
|
This determines whether two <c>ExecuteResult</c> objects are not equal.
|
|
</summary>
|
|
<param name="lhs">
|
|
The left hand side object.
|
|
</param>
|
|
<param name="rhs"></param>
|
|
The right hand side object.
|
|
<returns>
|
|
True if the two objects are not equal, false otherwise.
|
|
</returns>
|
|
</member>
|
|
<member name="P:NDde.Server.DdeServer.RequestResult.Data">
|
|
<summary>
|
|
The data to send to the client application.
|
|
</summary>
|
|
</member>
|
|
<member name="T:NDde.Client.DdeAdviseEventArgs">
|
|
<summary>
|
|
This contains information about the <c>Advise</c> event.
|
|
</summary>
|
|
<threadsafety static="true" instance="false" />
|
|
</member>
|
|
<member name="P:NDde.Client.DdeAdviseEventArgs.Item">
|
|
<summary>
|
|
This gets the item name associated with this notification.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeAdviseEventArgs.Format">
|
|
<summary>
|
|
This gets the format of the data included in this notification.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeAdviseEventArgs.State">
|
|
<summary>
|
|
This gets an application defined data object associated with this advise loop.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeAdviseEventArgs.Data">
|
|
<summary>
|
|
This gets the data associated with this notification or null if this is not a hot advise loop.
|
|
</summary>
|
|
</member>
|
|
<member name="P:NDde.Client.DdeAdviseEventArgs.Text">
|
|
<summary>
|
|
This gets the text associated with this notification or null if this is not a hot advise loop.
|
|
</summary>
|
|
</member>
|
|
</members>
|
|
</doc>
|