vividone
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2017-04-25
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望220点
  • 贡献值1点
  • 好评度6点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1607回复:1

TrueCrypt驱动的一个疑问,顺便给大家拜个年!

楼主#
更多 发布于:2009-01-25 20:40
很不解一个问题,先贴代码再说
case TC_IOCTL_GET_DRIVE_PARTITION_INFO:
        if (irpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof (DISK_PARTITION_INFO_STRUCT))
        {
            Irp->IoStatus.Status = STATUS_BUFFER_TOO_SMALL;
            Irp->IoStatus.Information = 0;
        }
        else
        {
            DISK_PARTITION_INFO_STRUCT *info = (DISK_PARTITION_INFO_STRUCT *) Irp->AssociatedIrp.SystemBuffer;
            {
                PARTITION_INFORMATION_EX pi;
                NTSTATUS ntStatus;

                EnsureNullTerminatedString (info->deviceName, sizeof (info->deviceName));

                ntStatus = TCDeviceIoControl (info->deviceName, IOCTL_DISK_GET_PARTITION_INFO_EX, NULL, 0, &pi, sizeof (pi));

它的驱动和ring3交互用的是METHOD_BUFFERED的方式   ,此时Irp->AssociatedIrp.SystemBuffer因该未初始化阿,可是它却转了型后用了里面的一个字符串,这是怎么回事?
vividone
驱动牛犊
驱动牛犊
  • 注册日期2007-11-24
  • 最后登录2017-04-25
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望220点
  • 贡献值1点
  • 好评度6点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2009-02-22 18:19
我终于知道为什么没人回这个帖了,其实我因该是这么说的"给大家拜个年,顺便问个问题"
游客

返回顶部