apptovxd.cpp

来自「本tkyc使用Quick VxD 生成了一个动态加载的“Hello world”」· C++ 代码 · 共 47 行

CPP
47
字号
// APPTOVXD.cpp - main module for VxD APPTOVXD

#define DEVICE_MAIN
#include "apptovxd.h"
Declare_Virtual_Device(APPTOVXD)
#undef DEVICE_MAIN

ApptovxdVM::ApptovxdVM(VMHANDLE hVM) : VVirtualMachine(hVM) {}

ApptovxdThread::ApptovxdThread(THREADHANDLE hThread) : VThread(hThread) {}

BOOL ApptovxdDevice::OnSysDynamicDeviceInit()
{
	return TRUE;
}

BOOL ApptovxdDevice::OnSysDynamicDeviceExit()
{
	return TRUE;
}

DWORD ApptovxdDevice::OnW32DeviceIoControl(PIOCTLPARAMS pDIOCParams)
{
	int   n;
	int   i;
    int   f;
	switch (pDIOCParams->dioc_IOCtlCode)
	{
	case DIOC_OPEN:
	    return 0;
	case DIOC_CLOSEHANDLE:
	    return 0;
	case FACTORIAL:
		n=*(int *)pDIOCParams->dioc_InBuf; //得到应用程序传来的数据
		f=1;
		for(i=1;i<=n;i++)                  //完成阶乘的计算
		{
			f=f*i;
		}
	    *(int *)pDIOCParams->dioc_OutBuf=f;//将结果传给应用程序
		return 0;
	default:
		return -1;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?