zoukankan      html  css  js  c++  java
  • 编写驱动的常用函数

    ★驱动入口函数(DriverEntry)
    DriverEntry是加载驱动的函数,由系统进程调用。其原型如下:
    NTSTATUS DriverEntry(
    IN PDRIVER_OBJECT pDriverObject, // 指向系统创建的驱动对象
    IN PUNICODE_STRING pRegistryPath // 指向驱动服务键的键名
    );

    ★创建设备对象(IoCreateDevice)
    NTSTATUS IoCreateDevice(
    IN PDRIVER_OBJECT DriverObject, // 指向驱动对象
    IN ULONG DeviceExtensionSize, // 设备扩展的字节数
    IN_OPT PUNICODE_STRING DeviceName, // 设备名称,可以为NULL
    IN DEVICE_TYPE DeviceType, // 设备类型
    IN ULONG DeviceCharacteristics, // 设备对象的特征
    IN BOOLEAN Exclusive; // 设置设备对象是否在内核模式下使用,一般为TRUE
    OUT PDEVICE_OBJECT *DeviceObject // 保存创建好的设备对象的地址
    );

    ★创建符号链接(IoCreateSymbolicLink)
    NTSTATUS IoCreateSymbolicLink(
    IN PUNICODE_STRING SymbolicLinkName, // 设备的符号链接的名称
    IN PUNICODE_STRING DeviceName, // 设备名称
    );

    说明:内核模式下,符号链接以"??"开头;用户模式下,符号链接以"\."开头。如C盘:
    内核模式:"??C:";用户模式:"??C:"。

    ★删除符号链接(IoDeleteSymbolicLink)
    NTSTATUS IoDeleteSymbolicLink(
    IN PUNICODE_STRING SymbolicLinkName // 符号链接的名称
    );

    ★删除设备对象(IoDeleteDevice)
    VOID IoDeleteDevice(
    IN PDEVICE_OBJECT DeviceObject // 设备对象的指针
    );

  • 相关阅读:
    wpf 计算公式
    c#读取文件
    wpf布局控件总结
    一个接口多次使用的值得引起思考的小片段
    wpf之渐变色LinearGradientBrush
    路由
    HtmlHelper2
    HtmlHelper1
    ssh连接Ubuntu之access denied
    百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/enjoy-life-everyday/p/3472682.html
Copyright © 2011-2022 走看看