The problem with some IOCTLs is that the data structures MS says should be
used be with them are not the ones it passes around internally to get stuff
done... That's why the DDK has so many VOID * parameter type definitions in
its APIs and structures; so they can be cast to the internal types
explicitly without exposing those definitions to the DDK, or SDK, users. An
example of this would be the Reparse Point IOCTLs, where MS defines the
structure user code is supposed to use as header and defines two of the
internal records it uses, but doesn't document the structures used by the
other 8 or so tags it defines as being implemented by them. Even then, while
it shows the fields for symlinks and mounts, it isn't explicit about how the
variable sized data is formatted to produce all possible effects reliably.
So yes, it's the way to go, but don't be too surprised if an
under-documented field alignment issue trashes the drive.
-----Original Message-----
From: Andrew Green
Sent: Saturday, April 16, 2011 3:02 AM
To: ReactOS Development List
Subject: Re: [ros-dev] 1st stage gui installer partition manipulation
I do remember looking at IOCTLs. Someone on irc seemed to think it was
a bad idea. I can't remember why.
It seems to be the only way. Apart from manually doing it.
I suppose I can just use IOCTL_DISK_SET_DRIVE_LAYOUT_EX to set the
partitions and then it's done.
I still think you need to format using the other method after this.
The resize functionality isn't in that article. Though I'm sure it
exists, just that article is out of date.
On Sat, Apr 16, 2011 at 3:43 PM, Mr. Z <ziggyesque(a)hotmail.com> wrote:
There's not really any explicit APIs such as
FsRtlCreatePartition or
FsRtlResizePartition that I've seen either... You have to spelunk around
the
DDK to get the appropriate IOCTLs and structures used for GPT and MFT
style
drives to call ZwDeviceIoControl directly.
-----Original Message----- From: Andrew Green
Sent: Friday, April 15, 2011 10:40 PM
To: ReactOS Development List
Subject: Re: [ros-dev] 1st stage gui installer partition manipulation
I know it doesn't create partitions. Though it will allow you to
format a created partition.
Unfortunately I don't know of any api to create or delete partitions.
Though there surely is one. I just need to find it.
On Sat, Apr 16, 2011 at 5:15 AM, Eric Kohl <eric.kohl(a)t-online.de> wrote:
Hello Andrew!
AFAICS, the page you mentioned below discusses the creation of file
systems
and how to check them. It does not discuss the creation of partitions.
Regards,
Eric
Andrew Green wrote:
I have stumbled across this documentation
http://doc.sch130.nsc.ru/www.sysinternals.com/ntw2k/source/fmifs.shtml.
What it contains discusses how partitions are created. The very cool
thing is that by using FMIFS in the installer means that you can
delete,create and resize all the partitions that the disk manager
supports. This means it will make it a lot easier to add support to
both without duplicating efforts.(windows vista+ has resizing xp
doesn't seem to though)
The current text installer doesn't use this as this part of reactos
code is incomplete.
I would like to add this to my gsoc proposal. Though I know I'm
probably not going to get a place it may help me if I get a chance to
do it in the future or maybe this could give ideas to someone else who
tries.
Any thoughts or suggestions would be very much appreciated.
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev