123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #pragma once
- // 下列 ifdef 块是创建使从 DLL 导出更简单的
- // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SSDT_EXPORTS
- // 符号编译的。在使用此 DLL 的
- // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
- // SSDT_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
- // 符号视为是被导出的。
- #ifdef SSDT_EXPORTS
- #define SSDT_API __declspec(dllexport)
- #else
- #define SSDT_API __declspec(dllimport)
- #endif
- //
- //// 此类是从 ssdt.dll 导出的
- //class SSDT_API Cssdt {
- //public:
- // Cssdt(void);
- // // TODO: 在此添加您的方法。
- //};
- //
- //extern SSDT_API int nssdt;
- #include "ListStruct.h"
- #ifdef WIN_64BIT
- #ifdef _DEBUG
- #pragma comment(lib, "ssdtX64.lib")
- #else
- #pragma comment(lib, "ssdtX64D.lib")
- #endif
- #else
- #ifdef _DEBUG
- #pragma comment(lib, "ssdtD.lib")
- #else
- #pragma comment(lib, "ssdt.lib")
- #endif
- #endif
- 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
- }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;
- //local info
- SSDT_API GeneralDataObject Ssdt_GetLocalHostDrvResource(void);
- SSDT_API const wchar_t* Ssdt_GetLocalHostMachineID();
- SSDT_API const wchar_t* Ssdt_GetLocalHostEbusID();
- //get data object info
- SSDT_API FILEOPERATION Ssdt_GetFileOperation(GeneralDataObject &obj);
- SSDT_API PACKETTYPE Ssdt_GetPacketType(GeneralDataObject &obj);
- SSDT_API GeneralDataObject Ssdt_GetPacketArgs(GeneralDataObject &obj);
- SSDT_API GeneralDataObject Ssdt_GetPacketRetStatus(GeneralDataObject &obj);
- SSDT_API const wchar_t* Ssdt_GetDesEbusID(GeneralDataObject &obj);
- //check packet
- SSDT_API bool Ssdt_CheckPacketHandle(GeneralDataObject &obj,const wchar_t *pEBusID,bool IntoKernel);
- SSDT_API bool Ssdt_CheckPacketObjectIntegrity_Format(GeneralDataObject &obj,const wchar_t *pEBusID,bool IntoKernel);
- SSDT_API bool Ssdt_CheckPacketObjectIntegrity(GeneralDataObject &obj,const wchar_t *pEBusID, DWORD dwCommand,bool IntoKernel);
- //pass packet
- SSDT_API bool Ssdt_PassPacket(GeneralDataObject &obj,bool toeBus = false);
|