?? zpimobject.cpp
字號:
// ZPIMObject.cpp: implementation of the ZPIMObject class.
//
//////////////////////////////////////////////////////////////////////
//#include <afx.h>
#include <afxwin.h> // MFC core and standard components
#include <process.h>
#include "stdafx.h"
#include <stdlib.h>
#include <malloc.h>
#include "ZPIMObject.h"
#include <Winsock2.h>
#define _WINSOCKAPI_
#include "DDKLBLInc.h"
#include <stdio.h>
#include "ip.h"
#include "fw_interface.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ZPIMObject::ZPIMObject()
{
m_hPIM = INVALID_HANDLE_VALUE;
OpenPIM();
}
ZPIMObject::~ZPIMObject()
{
ClosePIM();
}
BOOLEAN ZPIMObject::OpenPIM()
{
BOOLEAN bResult = FALSE;
//
// Get Handle To PIM Driver
//
m_hPIM = CreateFile(
DOGFW_DEVICE_NAME, // e.g., "\\\\.\\DRIVERNAME.VXD"
GENERIC_READ | GENERIC_WRITE,
0,
0,
CREATE_NEW,
FILE_ATTRIBUTE_NORMAL,
0
);
return( m_hPIM != INVALID_HANDLE_VALUE );
}
void ZPIMObject::ClosePIM()
{
//
// Close The PIM Handle, If Necessary
//
if( m_hPIM != INVALID_HANDLE_VALUE )
{
CloseHandle( m_hPIM );
}
m_hPIM = INVALID_HANDLE_VALUE;
}
DWORD ZPIMObject::SetFwStatus(BYTE *pStatus)
{
BOOLEAN bIOResult;
DWORD cbBytesRet, nResult = ERROR_SUCCESS;
//
// Open The NDC PIM Driver, If Necessary
//
if( m_hPIM == INVALID_HANDLE_VALUE )
{
OpenPIM();
}
if( m_hPIM == INVALID_HANDLE_VALUE )
{
// ATTENTION!!! Display Message!!!
return( GetLastError() );
}
//
// Call The Driver To Read Current NDC Settings
//
bIOResult = DeviceIoControl(
m_hPIM,
IOCTL_DOGFW_CTL_FW_STATUS,
pStatus,
sizeof(*pStatus),
NULL,
sizeof(*pStatus),
&cbBytesRet, // Bytes Returned
NULL // lpOverlapped
);
if( !bIOResult )
{
}
return( nResult);
}
DWORD ZPIMObject::SetFwMode(BYTE *pMode)
{
BOOLEAN bIOResult;
DWORD cbBytesRet, nResult = ERROR_SUCCESS;
//
// Open The NDC PIM Driver, If Necessary
//
if( m_hPIM == INVALID_HANDLE_VALUE )
{
OpenPIM();
}
if( m_hPIM == INVALID_HANDLE_VALUE )
{
// ATTENTION!!! Display Message!!!
return( GetLastError() );
}
//
// Call The Driver To Read Current NDC Settings
//
bIOResult = DeviceIoControl(
m_hPIM,
IOCTL_DOGFW_CTL_FWMODE,
pMode,
sizeof(*pMode),
NULL,
sizeof(*pMode),
&cbBytesRet, // Bytes Returned
NULL // lpOverlapped
);
if( !bIOResult )
{
}
return( nResult );
}
DWORD ZPIMObject::AddCheckData(Interface_Keyword *pData)
{
BOOLEAN bIOResult;
DWORD cbBytesRet, nResult = ERROR_SUCCESS;
//
// Open The NDC PIM Driver, If Necessary
//
if( m_hPIM == INVALID_HANDLE_VALUE )
{
OpenPIM();
}
if( m_hPIM == INVALID_HANDLE_VALUE )
{
// ATTENTION!!! Display Message!!!
return( GetLastError() );
}
//
// Call The Driver To Read Current NDC Settings
//
bIOResult = DeviceIoControl(
m_hPIM,
IOCTL_DOGFW_CTL_CHKDATA,
pData,
sizeof(*pData)+pData->len,
NULL,
sizeof(*pData)+pData->len,
&cbBytesRet, // Bytes Returned
NULL // lpOverlapped
);
if( !bIOResult )
{
}
return( nResult );
}
DWORD ZPIMObject::CleanCheckData()
{
BOOLEAN bIOResult;
DWORD cbBytesRet, nResult = ERROR_SUCCESS;
if( m_hPIM == INVALID_HANDLE_VALUE )
{
OpenPIM();
}
if( m_hPIM == INVALID_HANDLE_VALUE )
{
// ATTENTION!!! Display Message!!!
return( GetLastError() );
}
//
// Call The Driver To Read Current NDC Settings
//
bIOResult = DeviceIoControl(
m_hPIM,
IOCTL_DOGFW_CTL_DELCHKDATA,
NULL,
0,
NULL,
0,
&cbBytesRet, // Bytes Returned
NULL // lpOverlapped
);
if( !bIOResult )
{
}
return( nResult );
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -