121 lines
3.7 KiB
C++
121 lines
3.7 KiB
C++
// CDialogUsbException.cpp: 구현 파일
|
|
//
|
|
|
|
#include "pch.h"
|
|
#include "tool.h"
|
|
#include "afxdialogex.h"
|
|
#include "CDialogUsbException.h"
|
|
|
|
|
|
// CDialogUsbException 대화 상자
|
|
|
|
IMPLEMENT_DYNAMIC(CDialogUsbException, CDialogEx)
|
|
|
|
CDialogUsbException::CDialogUsbException(CWnd* pParent /*=nullptr*/)
|
|
: CDialogEx(IDD_DIALOG_USB_EXCEPTION, pParent)
|
|
{
|
|
|
|
}
|
|
|
|
CDialogUsbException::~CDialogUsbException()
|
|
{
|
|
}
|
|
|
|
void CDialogUsbException::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialogEx::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_EDIT_VID, editVid);
|
|
DDX_Control(pDX, IDC_EDIT_PID, editPid);
|
|
DDX_Control(pDX, IDC_EDIT_PARAM2, editParam3);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDialogUsbException, CDialogEx)
|
|
ON_BN_CLICKED(IDC_BUTTON_SET_USB_EXCEPTION, &CDialogUsbException::OnBnClickedButtonSetUsbException)
|
|
ON_BN_CLICKED(IDC_BUTTON_SET_USB_EXCEPTION2, &CDialogUsbException::OnBnClickedButtonSetUsbException2)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CDialogUsbException 메시지 처리기
|
|
|
|
void CDialogUsbException::OnBnClickedButtonSetUsbException()
|
|
{
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
CString vid;
|
|
CString pid;
|
|
CString param2;
|
|
|
|
if (!bs1flt_.Bs1fltSetUsbException)
|
|
{
|
|
MessageBox(L"bs1flt가 초기화 되지 않았습니다.", L"BS1FLT ALRAM", MB_ICONERROR | MB_OK);
|
|
return;
|
|
}
|
|
|
|
editVid.GetWindowText(vid);
|
|
editPid.GetWindowText(pid);
|
|
editParam3.GetWindowText(param2);
|
|
|
|
if (vid.IsEmpty() || pid.IsEmpty() )
|
|
{
|
|
MessageBox(L"입력 데이터가 없습니다.", L"BS1FLT ALRAM", MB_ICONERROR | MB_OK);
|
|
return;
|
|
}
|
|
|
|
vid.MakeUpper();
|
|
pid.MakeUpper();
|
|
|
|
theApp.dlg.listLog_.AddString(L"[USB EXCEPTION SET] VID:" + vid + L", PID:" + pid + L", SERIAL:" + param2);
|
|
bs1flt_.Bs1fltSetUsbException(vid.GetBuffer(), pid.GetBuffer(), NULL, param2.GetBuffer());
|
|
}
|
|
|
|
BOOL CDialogUsbException::OnInitDialog()
|
|
{
|
|
CDialogEx::OnInitDialog();
|
|
|
|
MessageBox(L"OnInitDialog", L"정보", MB_OK | MB_ICONINFORMATION);
|
|
|
|
GetDlgItem(IDC_STATIC_USB_EXCEPTION_COMMENT)->SetWindowTextW(
|
|
L"USB 예외 장치로 등록합니다.\n"
|
|
L"장치 관리자의 디크스 드라이브의 해당 창치의 인스턴드 경로 값을 등록합니다.\n"
|
|
L"예>USBSTOR\DISK&VEN_VENDORCO&PROD_PRODUCTCODE&REV_2.00\8328501217610604362&0\n"
|
|
L"vendor : VENDORCO, product : PRODUCTCODE, serial : 8328501217610604362\n"
|
|
L"장치 관리자의 범용 직렬 버스 컨트롤러의 해당 창치의 인스턴드 경로 값을 등록합니다.\n"
|
|
L"USB\\VID_346D & PID_5678\\8328501217610604362");
|
|
|
|
GetDlgItem(IDC_STATIC_USB_EXCEPTION_COMMENT2)->SetWindowTextW(
|
|
L"장치 관리자의 범용 직렬 버스 컨트롤러의 해당 창치의 인스턴드 경로 값을 등록합니다.\n"
|
|
L"USB\\VID_346D & PID_5678\\8328501217610604362\n"
|
|
L"vendor : 346D, product : 5678, serial : 8328501217610604362\n");
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CDialogUsbException::OnBnClickedButtonSetUsbException2()
|
|
{
|
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
|
CString vid;
|
|
CString pid;
|
|
CString param2;
|
|
|
|
if (!bs1flt_.Bs1fltSetUsbPortException)
|
|
{
|
|
MessageBox(L"bs1flt가 초기화 되지 않았습니다.", L"BS1FLT ALRAM", MB_ICONERROR | MB_OK);
|
|
return;
|
|
}
|
|
|
|
GetDlgItem(IDC_EDIT_VID2)->GetWindowText(vid);
|
|
GetDlgItem(IDC_EDIT_PID2)->GetWindowText(pid);
|
|
GetDlgItem(IDC_EDIT_PARAM2)->GetWindowText(param2);
|
|
|
|
if (vid.IsEmpty() || pid.IsEmpty())
|
|
{
|
|
MessageBox(L"입력 데이터가 없습니다.", L"BS1FLT ALRAM", MB_ICONERROR | MB_OK);
|
|
return;
|
|
}
|
|
|
|
theApp.dlg.listLog_.AddString(L"[USB EXCEPTION SET] VID:" + vid + L", PID:" + pid + L", SERIAL:" + param2);
|
|
DWORD vid_dw = wcstoul(vid.GetBuffer(), NULL, 16);
|
|
DWORD pid_dw = wcstoul(pid.GetBuffer(), NULL, 16);
|
|
bs1flt_.Bs1fltSetUsbPortException(vid_dw, pid_dw, NULL, param2.GetBuffer());
|
|
}
|