IoSetPartitionInformation

NTSTATUS __stdcall IoSetPartitionInformation(
        PDEVICE_OBJECT DeviceObject,
        ULONG SectorSize,
        ULONG PartitionNumber,
        ULONG PartitionType){
  BYTE v5; 
  NTSTATUS v7; 
  struct _SET_PARTITION_INFORMATION_EX v9; 
  __int64 v10[46]; 
  v5 = PartitionType;
  SC_DISK::SC_DISK((SC_DISK *)v10);
  v10[44] = 0i64;
  v10[0] = (__int64)&NT_DISK::`vftable';
  *((_DWORD *)&v9.PartitionStyle + 1) = 0;
  memset((INT64)(&v9.Mbr + 1), 0i64);
  v9.PartitionStyle = PARTITION_STYLE_MBR;
  v9.Mbr.PartitionType = v5;
  v7 = NT_DISK::Initialize((NT_DISK *)v10, DeviceObject);
  if( v7 >= 0 )
    v7 = SC_DISK::SetPartition((SC_DISK *)v10, PartitionNumber, &v9);
  v10[0] = (__int64)&NT_DISK::`vftable';
  SC_DISK::~SC_DISK((SC_DISK *)v10);
  return v7;
}

Referenced by:

No references.