此方法适合于各种台式机笔记本
可以有效地帮助我们不换电脑也可以重新回到游戏
适合于我们的
Apex机器码
Apex一直被ban
下面有请我们的KICv老师为我们讲解彻底解决教程

NTSTATUS my_disk_handle_control(PDEVICE_OBJECT device, PIRP irp)
{
PIO_STACK_LOCATION ioc = IoGetCurrentIrpStackLocation(irp);
const unsigned long code = ioc->Parameters.DeviceIoControl.IoControlCode;
if (code == IOCTL_STORAGE_QUERY_PROPERTY)
{
if (StorageDeviceProperty == ((PSTORAGE_PROPERTY_QUERY)irp->AssociatedIrp.SystemBuffer)->PropertyId)
n_util::change_ioc(ioc, irp, my_storage_query_ioc);
}
else if (code == IOCTL_ATA_PASS_THROUGH)
n_util::change_ioc(ioc, irp, my_ata_pass_ioc);
else if (code == SMART_RCV_DRIVE_DATA)
n_util::change_ioc(ioc, irp, my_smart_data_ioc);
return g_original_disk_control(device, irp);
}
NTSTATUS my_disk_handle_control(PDEVICE_OBJECT device, PIRP irp)
{
PIO_STACK_LOCATION ioc = IoGetCurrentIrpStackLocation(irp);
const unsigned long code = ioc->Parameters.DeviceIoControl.IoControlCode;
if (code == IOCTL_STORAGE_QUERY_PROPERTY)
{
if (StorageDeviceProperty == ((PSTORAGE_PROPERTY_QUERY)irp->AssociatedIrp.SystemBuffer)->PropertyId)
n_util::change_ioc(ioc, irp, my_storage_query_ioc);
}
else if (code == IOCTL_ATA_PASS_THROUGH)
n_util::change_ioc(ioc, irp, my_ata_pass_ioc);
else if (code == SMART_RCV_DRIVE_DATA)
n_util::change_ioc(ioc, irp, my_smart_data_ioc);
return g_original_disk_control(device, irp);
}









