zoukankan      html  css  js  c++  java
  • 创建符号链接

    NTSTATUS CreateMyDevice(IN PDRIVER_OBJECT pDriverObject)
    {
        NTSTATUS status;
        PDEVICE_OBJECT pDevObj;
        PDEVICE_EXTENSION pDevExt;
    
        //创建设备名称
        UNICODE_STRING devName;
        RtlInitUnicodeString(&devName, L"\Device\My_DriverLinkName");
    
        //创建设备
        status = IoCreateDevice(pDriverObject,sizeof(DEVICE_EXTENSION),&devName,FILE_DEVICE_UNKNOWN,0, TRUE,&pDevObj);
        if (!NT_SUCCESS(status))
            return status;
    
        pDevObj->Flags |= DO_DIRECT_IO;
        pDevExt = (PDEVICE_EXTENSION)pDevObj->DeviceExtension;
        pDevExt->pDevice = pDevObj;
        pDevExt->ustrDeviceName = devName;
    
        //申请模拟文件的缓冲区
        pDevExt->buffer = (PUCHAR)ExAllocatePool(PagedPool, 1024);
        //设置模拟文件大小
        pDevExt->file_length = 0;
    
        //创建符号链接
        UNICODE_STRING symLinkName;
        RtlInitUnicodeString(&symLinkName, L"\??\My_DriverLinkName");
        pDevExt->ustrSymLinkName = symLinkName;
        status = IoCreateSymbolicLink(&symLinkName, &devName);
    
        if (!NT_SUCCESS(status))
        {
            IoDeleteDevice(pDevObj);
            return status;
        }
        return STATUS_SUCCESS;
    }
    
    
    
    删除符号链接
    UNICODE_STRING symLinkName;
    //取符号链接名字
        RtlInitUnicodeString(&symLinkName, L"\??\My_DriverLinkName");
        //删除符号链接
        IoDeleteSymbolicLink(&symLinkName);
  • 相关阅读:
    数据查询
    泰勒展开及其应用
    搜索排序算法
    因子分解机 FM
    偏差方差分解
    Softmax 损失-梯度计算
    目标检测网络之 Mask R-CNN
    目标检测网络之 R-FCN
    深度学习-conv卷积
    目标检测网络之 YOLOv3
  • 原文地址:https://www.cnblogs.com/IMyLife/p/4826187.html
Copyright © 2011-2022 走看看