///////////////////////////////////////////////////////////////////////////
// Advanced Dialog Functions
///////////////////////////////////////////////////////////////////////////
#include "ports.h"
#include "pp.h"
#include <windowsx.h>
#define COBJMACROS 1
#include <ole2.h>
#include <initguid.h>
#include <oleacc.h>
#include <winable.h>
//
// write out values in tenths of a sec
//
#define SECONDS_CONVERSION_FACTOR (10)
#define NUM_POLLING_PERIODS 7
DWORD PollingPeriods[NUM_POLLING_PERIODS] = {
-1,
0,
1 * SECONDS_CONVERSION_FACTOR,
5 * SECONDS_CONVERSION_FACTOR,
10 * SECONDS_CONVERSION_FACTOR,
30 * SECONDS_CONVERSION_FACTOR,
60 * SECONDS_CONVERSION_FACTOR
};
TCHAR PeriodDescription[NUM_POLLING_PERIODS+1][40] = {
{ _T("Disabled") },
{ _T("Manually") },
{ _T("Every second") },
{ _T("Every 5 seconds") },
{ _T("Every 10 seconds") },
{ _T("Every 30 seconds") },
{ _T("Every minute") },
{ _T("Other (every %d sec)") }
};
ULONG RxValues[4] = { 1, 4, 8, 14};
WCHAR RxValuesStringMap[] = L"A:0:1:1:2:4:3:8:4:14:";
WCHAR TxValuesStringMap[] = L"use_raw";
TCHAR m_szRxFIFO[] = _T("RxFIFO");
TCHAR m_szTxFIFO[] = _T("TxFIFO");
TCHAR m_szFifoRxMax[] = _T("FifoRxMax");
TCHAR m_szFifoTxMax[] = _T("FifoTxMax");
const DWORD AdvanHelpIDs[] =
{
IDC_DESC_1, IDH_NOHELP,
IDC_DESC_2, IDH_NOHELP,
IDC_FIFO, IDH_DEVMGR_PORTSET_ADV_USEFIFO, // "Use FIFO buffers (requires 16550 compatible UART)" (Button)
IDC_RECEIVE_TEXT, IDH_NOHELP, // "&Receive Buffer:" (Static)
IDC_RECEIVE_SLIDER, IDH_DEVMGR_PORTSET_ADV_RECV, // "" (msctls_trackbar32)
IDC_RECEIVE_LOW, IDH_NOHELP, // "Low (%d)" (Static)
IDC_RECEIVE_HIGH, IDH_NOHELP, // "High (%d)" (Static)
IDC_RXVALUE, IDH_NOHELP,
IDC_TRANSMIT_TEXT, IDH_NOHELP, // "&Transmit Buffer:" (Static)
IDC_TRANSMIT_SLIDER, IDH_DEVMGR_PORTSET_ADV_TRANS, // "" (msctls_trackbar32)
IDC_TRANSMIT_LOW, IDH_NOHELP, // "Low (%d)" (Static)
IDC_TRANSMIT_HIGH, IDH_NOHELP, // "High (%d)" (Static)
IDC_TXVALUE, IDH_NOHELP,
IDC_POLL_DESC, IDH_NOHELP,
IDC_POLL_PERIOD, IDH_DEVMGR_PORTSET_ADV_DEVICES, // "" (ComboBox)
PP_PORT_NUMBER, IDH_DEVMGR_PORTSET_ADV_NUMBER, // "" (ComboBox)
IDC_COMNUMTEXT, IDH_NOHELP, // "COM &Port Number:" (Static)
IDC_RESTORE, IDH_DEVMGR_PORTSET_ADV_DEFAULTS,// "&Restore Defaults" (Button)
0, 0
};
#define Trackbar_SetPos(hwndTb, Redraw, Position)\
(VOID) SendMessage(hwndTb, TBM_SETPOS, (WPARAM) Redraw, (LPARAM) Position)
#define Trackbar_SetRange(hwndTb, Redraw, MinVal, MaxVal)\
(VOID) SendMessage(hwndTb, TBM_SETRANGE, (WPARAM) Redraw, (LPARAM) MAKELONG(MinVal, MaxVal))
#define Trackbar_SetTic(hwndTb, Tic)\
(VOID) SendMessage(hwndTb, TBM_SETTIC, (WPARAM) 0, (LPARAM) Tic)
#define Trackbar_GetPos(hwndTb)\
(DWORD) SendMessage(hwndTb, TBM_GETPOS, (WPARAM) 0, (LPARAM) 0)
BOOL
Advanced_OnCommand(
HWND ParentHwnd,
int ControlId,
HWND ControlHwnd,
UINT NotifyCode
);
BOOL
Advanced_OnContextMenu(
HWND HwndControl,
WORD Xpos,
WORD Ypos
);
void
Advanced_OnHelp(
HWND ParentHwnd,
LPHELPINFO HelpInfo
);
BOOL
Advanced_OnInitDialog(
HWND ParentHwnd,
HWND FocusHwnd,
LPARAM Lparam
);
/*++
Routine Description: AdvancedPortsDlgProc
The windows proc for the Advanced properties window
Arguments:
hDlg, uMessage, wParam, lParam: standard windows DlgProc parameters
Return Value:
BOOL: FALSE if the page could not be created
--*/
INT_PTR APIENTRY
AdvancedPortsDlgProc(
IN HWND hDlg,
IN UINT uMessage,
IN WPARAM wParam,
IN LPARAM lParam
)
{
switch(uMessage) {
case WM_COMMAND:
return Advanced_OnCommand(hDlg,
(int) LOWORD(wParam),
(HWND)lParam,
(UINT) HIWORD(wParam));
case WM_CONTEXTMENU:
return Advanced_OnContextMenu((HWND)wParam, LOWORD(lParam), HIWORD(lParam));
case WM_HELP:
Advanced_OnHelp(hDlg, (LPHELPINFO) lParam);
break;
case WM_HSCROLL:
HandleTrackbarChange(hDlg, (HWND) lParam);
return TRUE;
case WM_INITDIALOG:
return Advanced_OnInitDialog(hDlg, (HWND) wParam, lParam);
}
return FALSE;
} /* AdvancedPortsDlgProc */
BOOL
Advanced_OnCommand(
HWND ParentHwnd,
int ControlId,
HWND ControlHwnd,
UINT NotifyCode
)
{
PADVANCED_DATA advancedData =
(PADVANCED_DATA) GetWindowLongPtr(ParentHwnd, DWLP_USER);
switch(ControlId) {
case IDC_FIFO:
//
// Disable or enable the sliders
//
EnableFifoControls(ParentHwnd, IsDlgButtonChecked(ParentHwnd, IDC_FIFO));
return TRUE;
case IDOK:
SaveAdvancedSettings(ParentHwnd, advancedData);
// fall through
case IDCANCEL:
EndDialog(ParentHwnd, ControlId);
return TRUE;
case IDC_RESTORE:
RestoreAdvancedDefaultState(ParentHwnd, advancedData);
return TRUE;
}
return FALSE;
}
BOOL
Advanced_OnContextMenu(
HWND HwndControl,
WORD Xpos,
WORD Ypos
)
{
WinHelp(HwndControl,
m_szDevMgrHelp,
HELP_CONTEXTMENU,
(ULONG_PTR) AdvanHelpIDs);
return FALSE;
}
void
Advanced_OnHelp(
HWND ParentHwnd,
LPHELPINFO HelpInfo
)
{
if (HelpInfo->iContextType == HELPINFO_WINDOW) {
WinHelp((HWND) HelpInfo->hItemHandle,
m_szDevMgrHelp,
HELP_WM_HELP,
(ULONG_PTR) AdvanHelpIDs);
}
}
BOOL
Advanced_OnInitDialog(
HWND ParentHwnd,
HWND FocusHwnd,
LPARAM Lparam
)
{
PADVANCED_DATA advancedData;
TCHAR szFormat[200];
TCHAR szBuffer[200];
advancedData = (PADVANCED_DATA) Lparam;
//
// Initialize the dialog box parameters
//
FillAdvancedDlg(ParentHwnd, advancedData);
SetWindowLongPtr(ParentHwnd, DWLP_USER, (ULONG_PTR) advancedData);
//
// Set up the dialog box with these initialized parameters
//
InitializeControls(ParentHwnd, advancedData);
LoadString(g_hInst, IDS_ADVANCED_SETTINGS_FOR, szFormat, CharSizeOf(szFormat));
wsprintf(szBuffer, szFormat, advancedData->szComName);
SetWindowText(ParentHwnd, szBuffer);
return TRUE;
}
BOOL InternalAdvancedDialog(
IN HWND ParentHwnd,
IN OUT PADVANCED_DATA AdvancedData
)
{
AdvancedData->hComDB = HCOMDB_INVALID_HANDLE_VALUE;
ComDBOpen(&AdvancedData->hComDB);
DialogBoxParam(g_hInst,
MAKEINTRESOURCE(DLG_PP_ADVPORTS),
ParentHwnd,
AdvancedPortsDlgProc,
(DWORD_PTR) AdvancedData);
ComDBClose(AdvancedData->hComDB);
AdvancedData->hComDB = HCOMDB_INVALID_HANDLE_VALUE;
return TRUE;
}
/*++
Routine Description: DisplayAdvancedDialog
Opens the devices instance and checks to see if it is valid. If so, then the advanced
dialog is displayed. Otherwise a message is displayed to the user stating that the user
does not have write access to this particular key.
Arguments:
ParentHwnd - Handle to the parent dialog (Port Settings Property Sheet)
AdvancedData - hDe
没有合适的资源?快使用搜索试试~ 我知道了~
设置WINDOWS设备的一组源码工程
共114个文件
obj:15个
c:12个
h:10个
需积分: 13 9 下载量 7 浏览量
2010-06-12
22:18:27
上传
评论
收藏 703KB RAR 举报
温馨提示
用来设置,安装,移除WINDOWS设备。包含WINDDK,但具有非常实用的价值。
资源推荐
资源详情
资源评论
收起资源包目录
设置WINDOWS设备的一组源码工程 (114个子文件)
msg00001.bin 24KB
advandlg.c 46KB
ports.c 34KB
pp_lpt.c 34KB
pp.c 28KB
cocpyinf.c 13KB
install.c 12KB
util.c 8KB
enable.c 7KB
setupdi.c 7KB
config.c 6KB
remove.c 6KB
debug.c 2KB
cmds.cpp 39KB
dump.cpp 32KB
devcon.cpp 23KB
pnpports.def 155B
cocpyinf.def 56B
dirs 100B
migrate.dll 372KB
pnpports.dll 46KB
cocpyinf.dll 10KB
devcon.exe 49KB
install.exe 26KB
remove.exe 25KB
enable.exe 24KB
pnpports.exp 1KB
cocpyinf.exp 657B
msg.h 27KB
ports.h 6KB
pp.h 6KB
resource.h 4KB
devcon.h 3KB
common.h 2KB
pp_lpt.h 2KB
resource.h 969B
portstr.h 848B
rc_ids.h 570B
devupgrd.htm 56KB
cocpyinf.htm 12KB
devcon.htm 12KB
multios.htm 11KB
enable.htm 8KB
pnpports.htm 7KB
install.htm 6KB
remove.htm 6KB
clasfilt.htm 6KB
ports.ico 1KB
enable.ico 1KB
multios.inf 14KB
clasfilt.inf 2KB
hpsstape.inf 2KB
devupgrd.inf 978B
a.inf 796B
b.inf 796B
pnpports.lib 2KB
cocpyinf.lib 2KB
buildchk_wxp_x86.log 3KB
_objects.mac 974B
_objects.mac 950B
_objects.mac 858B
_objects.mac 454B
_objects.mac 446B
_objects.mac 438B
makefile 271B
makefile 269B
makefile 269B
makefile 269B
makefile 249B
makefile 38B
msg.mc 20KB
advandlg.obj 71KB
cmds.obj 39KB
dump.obj 33KB
pp_lpt.obj 31KB
pp.obj 30KB
ports.obj 25KB
devcon.obj 24KB
install.obj 12KB
cocpyinf.obj 12KB
util.obj 10KB
enable.obj 9KB
setupdi.obj 8KB
config.obj 8KB
remove.obj 7KB
debug.obj 4KB
txtsetup.oem 1KB
pnpports.pdb 249KB
install.pdb 201KB
remove.pdb 201KB
enable.pdb 193KB
devcon.pdb 153KB
cocpyinf.pdb 105KB
ports.rc 9KB
enable.rc 2KB
devcon.rc 1KB
cocpyinf.rc 361B
install.rc 327B
remove.rc 324B
msg.rc 39B
共 114 条
- 1
- 2
资源评论
CharlesPrince
- 粉丝: 53
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功