123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- #pragma once
- #include "ResDataObject.h"
- #ifdef DRIVERAPI_EXPORTS
- #define DRIVERAPI_API __declspec(dllexport)
- #else
- #define DRIVERAPI_API __declspec(dllimport)
- #endif
- typedef enum _File_Op_Mode {
- FILE_OP_MODE_SYNC,
- FILE_OP_MODE_ASYNC,
- FILE_OP_MODE_MAX
- }FILE_OP_MODE;
- typedef enum _File_Flags {
- FILE_FLAG_ERROR,
- FILE_FLAG_READ = 1,
- FILE_FLAG_WRITE = 2,
- FILE_FLAG_NOTIFY = 4,
- FILE_FLAG_IMAGE = 8,
- FILE_FLAG_MODIFY = 16,
- FILE_FLAG_ACTION = 32,
- FILE_FLAG_MAX = 64,
- FILE_FLAG_ALLACCESS = FILE_FLAG_MAX-1
- }FILEFLAGS;
- typedef enum _File_Operation {
- FILE_OP_ERROR,
- FILE_OP_OPEN,
- FILE_OP_READ,
- FILE_OP_WRITE,
- FILE_OP_CLOSE,
- FILE_OP_NOTIFY,
- FILE_OP_IOCTL,
- FILE_OP_MAX
- }FILEOPERATION;
- typedef enum _Packet_Type {
- PACKET_TYPE_ERROR,
- PACKET_TYPE_REQUEST,
- PACKET_TYPE_RESPONSE,
- PACKET_TYPE_MAX
- }PACKETTYPE;
- typedef enum _Packet_Ret_Code {
- PACKET_RET_ERROR,
- PACKET_RET_OK,
- PACKET_RET_WARNING,
- PACKET_RET_MAX
- }PACKETRETCODE;
- //packet definition of level1
- #define PACKETIDDEF (L"packetid")
- #define PACKETOPERATIONDEF (L"operation")
- #define PACKETTYPEDEF (L"packettype")
- #define PACKETHANDLEDEF (L"handle")
- #define PACKETARGSDEF (L"args")
- #define PACKETSTATUSDEF (L"status")
- //packet definition of level2
- //handle definition
- #define HANDLE_DEVPATHDEF (L"devpath")
- #define HANDLE_FLAGSDEF (L"flags")
- #define HANDLE_LANGDEF (L"lang")
- #define HANDLE_OWNERIDDEF (L"ownerid")
- #define HANDLE_HANDLEIDDEF (L"handleid")
- //args.arg definition
- #define ARGS_ARGDEF (L"arg")
- //status.ret definition
- #define STATUS_RETDEF (L"ret")
- //packet definition of level3
- //handle identify
- #define ID_MACHINEDEF (L"machineid")
- #define ID_EBUSDEF (L"ebusid")
- #define ID_PROCESSDEF (L"pid")
- #define ID_THREADDEF (L"tid")
- //arg
- #define ARG_ARGCMDDEF (L"argcmd")
- #define ARG_ARGRESDEF (L"argres")
- #define ARG_ARGPARAMSDEF (L"argparams")
- //ret
- #define RET_CODEDEF (L"code")
- #define RET_MSGDEF (L"msg")
- //packet definition of level4
- #define ARGCMD_ADDDEF (L"add")
- #define ARGCMD_DELDEF (L"del")
- #define ARGCMD_UPDATEDEF (L"update")
- #define ARGCMD_GETDEF (L"get")
- #define ARGCMD_EXECDEF (L"exec")
- class DRIVERAPI_API ResourceObject
- {
- public:
- ResourceObject(void);
- ~ResourceObject(void);
- static size_t GetDeviceCount(ResDataObject &ResourceObject);
- };
- class DRIVERAPI_API HandleObject
- {
- public:
- HandleObject(void);
- ~HandleObject(void);
- static const wchar_t* GetDevPath(ResDataObject &handleobj);
- static FILEFLAGS GetFileFlags(ResDataObject &handleobj);
- static const wchar_t* GetLang(ResDataObject &handleobj);
- static ResDataObject &GetOwnerID(ResDataObject &handleobj);
- static ResDataObject &GetHandleID(ResDataObject &handleobj);
- //static bool CheckHandleObjectIntegrity(ResDataObject &handleobj,const wchar_t *pLocalBusID,bool Request,bool IntoKernel);
- };
- class DRIVERAPI_API PacketCmdObject
- {
- public:
- PacketCmdObject(void);
- ~PacketCmdObject(void);
- //static wstring m_file_operations[FILE_OP_MAX];
- //static wstring m_packet_types[PACKET_TYPE_MAX];
- //static wstring m_packet_retcode[PACKET_RET_MAX];
- static PACKETTYPE GetPacketType(ResDataObject &obj);
- static FILEOPERATION GetFileOperation(ResDataObject &obj);
- static ResDataObject &GetPacketHandle(ResDataObject &obj);
- static ResDataObject &GetPacketArgs(ResDataObject &obj);
- static ResDataObject &GetPacketStatus(ResDataObject &obj);
- static const wchar_t* GetHandleEbusID(ResDataObject &obj);
- static const wchar_t* GetOwnerEbusID(ResDataObject &obj);
- static bool CheckPacketObjectIntegrity(ResDataObject &obj,const wchar_t *pLocalBusID,bool IntoKernel);
- };
|