windows-nt/Source/XPSP1/NT/enduser/netmeeting/h/icaapi.h
2020-09-26 16:20:57 +08:00

130 lines
5 KiB
C

/*============================================================================*\
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_