📄 vxdmain.h
字号:
/***************************************************************
* Header file to emit DDB for VxD generated by VxDWriter. *
* *
* Copyright (c) 1997 by Somnath Kundu. All Rights Reserved. *
****************************************************************/
#ifndef _VXDMAIN_H
#define _VXDMAIN_H
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(1)
#pragma VxD_LOCKED_DATA_SEG
void _cdecl __CtlDispatch (void);
void _cdecl __Ctl_v86_api (void);
void _cdecl __Ctl_pm_api (void);
#if defined V86_API_PROC
API_PROC *__V86_API_Proc = &V86_API_PROC;
#define V86_Proc (ULONG)__Ctl_v86_api
#else
#define V86_Proc 0
#endif
#if defined PM_API_PROC
API_PROC *__PM_API_Proc = &PM_API_PROC;
#define PM_Proc (ULONG)__Ctl_pm_api
#else
#define PM_Proc 0
#endif
#if defined CREATE_SERVICE_TABLE
#define BEGIN_SERVICE_TABLE_MAP() \
void *__ServiceTable[] = {
#define END_SERVICE_TABLE_MAP() \
};
#define SRV_TAB_PTR (ULONG)__ServiceTable
#define SRV_TAB_LEN (sizeof(__ServiceTable)/sizeof(__ServiceTable[0]))
#else
#define SRV_TAB_PTR 0
#define SRV_TAB_LEN 0
#endif
#ifndef REFERENCE_DATA
#define REFERENCE_DATA_PTR 0
#else
#define REFERENCE_DATA_PTR ((DWORD)&REFERENCE_DATA)
#endif
#if defined(DEBUG) || defined(_DEBUG)
#define DEBUG_SIG(VxD_Name) \
static char *__DEBUG_SIG = {"\x0D\x0A\x44_E_B_U_G===>"#VxD_Name"<===\x0D\x0A"};
#else
#define DEBUG_SIG(VxD_Name)
#endif
// struct VxD_Desc_Block VxD_Name##_DDB = \
#define DECLARE_VIRTUAL_DEVICE(VxD_Name) DEBUG_SIG(VxD_Name) \
struct VxD_Desc_Block thisDDB = \
{0,DDK_VERSION,VxD_Name##_DEVICE_ID,VxD_Name##_MAJOR_VER, \
VxD_Name##_MINOR_VER, 0,#VxD_Name,VxD_Name##_INIT_ORDER, \
(ULONG)__CtlDispatch,V86_Proc,PM_Proc,0,0,REFERENCE_DATA_PTR, \
SRV_TAB_PTR,SRV_TAB_LEN,0,0x50726576, \
sizeof(struct VxD_Desc_Block),0x52737631,0x52737632,0x52737633}; \
#define BEGIN_CONTROL_DISPATCH_MAP(VxD_Name) \
DECLARE_VIRTUAL_DEVICE(VxD_Name) \
struct { \
DWORD Message; \
CONTROL_PROC *MsgProc; \
} __CtlDispatchTable[] = { \
#define END_CONTROL_DISPATCH_MAP() \
}; \
DWORD __CtlDispatchTableSize = \
sizeof(__CtlDispatchTable)/sizeof(__CtlDispatchTable[0]);
#pragma pack()
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -