CTL_CODE说明

DeviceIoControl函数的第二个参数IoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。

CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Access(访问限制,14-15位),Function(功能2-13位),Method(I/O访问内存使用方式)。

详情:https://msdn.microsoft.com/en-us/library/ms902086.aspx

时间: 2024-10-11 19:11:35

CTL_CODE说明的相关文章

CTL_CODE 宏 详解

CTL_CODE宏 CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成: DeviceType(设备类型,高16位(16-31位)), Function(功能2-13 位), Method(I/O访问内存使用方式), Access(访问限制,14-15位). 这个宏创建一个独特的系统I/O(输入输出)控制代码(IOCTL). #define xxx_xxx_xxx CTL_CODE(DeviceType, Function, Method, Access)

“CTL_CODE”未定义

C4013 “CTL_CODE”未定义:假设外部返回 int 要加入 #include<winioctl.h> 并且要放在#include<windows.h>的后面 原文地址:https://www.cnblogs.com/elvirangel/p/8449793.html

PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)

本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已经在上篇文章中讲解)和3个.c文件(Driver.c  Device.c   Queue.c) Driver.c 在看复杂的代码前,先给出程序流程图 1 #include "driver.h" 2 #include "driver.tmh" 3 4 #ifdef ALLOC_PRAGMA 5 #pragma alloc_text (INIT, DriverEntry)

PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)

在WDF的PCIe驱动程序中,共有四个.h文件(Public.h  Driver.h  Device.h  Trace.h).本文将分别对四个文件源代码进行详细的解释. Public.h 1 #ifndef _USER_H 2 #define _USER_H 3 // 4 // Define an Interface Guid so that app can find the device and talk to it. 5 // 6 #include <initguid.h> 7 // {4

windbg使用实践2_使用windbg辅助逆向杀毒软件驱动(注册表操纵相关)

我们这里以腾讯的TSSysKit.sys驱动举例.金山的对应的驱动是kisapi.sys  .360对应的是bapidrv.sys 1 逆向相关的注册表底层操作相关的函数 (驱动的大小) 1 s -d b21c4000 L2b000 nt!cmpcallbackcount; 2 s -d b21c4000 L2b000 nt!CmDeleteKey; 3 s -d b21c4000 L2b000 nt!CmDeleteValueKey; 4 s -d b21c4000 L2b000 nt!CmE

基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序

原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别为所在课题组移植了自己编写的驱动程序,在Windows 32位和64位平台下的PXI.PXIe.PCI.PCIe板卡分别得到了验证. 这篇文章根据自己最新编写的驱动代码(源代码请找博主索取),主要讲述如何为自己的硬件板卡移植驱动程序,并简单讲述如何使用Altera系列FPGA配置PCI IP核,然后

Delphi调用安装驱动sys的单元

unit SysDriver; interface uses windows, winsvc; // jwawinsvc; Type TSysDriver = class(TObject) private HomeDir, DriverDir, DriverName, DEVICE_NAME_STRING, DriverPath : string; // the whole thing hSCMan : SC_HANDLE; // Service Control Manager hDevice

IRP 与 派遣函数

什么是派遣函数: 派遣函数是 WIndows 驱动程序中的重要概念.驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的.也就是说,派遣函数是用来处理驱动程序提交过来的 I/O 请求. 那什么是 I/O 请求呢? 上层程序与驱动程序之间通信时,上层会发出I/O请求,即输入输出请求包(I/O Request package) 用户模式下(上层)与所有驱动程序之间的I/O请求,全部由操作系统转化为一个叫 IRP 的数据结构,不同的 IRP 会被派遣到不同的派遣函数(Dis

驱动程序简单开发

我们学习程序设计,都是从“Hello World”开始的,驱动程序也不例外,今天我就写一个驱动版的“Hello World”来热热身,目的希望大家能对驱动程序的基本框架有所了解. 驱动程序分为2类,一个是Kernel模式驱动,另一个是Windows模式驱动,2种模式本质是相同,但细节不同,本文介绍的是内核模式驱动和驱动程序的安装.使用. 驱动程序同普通的EXE,DLL一样,都属于PE文件,而且都有一个入口函数.但EXE中,入口函数是main()/WinMain()和Unicode的wmain()