Win7上sfilter的SfFsControlMountVolumeComplete代码 里的有关问题

Win7下sfilter的SfFsControlMountVolumeComplete代码 里的问题
一楼先贴代码

NTSTATUS SfFsControlMountVolumeComplete (
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp,
    IN PDEVICE_OBJECT NewDeviceObject)
{
    PVPB vpb;
    PSFILTER_DEVICE_EXTENSION newDevExt;
    PIO_STACK_LOCATION irpSp;
    PDEVICE_OBJECT attachedDeviceObject;
    NTSTATUS status;
    BOOLEAN justAttached = FALSE;

#if 1  // 要在底层文件系统mount完后,检测其是否是移动设备的
DWORD dwPos = 0;
char buf[256] = {0,0};
WCHAR wzLocalDrive[256] = {0, 0};
HANDLE ntFileHandle;
OBJECT_ATTRIBUTES  oaVolumeDeviceAttributes;
STORAGE_DEVICE_DESCRIPTOR *pDevDesc = (STORAGE_DEVICE_DESCRIPTOR*)buf;
IO_STATUS_BLOCK IoStatusBlock;
BOOL bFindLocalDisk = FALSE;
#endif

    PAGED_CODE();
    newDevExt = NewDeviceObject->DeviceExtension;
    irpSp = IoGetCurrentIrpStackLocation( Irp );

    vpb = newDevExt->NLExtHeader.StorageStackDeviceObject->Vpb;

    if (vpb != irpSp->Parameters.MountVolume.Vpb) 
{
        SF_LOG_PRINT( SFDEBUG_DISPLAY_ATTACHMENT_NAMES,
                      ("SFilter!SfFsControlMountVolume:    VPB in IRP stack changed  %p IRPVPB=%p VPB=%p\n",
                       vpb->DeviceObject,
                       irpSp->Parameters.MountVolume.Vpb,
                       vpb) );
    }

    //  看看是否mount成功.
    if (NT_SUCCESS( Irp->IoStatus.Status )) 
{
        SF_LOG_PRINT( SFDEBUG_DISPLAY_ATTACHMENT_NAMES,
                      ("SFilter!SfFsControlMountVolume:    Mount volume success for  %p \"%wZ\", status=%08x\n",
                       DeviceObject,
                       &newDevExt->NLExtHeader.DeviceName,
                       Irp->IoStatus.Status) );

        ExAcquireFastMutex( &gSfilterAttachLock );

        if (!SfIsAttachedToDevice( vpb->DeviceObject, &attachedDeviceObject )) 
{
if(IS_WINDOWSVISTA_OR_LATER()) {
// 在这里加入判断介质类型
SF_LOG_PRINT_VISTA( SFDEBUG_DISPLAY_JIM1, \