Getting Started |
Setup |
Visual C++ Developer's Guide |
Interfaces |
IServerClient |
Overview |
IServerClient::CloseSession |
IServerClient::CreateAccount |
IServerClient::DeclineFile |
IServerClient::EnumAvailableContacts |
IServerClient::EnumContactList |
IServerClient::EnumGroupContacts |
IServerClient::EnumGroups |
IServerClient::GetAccountInformation |
IServerClient::GetAccountStatus |
IServerClient::GetAvailableContacts |
IServerClient::GetContactList |
IServerClient::GetGroupContacts |
IServerClient::GetGroups |
IServerClient::GetEventDescription |
IServerClient::GetLicenseInformation |
IServerClient::GetSDKVersion |
IServerClient::GetServerVersion |
IServerClient::GetSessionKey |
IServerClient::Initialize |
IServerClient::ModifyAccount |
IServerClient::OpenSession |
IServerClient::ReceiveFile |
IServerClient::SaveAccount |
IServerClient::SendFile |
IServerClient::SendFileRequest |
IServerClient::SendMessage |
IServerClient::SendMessageTypingEvent |
IServerClient::SendMultipleMessage |
IServerClient::SetAccountPassword |
IServerClient::SetContactList |
IServerClient::TestConnection |
IServerClient::UpdateSession |
IServerClient::ViewAccount |
Structures |
Overview |
FILE_INFO_STRUCT |
FILE_NAME |
MULTIPLE_RECIPIENT_STRUCT |
NOTIFY_FILE_STATUS_STRUCT |
NOTIFY_FORWARD_ MULTIPLE_MESSAGE_STRUCT |
NOTIFY_GROUPS_STRUCT |
TRANSFER_ACCOUNT_STRUCT |
TRANSFER_CONTACT_LIST_STRUCT |
TRANSFER_CONTACT_STRUCT |
TRANSFER_FILE_STRUCT |
TRANSFER_GROUP_STRUCT |
TRANSFER_MESSAGE_STRUCT |
TRANSFER_MESSAGE_TYPING_EVENT_STRUCT |
TRANSFER_MULTIPLE_MESSAGE_STRUCT |
TRANSFER_NOTIFY_FILE_STRUCT |
TRANSFER_NOTIFY_GROUP_STRUCT |
TRANSFER_OU_STRUCT |
TRANSFER_STATUS_STRUCT |
Notifications |
Overview |
NOTIFY_ACCOUNT_PASSWORD_RESET |
NOTIFY_CONTACT_STATUS |
NOTIFY_CONTACTS_ADDED |
NOTIFY_CONTACTS_CHANGED |
NOTIFY_CONTACTS_NEEDS_TO_REBUILD |
NOTIFY_CONTACTS_REBUILT |
NOTIFY_FILE_STATUS |
NOTIFY_FORWARD_MESSAGE |
NOTIFY_FORWARD_MULTIPLE_MESSAGE |
NOTIFY_GROUP_ADDED |
NOTIFY_GROUP_ADDED_BY_USER |
NOTIFY_GROUP_CHANGED |
NOTIFY_GROUP_CHANGED_BY_USER |
NOTIFY_GROUP_REMOVED |
NOTIFY_GROUP_REMOVED_BY_USER |
NOTIFY_MESSAGE_TYPING_EVENT |
NOTIFY_NEW_MESSAGE |
NOTIFY_NEW_TRANSFER |
NOTIFY_SESSION_CLOSED |
NOTIFY_SESSION_CLOSED_AS_EXISTING |
NOTIFY_SESSION_PINGPONG |
Available Extended Codes |
VB.NET Developer's Guide |
Interfaces |
IServerClientVB |
Overview |
IServerClientVB::CloseSession |
IServerClientVB::CreateAccount |
IServerClientVB::EnumAvailableContacts |
IServerClientVB::EnumContactList |
IServerClientVB::EnumGroupContacts |
IServerClientVB::EnumGroups |
IServerClientVB::GetAccountInformation |
IServerClientVB::GetAccountStatus |
IServerClientVB::GetAvailableContacts |
IServerClientVB::GetContactList |
IServerClientVB::GetGroupContacts |
IServerClientVB::GetGroups |
IServerClientVB::GetEventDescription |
IServerClientVB::GetLicenseInformation |
IServerClientVB::GetSDKVersion |
IServerClientVB::GetServerVersion |
IServerClientVB::GetSessionKey |
IServerClientVB::Initialize |
IServerClientVB::ModifyAccount |
IServerClientVB::OpenSession |
IServerClientVB::SaveAccount |
IServerClientVB::SendMessage |
IServerClientVB::SendMessageTypingEvent |
IServerClientVB::SendMultipleMessage |
IServerClientVB::SetAccountPassword |
IServerClientVB::SetContactList |
IServerClientVB::TestConnection |
IServerClientVB::UpdateSession |
IServerClientVB::ViewAccount |
Structures |
Overview |
VBAccountStruct |
VBContactListStruct |
VBContactStruct |
VBGroupStruct |
VBMessageStruct |
VBMessageTypingStruct |
VBMultipleMessageStruct |
VBNotifyGroupStruct |
VBOuStruct |
VBRecipientStruct |
VBStatusStruct |
Notifications |
Overview |
AccountPasswordReset |
ContactStatus |
ContactListAdded |
ContactListChanged |
ContactListNeedsToBeRebuilt |
ContactListRebuilt |
GroupAdded |
GroupChanged |
GroupRemoved |
MessageTypingEvent |
NewMessage |
SessionClosed |
SessionClosedAsExisting |
SessionPingPong |
Available Extended Codes |
MS Office (VBA) Developer's Guide |
Interfaces |
IServerClientVBA |
Overview |
IServerClientVBA::CloseSession |
IServerClientVBA::CreateAccount |
IServerClientVBA::EnumAvailableContacts |
IServerClientVBA::EnumContactList |
IServerClientVBA::EnumGroupContacts |
IServerClientVBA::EnumGroups |
IServerClientVBA::GetAccountInformation |
IServerClientVBA::GetAccountStatus |
IServerClientVBA::GetAvailableContacts |
IServerClientVBA::GetContactList |
IServerClientVBA::GetEventDescription |
IServerClientVBA::GetGroupContacts |
IServerClientVBA::GetGroups |
IServerClientVBA::GetLicenseInformation |
IServerClientVBA::GetSDKVersion |
IServerClientVBA::GetServerVersion |
IServerClientVBA::GetSessionKey |
IServerClientVBA::Initialize |
IServerClientVBA::ModifyAccount |
IServerClientVBA::OpenSession |
IServerClientVBA::SaveAccount |
IServerClientVBA::SendMessage |
IServerClientVBA::SendMessageTypingEvent |
IServerClientVBA::SendMultipleMessage |
IServerClientVBA::SetAccountPassword |
IServerClientVBA::SetContactList |
IServerClientVBA::TestConnection |
IServerClientVBA::UpdateSession |
IServerClientVBA::ViewAccount |
Types |
Overview |
AccountStruct |
ContactListStruct |
ContactStruct |
GroupStruct |
MessageStruct |
MessageTypingStruct |
MultipleMessageStruct |
NotifyGroupStruct |
OuStruct |
RecipientStruct |
StatusStruct |
Notifications |
Overview |
AccountPasswordReset |
ContactListAdded |
ContactListChanged |
ContactListNeedsToBeRebuilt |
ContactListRebuilt |
ContactStatus |
GroupAdded |
GroupChanged |
GroupRemoved |
MessageTypingEvent |
NewMessage |
SessionClosed |
SessionClosedAsExisting |
SessionPingPong |
Available Extended Codes |
About |
Notifications are the messages that sent to a parent window of the IM client application and notify about any events initiated by the IM server. Notifications deliver information on incoming and forwarded instant messages, changes in the user's Contact List, adding/removing assigned messaging groups, changing group permissions, etc. The handle to the window of the application that should receive these notifications is set through the IServerClientVBA::Initialize function call.
Notifications are sent in the form of NOTIFY_SERVER_MESSAGE
message.
Constants below are defined in CSClient4.bas module which is installed as a part of Bopup IM Client SDK and available at \include sub-folder in installation root directory. That module must be imported to a VBA project in order to properly call IServerClientVBA interface methods. To import the module open VBA project and right-click on Modules in the project left tree, then browse and select the file. The module will be added to the project itself and not as a reference to an external file so there are no needs to copy the module file if you wish to distribute a macro to another computers.
Public Function WindowProc (ByVal wnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Parameters
- wnd
- Handle to a destination window. It should be passed as parameter to IServerClientVBA::Initialize method on initializing interface and point to a form handle that will receive notifications from the IM server.
- msg
- Identifier of the message that is always equal
NOTIFY_SERVER_MESSAGE
.- wParam
- Identifier of the notification message. See available notification messages in the table below.
- lParam
- Contains additional information and data depending on the notification message.
Return Value
0
except for notification messages that specify otherwise.
Notification Messages passed through wParam variable
AccountPasswordReset | Notifies the IM client application current user's password has been reset on the IM server. |
ContactStatus | Notifies the IM client application some user's presence status from the Contact List and/or group contacts has been changed. |
ContactListAdded | Notifies the IM client application that new contacts are available to current user on the IM server. |
ContactListChanged | Notifies the IM client application that the list of contacts available to current user on the IM server has been changed. |
ContactListNeedsToBeRebuilt | Notifies the IM client application that the user's contacts have been reset due to major changes in the users structure on the IM server. |
ContactListRebuilt | Notifies the IM client application that the user's contacts have been rebuilt on the IM server and must be received again. |
GroupAdded | Notifies the IM client application that current user has been added (assigned) to specified messaging group. |
GroupChanged | Notifies the IM client application that assigned messaging group has been renamed and/or it's permissions have been changed. |
GroupRemoved | Notifies the IM client application that current user has been removed (unassigned) from specified messaging group. |
MessageTypingEvent | Notifies the IM client application that remote user is typing a message. |
NewMessage | Notifies the IM client application on a new incoming instant message. |
SessionClosed | Notifies the IM client application that the connection with the IM server has been lost and the session has been closed. This can be a result of network issues or the IM server forcefully closes the session. |
SessionClosedAsExisting | Notifies the IM client application that the connection with the IM server has been automatically interrupted and the session has been closed. This can be a result of another connection to the IM server made under the same user account. |
SessionPingPong | Notifies the IM client application that the IM server checks a live status of the application. The IM client may bypass this notification message. |
Example
Public Function WindowProc(ByVal wnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If msg = WM_NOTIFY_SERVER Then Select Case wParam Case SessionPingPong End Select End If WindowProc = 0 End Function