public virtual void Resume() { if (IsDisposed) { throw new ObjectDisposedException(this.GetType().ToString()); } if (!IsRegistered) { throw new InvalidOperationException(Resources.NotRegisteredMessage); } // Enable the DDEML callback for all conversations. bool result = Ddeml.DdeEnableCallback(_InstanceId, IntPtr.Zero, Ddeml.EC_ENABLEALL); // Check the result to see if the DDEML callback was enabled. if (!result) { int error = Ddeml.DdeGetLastError(_InstanceId); throw new DdemlException(Resources.ServerResumeAllFailedMessage, error); } // Decrement each conversation's waiting count. The conversation will only resume if the count is zero. foreach (DdemlConversation conversation in _ConversationTable.Values) { conversation.DecrementWaiting(); } }
public virtual void Pause() { if (IsDisposed) { throw new ObjectDisposedException(this.GetType().ToString()); } if (!IsRegistered) { throw new InvalidOperationException(DDE.NotRegisteredMessage); } // Disable the DDEML callback for all conversations. bool result = Ddeml.DdeEnableCallback(_InstanceId, IntPtr.Zero, Ddeml.EC_DISABLE); // Check the result to see if the DDEML callback was disabled. if (!result) { int error = Ddeml.DdeGetLastError(_InstanceId); throw new DdemlException(DDE.ServerPauseAllFailedMessage, error); } // Increment each conversation's waiting count. foreach (DdemlConversation conversation in _ConversationTable.Values) { conversation.IncrementWaiting(); } }
public virtual void Resume(DdemlConversation conversation) { if (IsDisposed) { throw new ObjectDisposedException(this.GetType().ToString()); } if (!IsRegistered) { throw new InvalidOperationException(Resources.NotRegisteredMessage); } if (conversation == null) { throw new ArgumentNullException("conversation"); } if (!conversation.IsPaused) { throw new InvalidOperationException(Resources.NotPausedMessage); } // Enable the DDEML callback for the specified conversation only. bool result = Ddeml.DdeEnableCallback(_InstanceId, conversation.Handle, Ddeml.EC_ENABLEALL); // Check the result to see if the DDEML callback was enabled. if (!result) { int error = Ddeml.DdeGetLastError(_InstanceId); throw new DdemlException(Resources.ServerResumeFailedMessage, error); } // Decrement the conversation's waiting count. The conversation will only resume if the count is zero. conversation.DecrementWaiting(); }
public virtual void Pause(DdemlConversation conversation) { if (IsDisposed) { throw new ObjectDisposedException(this.GetType().ToString()); } if (!IsRegistered) { throw new InvalidOperationException(DDE.NotRegisteredMessage); } if (conversation == null) { throw new ArgumentNullException("conversation"); } if (conversation.IsPaused) { throw new InvalidOperationException(DDE.AlreadyPausedMessage); } // Disable the DDEML callback for the specified conversation only. bool result = Ddeml.DdeEnableCallback(_InstanceId, conversation.Handle, Ddeml.EC_DISABLE); // Check the result to see if the DDEML callback was disabled. if (!result) { int error = Ddeml.DdeGetLastError(_InstanceId); throw new DdemlException(DDE.ServerPauseFailedMessage, error); } // Increment the conversation's waiting count. conversation.IncrementWaiting(); }