IopReferenceVerifyVpb

UINT8 __stdcall IopReferenceVerifyVpb(_DEVICE_OBJECT *DeviceObject, _VPB **Vpb, _DEVICE_OBJECT **FsDeviceObject){
  UINT8 v4; 
  UINT8 v7; 
  _VPB *v8; 
  UINT8 v9; 

  v4 = 0;
  v7 = KeAcquireQueuedSpinLock(9i64, (INT64)Vpb, (INT64)FsDeviceObject);
  v8 = DeviceObject->Vpb;
  v9 = v7;
  *Vpb = 0i64;
  *FsDeviceObject = 0i64;
  if( v8 && (v8->Flags & 1) != 0 )
  {
    *FsDeviceObject = v8->DeviceObject;
    v4 = 1;
    *Vpb = v8;
    IopIncrementVpbRefCount(v8, 0);
  }
  KeReleaseQueuedSpinLock(LockQueueIoVpbLock, v9);
  return v4;
}

Referenced by:

IoVerifyVolume