IopMountInitializeVpb
_VPB *__stdcall IopMountInitializeVpb(
_DEVICE_OBJECT *DeviceObject,
_DEVICE_OBJECT *AttachedDevice,
UINT64 RawMountOnly,
UINT8 MountedAsRaw){
int v6;
UINT8 v8;
_VPB *v9;
KIRQL v10;
__int16 v11;
v6 = RawMountOnly;
v8 = KeAcquireQueuedSpinLock(9ui64);
v9 = (_VPB *)*((_QWORD *)DeviceObject + 7);
v10 = v8;
v11 = 1;
v9->Flags = 1;
if( v6 )
{
v11 = 17;
v9->Flags = 17;
}
if( MountedAsRaw )
v9->Flags = v11 | 0x20;
*((_BYTE *)v9->DeviceObject + 76) = *((_BYTE *)AttachedDevice + 76) + 1;
*(_QWORD *)(*((_QWORD *)v9->DeviceObject + 39) + 72i64) = v9;
IopIncrementVpbRefCount(v9, 0);
KeReleaseQueuedSpinLock(9ui64, v10);
return v9;
}Referenced by:
IopMountVolume