/*============================================================================*\ INTEL Corporation Proprietary Information This listing is supplied under the terms of a license agreement with INTEL Corporation and may not be copied nor disclosed except in accordance with the terms of that agreement. Copyright (c) 1996 Intel Corporation. All rights reserved. \*============================================================================*/ /*****************************************************************************\ SUMMARY: Intel Connection Advisor DLL export API HISTORY: Original E. Rogers, January 1997 $Header: L:\proj\sturgeon\src\ica\vcs\icaapi.h_v 1.11 07 Feb 1997 14:29:28 RKAR $ \*****************************************************************************/ #ifndef _ICA_API_H_ #define _ICA_API_H_ #ifdef __cplusplus extern "C" { // Assume C declarations for C++. #endif // __cplusplus #define SZ_ICADLL TEXT("MSICA.DLL") #define SZ_ICAHELP TEXT("MSICA.HLP") #ifndef DllExport //! #define DllExport __declspec( dllexport ) #define DllExport #endif // DllExport // Registry definitions (needed by conf.exe) #define REGKEY_ICA TEXT("Software\\Microsoft\\Conferencing\\ICA") #define REGVAL_ICA_IN_TRAY TEXT("UseTrayIcon") #define REGVAL_ICA_POPUP TEXT("PopupOnError") #define REGVAL_ICA_TOPMOST TEXT("StayOnTop") // Panel identifiers #define GENERAL_PANEL "ICA_GENERAL_PANEL" // Localization OK #define MS_AUDIO_PANEL "NM2.0_H323_AUDIO" // Localization OK #define MS_VIDEO_PANEL "NM2.0_H323_VIDEO" // Localization OK #define VP20_H323_AUDIO_PANEL "VPHONE2.0_H323_AUDIO" // Localization OK #define VP20_H323_VIDEO_PANEL "VPHONE2.0_H323_VIDEO" // Localization OK #define VP20_H323_DETAILS_PANEL "VPHONE2.0_H323_DETAILS"// Localization OK #define VP20_H324_AUDIO_PANEL "VPHONE2.0_H324_AUDIO" // Localization OK #define VP20_H324_VIDEO_PANEL "VPHONE2.0_H324_VIDEO" // Localization OK #define VP20_H324_DETAILS_PANEL "VPHONE2.0_H324_DETAILS"// Localization OK // ICA data types - used by ICA_OpenStatistic in the dwType param #define DWORD_TYPE 0 // Statistic info structure typedef struct { UINT cbSize; DWORD dwMaxValue; DWORD dwMinValue; DWORD dwWarnLevel; DWORD dwUpdateFrequency; } ICA_STATISTIC_INFO, *PICA_STATISTIC_INFO; // Function typedefs typedef HRESULT (WINAPI *PFnICA_Start)( char*, char*, HWND* ); typedef HRESULT (WINAPI *PFnICA_Stop)( VOID ); typedef HRESULT (WINAPI *PFnICA_DisplayPanel)( char*, char*, char*, VOID*, HANDLE* ); typedef HRESULT (WINAPI *PFnICA_RemovePanel)( HANDLE ); typedef HRESULT (WINAPI *PFnICA_OpenStatistic)( char*, DWORD, HANDLE* ); typedef HRESULT (WINAPI *PFnICA_SetStatistic)( HANDLE, BYTE*, DWORD ); typedef HRESULT (WINAPI *PFnICA_SetStatisticInfo)( HANDLE, ICA_STATISTIC_INFO* ); typedef HRESULT (WINAPI *PFnICA_SetWarningEvent)( HANDLE, HANDLE ); typedef HRESULT (WINAPI *PFnICA_GetStatistic)( HANDLE, BYTE*, DWORD*, DWORD* ); typedef HRESULT (WINAPI *PFnICA_GetWarningState)( HANDLE, BOOL* ); typedef HRESULT (WINAPI *PFnICA_EnumStatistic)( DWORD, char*, DWORD, HANDLE* ); typedef HRESULT (WINAPI *PFnICA_ResetStatistic)( HANDLE ); typedef HRESULT (WINAPI *PFnICA_CloseStatistic)( HANDLE ); typedef HRESULT (WINAPI *PFnICA_SetOptions) ( UINT ); typedef HRESULT (WINAPI *PFnICA_GetOptions) ( DWORD*); ///////////////////////// ICA API functions /////////////////////////////////// // General functions HRESULT WINAPI ICA_Start( char* pszDisplayName, char* pszRRCMLibrary, HWND* phWnd ); HRESULT WINAPI ICA_Stop( VOID ); // Panel functions HRESULT WINAPI ICA_DisplayPanel( char* pszModuleName, char* pszName, char* pszHelpFile, VOID* pReserved, HANDLE* phPanel ); HRESULT WINAPI ICA_RemovePanel( HANDLE hPanel ); // Data functions HRESULT WINAPI ICA_OpenStatistic( char* pszName, DWORD dwType, HANDLE* phStat ); HRESULT WINAPI ICA_SetStatistic( HANDLE hStat, BYTE* pData, DWORD dwDataSize ); HRESULT WINAPI ICA_SetStatisticInfo( HANDLE hStat, ICA_STATISTIC_INFO* pStatInfo ); HRESULT WINAPI ICA_SetWarningEvent( HANDLE hStat, HANDLE hEvent ); HRESULT WINAPI ICA_GetStatistic( HANDLE hStat, BYTE* pBuffer, DWORD* pdwBufSize, DWORD* pdwTimeStamp ); HRESULT WINAPI ICA_GetWarningState( HANDLE hStat, BOOL* bInWarningState ); HRESULT WINAPI ICA_EnumStatistic( DWORD dwIndex, char* pszName, DWORD dwNameSize, HANDLE* phStat ); HRESULT WINAPI ICA_ResetStatistic( HANDLE hStat ); HRESULT WINAPI ICA_CloseStatistic( HANDLE hStat ); #define ICA_OPTION_DUPLEX_MASK 0x00000001 #define ICA_OPTION_TRAY_MASK 0x00000002 HRESULT WINAPI ICA_GetOptions( DWORD* dwOptionValue ); // ICA Flags to ICA_SetOptions #define ICA_SHOW_TRAY_ICON 0x00000001 #define ICA_DONT_SHOW_TRAY_ICON 0x00000002 #define ICA_SET_HALF_DUPLEX 0x00000004 #define ICA_SET_FULL_DUPLEX 0x00000008 HRESULT WINAPI ICA_SetOptions( UINT fOptionFlag ); #ifdef __cplusplus } // End of extern "C" { #endif // __cplusplus #endif // _ICA_API_H_