Freigeben über


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
S_OK
Die Partition wurde erfolgreich erstellt.
VDS_E_NO_MEDIA
0x80042412L
Auf einem Wechseldatenträger befinden sich keine Medien.
VDS_E_DISK_IS_READ_ONLY
0x8004280BL
Die Partition konnte nicht erstellt werden, da der Datenträger schreibgeschützt ist.
VDS_E_INVALID_OPERATION
0x80042415L
Dieser Vorgang wird von den Medien nicht unterstützt. Beispielsweise kann der Aufrufer keine Partition auf einer CD-ROM erstellen.
VDS_E_NOT_SUPPORTED
0x80042400L
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.
VDS_E_PARTITION_LIMIT_REACHED
0x80042407L
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.
VDS_S_UPDATE_BOOTFILE_FAILED
0x00042434L
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:

  1. Löschen Sie das schreibgeschützte Bit. (Dies ist das VDS_DF_READ_ONLY-Flag in der VDS_DISK_PROP-Struktur .)
  2. 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

Weitere Informationen

IVdsAdvancedDisk::CreatePartition

IVdsAsync

IVdsCreatePartitionEx