Ich musste die Festplatteninitialisierung, Partitionierung und Formatierung für eines der Produkte meines Unternehmens implementieren. Den Code kann ich nicht teilen, aber ich kann Ihnen in die richtige Richtung zeigen.
Die von Ihnen benötigte API heißt VDS - Virtual Disk Service. Es handelt sich um eine COM-API, die ich erfolgreich aus C++ (mit ATL) und C# (COM Interop) verwendet habe.
Leider ist die Dokumentation ziemlich lückenhaft; man muss sich einfach in das Objektmodell vertiefen, etwas Code schreiben und sich allmählich damit vertraut machen.
Windows Server 2008 wird mit einem nicht dokumentierten, aber ziemlich brauchbaren C#-Wrapper für VDS ausgeliefert. Suchen Sie nach einer DLL namens Microsoft.Storage.Vds.dll. Mit Reflector können Sie deren verschiedene Klassen und Methoden entdecken. Ich habe davon erfahren, als ich diesen Blog-Beitrag gelesen habe, in dem der Autor versucht, eine Festplatte über PowerShell mithilfe der genannten DLL zu initialisieren.
Der VDS enthält APIs, die von SAN-Anbietern implementiert werden könnten, um eine LUN bereitzustellen und andere SAN-Vorgänge durchzuführen; ich empfehle Ihnen, diese zu vermeiden und sich auf den grundlegenden Softwareanbieter zu konzentrieren, der grundlegende (im Gegensatz zu dynamischen) Partitionen auf entweder einer MBR- oder GPT-Festplatte erstellen wird. Beachten Sie, dass der erwähnte Microsoft-Wrapper etwas wenig Unterstützung für GPT bietet; ich musste ihn ein wenig anpassen, um GPT-Festplatten zum Laufen zu bringen.
Der VDS ist eine komplexe und zickige API, aber wenn Sie nur eine Festplatte initialisieren, eine Partition erstellen, sie formatieren und einem Laufwerksbuchstaben zuweisen möchten, haben Sie das meiste, was Sie brauchen, da und recht einfach zu erledigen. Viel Glück.