IVdsCreatePartitionEx::CreatePartitionEx-Methode (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]
Erstellt eine Partition auf einem Einfachen Datenträger.
Diese Methode ersetzt die IVdsAdvancedDisk::CreatePartition-Methode .
Syntax
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
Parameter
[in] ullOffset
Der Partitionsoffset in Bytes. Wenn der Offset nicht ausgerichtet und der ulAlign-Parameter nicht angegeben wird, wird der Offset je nach Größe des Datenträgers, auf dem die Partition erstellt wird, auf die nächstgelegene Ausrichtungsgrenze aufgerundet oder heruntergerundet. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Windows Server 2003: Nur die erste Partition auf einem Basisdatenträger kann ausgerichtet werden. dynamische Datenträger können nicht ausgerichtet werden. Für andere Partitionen auf einem Basisdatenträger können Sie die Ausrichtung nicht mit dem ulAlign-Parameter angeben. der Offset wird auf die nächstgelegene Zylindergrenze für MBR-Datenträger (Master Boot Record) oder auf die nächstgelegene Sektorgrenze für GPT-Datenträger (GUID Partition Table) gerundet.
Wenn der Aufrufer sowohl die Parameter ullOffset als auch ulAlign angibt, muss sich der Offset innerhalb des ersten Zylinders sein.
[in] ullSize
Die Größe der neuen Partition in Bytes.
[in] ulAlign
Die Ausrichtungsgröße in Bytes.
Windows Server 2003: Wenn dieser Parameter angegeben wird, rundet der Anbieter den Partitionsoffset auf die nächstgelegene Ausrichtungsgrenze auf. andernfalls bis zur nächstgelegenen Zylindergrenze.
Wenn der Anfang eines Datenträgers über genügend Speicherplatz für die Partitionsgröße verfügt und der ulAlign-Parameter angegeben ist, der ullOffset-Parameter jedoch nicht, schlägt der Aufruf von CreatePartitionEx fehl.
[in] para
Der Zeiger auf Parameter, die von der CREATE_PARTITION_PARAMETERS-Struktur definiert werden.
[out] ppAsync
Die Adresse eines IVdsAsync-Schnittstellenzeigers , der von VDS bei der Rückgabe initialisiert wird. Aufrufer müssen die Schnittstelle freigeben. Verwenden Sie diesen Zeiger, um den status des Vorgangs abzubrechen, abzuwarten oder abzufragen.
Rückgabewert
Diese Methode kann HRESULT-Standardwerte wie E_INVALIDARG oder E_OUTOFMEMORY und VDS-spezifische Rückgabewerte zurückgeben. Es kann auch konvertierte Systemfehlercodes mithilfe des HRESULT_FROM_WIN32-Makros zurückgeben. Fehler können vom VDS selbst oder vom zugrunde liegenden VDS-Anbieter stammen, der verwendet wird. Folgende Rückgabewerte sind möglich.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Partition wurde erfolgreich erstellt. |
|
Auf einem Wechseldatenträger befinden sich keine Medien. |
|
Die Partition konnte nicht erstellt werden, da der Datenträger schreibgeschützt ist. |
|
Dieser Vorgang wird von den Medien nicht unterstützt. Beispielsweise kann der Aufrufer keine Partition auf einer CD-ROM erstellen. |
|
Das Erstellen einer zweiten Partition auf Wechselmedien wird nicht unterstützt. Alternativ gibt dieser Fehler an, dass der Datenträger ein dynamischer Datenträger ist. |
|
Die maximale Anzahl von Partitionen (primäre Partitionen oder primäre Partitionen mit einer erweiterten Partition) ist bereits vorhanden, wenn der Aufrufer versucht, eine zusätzliche primäre Partition oder erweiterte Partition zu erstellen. |
|
Die Partition wurde erfolgreich erstellt, aber VDS konnte die Startoptionen im BCD-Speicher (Boot Configuration Data) nicht aktualisieren.
Windows Server 2003: Startoptionen werden in der boot.ini-Datei auf einem x86- oder x64-System oder NVRAM auf einem Itanium-System gespeichert. |
Hinweise
Diese Methode funktioniert auf Basisdatenträgern mit einem GPT- oder MBR-Partitionsschema.
Windows Server 2003: Aufrufer können nur die erste Partition eines MBR-Datenträgers ausrichten und müssen den Startoffset im ersten Zylinder oder am Anfang des zweiten Zylinders an der Zylindergrenze platzieren.
Wenn der ullOffset-Parameter angegeben ist und sein Wert nicht bereits mithilfe der Werte unter dem Registrierungsunterschlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vds\Alignment ausgerichtet ist, wird sein Wert automatisch mit den folgenden Werten ausgerichtet: Die Standardausrichtung ist 1 MB, wenn der Datenträger 4 GB oder größer ist, oder 64 KB, wenn der Datenträger kleiner als 4 GB ist.
Windows Server 2003: Nicht ausgerichtete Partitionsoffsets werden auf die nächstgelegene Zylindergrenze für MBR-Datenträger oder auf die nächstgelegene Sektorgrenze für GPT-Datenträger gerundet.
Wenn ein dynamischer Datenträger schreibgeschützt und offline ist, muss er lese-/schreibgeschützt und wie folgt online geschaltet werden, bevor CreatePartitionEx aufgerufen wird:
- Löschen Sie das schreibgeschützte Bit. (Dies ist das VDS_DF_READ_ONLY-Flag in der VDS_DISK_PROP-Struktur .)
- Rufen Sie die IVdsDiskOnline::Online-Methode auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vds.h |
Bibliothek | Uuid.lib |