/*++ Copyright (c) 1997 Microsoft Corporation Module Name: callback.h Abstract: Definitions for callback routines for Intel Call Control Module. Environment: User Mode - Win32 Revision History: --*/ #ifndef _INC_CALLBACK #define _INC_CALLBACK /////////////////////////////////////////////////////////////////////////////// // // // Window message definitions // // // /////////////////////////////////////////////////////////////////////////////// #define H323_MSG_WINSOCK (WM_USER+1) // H245ws component uses this #define H323_MSG_PLACE_CALL (WM_USER+10) #define H323_MSG_ACCEPT_CALL (WM_USER+11) #define H323_MSG_CLOSE_CALL (WM_USER+12) #define H323_MSG_DROP_CALL (WM_USER+13) #define H323_MSG_CALL_LISTEN (WM_USER+14) #define H323_MSG_TERMINATION (WM_USER+15) /////////////////////////////////////////////////////////////////////////////// // // // Global variables // // // /////////////////////////////////////////////////////////////////////////////// extern DWORD g_dwCallbackThreadID; /////////////////////////////////////////////////////////////////////////////// // // // Private definitions // // // /////////////////////////////////////////////////////////////////////////////// #define WAIT_OBJECT_REGISTRY_CHANGE (WAIT_OBJECT_0) #define WAIT_OBJECT_TERMINATE_EVENT (WAIT_OBJECT_REGISTRY_CHANGE + 1) #define WAIT_OBJECT_INCOMING_MESSAGE (WAIT_OBJECT_TERMINATE_EVENT + 1) #define NUM_WAITABLE_OBJECTS 2 /////////////////////////////////////////////////////////////////////////////// // // // Macros // // // /////////////////////////////////////////////////////////////////////////////// #define H323IsTerminationMessage(_msg_) \ ((_msg_)->message == H323_MSG_TERMINATION) #define H323IsPlaceCallMessage(_msg_) \ ((_msg_)->message == H323_MSG_PLACE_CALL) #define H323IsAcceptCallMessage(_msg_) \ ((_msg_)->message == H323_MSG_ACCEPT_CALL) #define H323IsCloseCallMessage(_msg_) \ ((_msg_)->message == H323_MSG_CLOSE_CALL) #define H323IsDropCallMessage(_msg_) \ ((_msg_)->message == H323_MSG_DROP_CALL) #define H323IsCallListenMessage(_msg_) \ ((_msg_)->message == H323_MSG_CALL_LISTEN) #define H323PostTerminationMessage() \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_TERMINATION, \ (WPARAM)0, \ (LPARAM)0)) #define H323PostPlaceCallMessage(_hdCall_) \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_PLACE_CALL, \ (WPARAM)(_hdCall_), \ (LPARAM)(0))) #define H323PostAcceptCallMessage(_hdCall_) \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_ACCEPT_CALL, \ (WPARAM)(_hdCall_), \ (LPARAM)(0))) #define H323PostCloseCallMessage(_hdCall_) \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_CLOSE_CALL, \ (WPARAM)(_hdCall_), \ (LPARAM)(0))) #define H323PostDropCallMessage(_hdCall_,_dwDisconnectMode_) \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_DROP_CALL, \ (WPARAM)(_hdCall_), \ (LPARAM)(_dwDisconnectMode_))) #define H323PostCallListenMessage(_hdLine_) \ (PostThreadMessage(g_dwCallbackThreadID, \ H323_MSG_CALL_LISTEN, \ (WPARAM)(_hdLine_), \ (LPARAM)(0))) #define H323IsValidU2U(_pNS_) \ (((_pNS_)->bCountryCode == H221_COUNTRY_CODE_USA) && \ ((_pNS_)->bExtension == H221_COUNTRY_EXT_USA) && \ ((_pNS_)->wManufacturerCode == H221_MFG_CODE_MICROSOFT)) /////////////////////////////////////////////////////////////////////////////// // // // Public prototypes // // // /////////////////////////////////////////////////////////////////////////////// HRESULT H323ConferenceCallback( BYTE bIndication, HRESULT hStatus, CC_HCONFERENCE hConference, DWORD dwConferenceToken, PCC_CONFERENCE_CALLBACK_PARAMS pConferenceCallbackParams ); VOID H323ListenCallback( HRESULT hStatus, PCC_LISTEN_CALLBACK_PARAMS pListenCallbackParams ); BOOL H323StartCallbackThread( ); BOOL H323StopCallbackThread( ); #endif // _INC_CALLBACK