mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
4.7 KiB
197 lines
4.7 KiB
#include <windows.h>
|
|
#include <windowsx.h>
|
|
#include <tapi.h>
|
|
#include <cpl.h>
|
|
|
|
#include "resource.h"
|
|
#include "debug.h"
|
|
|
|
|
|
|
|
//***************************************************************************
|
|
HINSTANCE ghInst;
|
|
|
|
DWORD WINAPI internalConfig(HWND);
|
|
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
VOID PASCAL TapiCallbackProc( DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance,
|
|
DWORD dwParam1, DWORD dwParam2, DWORD dwParam3 )
|
|
{
|
|
//As if we care...
|
|
}
|
|
|
|
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
LONG
|
|
#if WIN32
|
|
APIENTRY
|
|
#else
|
|
EXPORT
|
|
#endif
|
|
CPlApplet( HWND hWnd,
|
|
UINT uMessage,
|
|
LPARAM lParam1,
|
|
LPARAM lParam2 )
|
|
{
|
|
LPCPLINFO lpCplInfo;
|
|
LPNEWCPLINFO lpNewCplInfo;
|
|
LONG lResult = 0;
|
|
|
|
//DBGOUT((0, "Got here, eh?"));
|
|
|
|
switch ( uMessage )
|
|
{
|
|
case CPL_INIT:
|
|
DBGOUT((10, "CPL_INIT"));
|
|
lResult = 1;
|
|
break;
|
|
|
|
|
|
case CPL_GETCOUNT:
|
|
DBGOUT((10, "CPL_GETCOUNT - returning 1"));
|
|
// return the number of applets supported
|
|
lResult = 1;
|
|
break;
|
|
|
|
|
|
case CPL_INQUIRE:
|
|
DBGOUT((10, "CPL_INQUIRE"));
|
|
|
|
lpCplInfo = (LPCPLINFO)lParam2;
|
|
|
|
lpCplInfo->idIcon = IDI_TELEPHONICON;
|
|
lpCplInfo->idName = IDS_SHORTNAME;
|
|
lpCplInfo->idInfo = IDS_DESCRIPTION;
|
|
lpCplInfo->lData = 0;
|
|
|
|
lResult = TRUE;
|
|
|
|
break;
|
|
|
|
|
|
case CPL_NEWINQUIRE:
|
|
{
|
|
TCHAR buf[64];
|
|
|
|
DBGOUT((10, "CPL_NEWINQUIRE"));
|
|
|
|
lpNewCplInfo = (LPNEWCPLINFO)lParam2;
|
|
|
|
lpNewCplInfo->dwSize = sizeof(NEWCPLINFO);
|
|
lpNewCplInfo->dwFlags = 0;
|
|
lpNewCplInfo->dwHelpContext = 0;
|
|
lpNewCplInfo->lData = 0;
|
|
lpNewCplInfo->hIcon = LoadIcon( ghInst, MAKEINTRESOURCE(IDI_TELEPHONICON) );
|
|
|
|
//DBGOUT((0, "hIcon = 0x%08lx", (DWORD)lpNewCplInfo->hIcon));
|
|
|
|
LoadString( ghInst, IDS_SHORTNAME, buf, sizeof(buf) );
|
|
lstrcpy( lpNewCplInfo->szName, buf );
|
|
|
|
LoadString( ghInst, IDS_DESCRIPTION, buf, sizeof(buf) );
|
|
lstrcpy( lpNewCplInfo->szInfo, buf );
|
|
|
|
lstrcpy (lpNewCplInfo->szHelpFile, "");
|
|
|
|
lResult = TRUE;
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
case CPL_DBLCLK:
|
|
DBGOUT((10, "CPL_DBLCLK"));
|
|
|
|
{
|
|
HLINEAPP hLineApp;
|
|
DWORD dwNumDevs;
|
|
|
|
#define TAPI_API_VERSION 0x00020000
|
|
|
|
lineInitialize( &hLineApp,
|
|
ghInst,
|
|
TapiCallbackProc,
|
|
"Telephony Control Panel",
|
|
&dwNumDevs
|
|
);
|
|
|
|
// lineTranslateDialog(hLineApp, 0, TAPI_API_VERSION, hWnd, NULL);
|
|
internalConfig(hWnd);
|
|
|
|
lineShutdown( hLineApp );
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
#if DBG
|
|
case CPL_SELECT:
|
|
DBGOUT((10, "CPL_SELECT"));
|
|
// application selected, who cares...
|
|
break;
|
|
|
|
|
|
case CPL_STOP:
|
|
DBGOUT((10, "CPL_STOP"));
|
|
// sent once per app before CPL_EXIT
|
|
break;
|
|
|
|
|
|
case CPL_EXIT:
|
|
DBGOUT((10, "CPL_EXIT"));
|
|
// sent once before FreeLibrary called
|
|
break;
|
|
#endif
|
|
|
|
|
|
default:
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
return( lResult );
|
|
}
|
|
|
|
|
|
|
|
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
//***************************************************************************
|
|
#if WIN32
|
|
BOOL WINAPI DllEntryPoint( HINSTANCE hInstance,
|
|
DWORD dwReason,
|
|
LPVOID lpReserved )
|
|
{
|
|
switch (dwReason)
|
|
{
|
|
case DLL_PROCESS_ATTACH:
|
|
ghInst = hInstance;
|
|
break;
|
|
|
|
case DLL_PROCESS_DETACH:
|
|
break;
|
|
}
|
|
|
|
return( TRUE );
|
|
}
|
|
|
|
//***************************************************************************
|
|
#else
|
|
|
|
int FAR PASCAL LibMain( HINSTANCE hInstance,
|
|
UINT uDataSeg,
|
|
UINT cbHeapSize,
|
|
LPSTR lpszCmdLine )
|
|
{
|
|
ghInst = hInstance;
|
|
|
|
return( TRUE );
|
|
}
|
|
|
|
#endif
|