📄 usbkeypnpactivexctl.h
字号:
#if !defined(AFX_USBKEYPNPACTIVEXCTL_H__1A47F531_962A_4B9D_9052_BE4FEC922144__INCLUDED_)
#define AFX_USBKEYPNPACTIVEXCTL_H__1A47F531_962A_4B9D_9052_BE4FEC922144__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "FrProgressDlg.h"
// USBKeyPnPActiveXCtl.h : Declaration of the CUSBKeyPnPActiveXCtrl ActiveX Control class.
typedef struct _bjcakeycallway
{
char KeyName[128];
WORD dwVendorID;//厂家id
WORD dwProductID;//产品id
char CSPProvider[128];
char Dllpri[128];
int isExist;
}BJCAKEYCALLWAY,*BJCAKEYCALLWAY_PTR;
typedef struct _curcertinfo//当前USBKEY证书信息
{
BOOL isValide;
int bjcakeycallway_index;
CString CSPProvider;
CString Dllpri;
CString sConName;//容器名
CString sSubjectName;
CString sIssueName;
int keytype;//1,加密 2 签名
}BJCACERTINFO,*BJCACERTINFO_PTR;
#define DEBUGMSG(msg) DebugMsg(__FILE__,__LINE__,msg)
/////////////////////////////////////////////////////////////////////////////
// CUSBKeyPnPActiveXCtrl : See USBKeyPnPActiveXCtl.cpp for implementation.
class CUSBKeyPnPActiveXCtrl : public COleControl
{
DECLARE_DYNCREATE(CUSBKeyPnPActiveXCtrl)
// Constructor
public:
static void Pthread_ReadCruUSBKeyCert(void *handle);
void ProgressShowFunc(char *msg,int percent);
CUSBKeyPnPActiveXCtrl();
HDEVNOTIFY hDevNotify;
CString ErrMsg;
BOOL bIsReged;
CFrProgressDlg pProgressDlg;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CUSBKeyPnPActiveXCtrl)
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
virtual void DoPropExchange(CPropExchange* pPX);
virtual void OnResetState();
//}}AFX_VIRTUAL
// Implementation
protected:
~CUSBKeyPnPActiveXCtrl();
DECLARE_OLECREATE_EX(CUSBKeyPnPActiveXCtrl) // Class factory and guid
DECLARE_OLETYPELIB(CUSBKeyPnPActiveXCtrl) // GetTypeInfo
DECLARE_PROPPAGEIDS(CUSBKeyPnPActiveXCtrl) // Property page IDs
DECLARE_OLECTLTYPE(CUSBKeyPnPActiveXCtrl) // Type name and misc status
// Message maps
//{{AFX_MSG(CUSBKeyPnPActiveXCtrl)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
afx_msg void OnDeviceChange(WPARAM wParam, LPARAM lParam);
afx_msg void OnFireOnUSBKeyChange(WPARAM wParam, LPARAM lParam);
afx_msg void OnProgressMsg(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
// Dispatch maps
//{{AFX_DISPATCH(CUSBKeyPnPActiveXCtrl)
afx_msg BSTR EnumUsbKey();
afx_msg BSTR getUserInfoByContainer(LPCTSTR strContainerName, short type);
afx_msg BSTR getUserList();
afx_msg void RegisterDeviceInterface();
afx_msg BOOL SetLoginState(LPCTSTR strContainerName, LPCTSTR strUserName);
afx_msg BSTR GetSavedPass(LPCTSTR UserName);
afx_msg BSTR GetUSBKeyList();
afx_msg BOOL GetPassSaveState(LPCTSTR UserName);
afx_msg BOOL SaveUserPass(LPCTSTR strUserName, LPCTSTR strPass);
afx_msg BOOL DelUserPass(LPCTSTR strUserName);
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
afx_msg void AboutBox();
// Event maps
//{{AFX_EVENT(CUSBKeyPnPActiveXCtrl)
void FireOnUSBKeyChange()
{FireEvent(eventidOnUSBKeyChange,EVENT_PARAM(VTS_NONE));}
//}}AFX_EVENT
DECLARE_EVENT_MAP()
// Dispatch and event IDs
public:
BOOL IsWin98();
BOOL GetCurUSBKEYCertInfo();
BOOL GetAllUSBKEYCertInfo();
BOOL DoRegisterDeviceInterface(HANDLE hRecipient,GUID InterfaceClassGuid,HDEVNOTIFY *hDevNotify);
enum {
//{{AFX_DISP_ID(CUSBKeyPnPActiveXCtrl)
dispidEnumUsbKey = 1L,
dispidGetUserInfoByContainer = 2L,
dispidGetUserList = 3L,
dispidRegisterDeviceInterface = 4L,
dispidSetLoginState = 5L,
dispidGetSavedPass = 6L,
dispidGetUSBKeyList = 7L,
dispidGetPassSaveState = 8L,
dispidSaveUserPass = 9L,
dispidDelUserPass = 10L,
eventidOnUSBKeyChange = 1L,
//}}AFX_DISP_ID
};
private:
PCHAR GetRootHubName(HANDLE HostController);
PCHAR WideStrToMultiStr(PWCHAR WideStr);
PCHAR GetDriverKeyName(HANDLE Hub, ULONG ConnectionIndex);
PCHAR GetExternalHubName (
HANDLE Hub,
ULONG ConnectionIndex
) ;
void EnumerateHub(PCHAR HubName);
void EnumUsbDevice();
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_USBKEYPNPACTIVEXCTL_H__1A47F531_962A_4B9D_9052_BE4FEC922144__INCLUDED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -