CreateNtmsMediaA-Funktion (ntmsapi.h)

[Wechselmedien-Manager ist ab Windows 7 und Windows Server 2008 R2 nicht mehr verfügbar.]

Die CreateNtmsMedia-Funktion erstellt eine PMID und Seiten (oder Seiten) für ein neues Offlinemedium. Die Medien werden in dem für lpPhysicalMedia angegebenen Medienpool platziert.

Syntax

DWORD CreateNtmsMediaA(
  [in] HANDLE                    hSession,
  [in] LPNTMS_OBJECTINFORMATIONA lpMedia,
  [in] LPNTMS_OBJECTINFORMATIONA lpList,
  [in] DWORD                     dwOptions
);

Parameter

[in] hSession

Handle für die von der OpenNtmsSession-Funktion zurückgegebene Sitzung.

[in] lpMedia

Zeiger auf eine NTMS_OBJECTINFORMATION Struktur, die Informationen über das zu erstellende Medium enthält. Eine Beschreibung der anwendbaren Member finden Sie unter Hinweise.

[in] lpList

Zeiger auf eine NTMS_OBJECTINFORMATION-Struktur , die ein Array von Seiten angibt, die dem Medium zugeordnet sind. Eine Beschreibung der anwendbaren Member finden Sie unter Hinweise.

[in] dwOptions

Optionen. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
0
Standardwert. Ermöglicht die Erstellung eines doppelten Mediums mit einer doppelten OMID.
NTMS_ERROR_ON_DUPLICATE
Gibt einen Fehler zurück und erstellt das Medium nicht, wenn bereits ein Medium mit der angegebenen OMID im System vorhanden ist.

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
NTMS_MODIFY_ACCESS an den Computer oder den Medienpool des Mediums wird verweigert. Andere Sicherheitsfehler sind möglich, weisen jedoch auf einen Sicherheitssubsystemfehler hin.

Windows XP: NTMS_CONTROL_ACCESS zum Medienpool oder NTMS_MODIFY_ACCESS zur Offlinebibliothek wird verweigert. Andere Sicherheitsfehler sind möglich, weisen jedoch auf einen Sicherheitssubsystemfehler hin.

ERROR_DATABASE_FAILURE
Auf die Datenbank kann nicht zugegriffen werden oder beschädigt werden.
ERROR_DATABASE_FULL
Die Datenbank ist voll.
ERROR_DUPLICATE_OMID
Die Option NTMS_ERROR_ON_DUPLICATE bereitgestellt wurde, und ein Medium ist bereits mit dieser OMID vorhanden.
ERROR_INVALID_HANDLE
Das Sitzungshandle fehlt oder ist ungültig.
ERROR_INVALID_MEDIA
Für ein Medium mit diesem Barcode ist bereits ein Eintrag vorhanden.
ERROR_INVALID_MEDIA_POOL
Der angegebene Medienpool ist entweder nicht vorhanden oder ist kein gültiger Import- oder Anwendungspool.
ERROR_INVALID_PARAMETER
Ein Parameter fehlt, oder die Objektinformationsgröße oder der Objekttyp ist ungültig.
ERROR_MEDIA_INCOMPATIBLE
Die Anzahl der angegebenen Seiten stimmt nicht mit der Anzahl der Seiten überein, die dem Medientyp des Medienpools zugeordnet sind.
ERROR_NOT_ENOUGH_MEMORY
Fehler bei der Speicherbelegung während der Verarbeitung.
ERROR_SUCCESS
Die Funktion wurde erfolgreich ausgeführt.

Hinweise

Der lpMedia-Parameter muss auf eine NTMS_OBJECTINFORMATION-Struktur verweisen, deren dwType-Parameter NTMS_PHYSICAL_MEDIA ist. Im Folgenden ist eine Liste der Elemente und Beschreibungen für die NTMS_OBJECTINFORMATION-Struktur aufgeführt.

Member BESCHREIBUNG
dwSize [in] CreateNtmsMedia überprüft, ob diese Größe der Länge einer NTMS_OBJECTINFORMATION-Struktur entspricht, die eine NTMS_PMIDINFORMATION-Struktur enthält. Es wird ERROR_INVALID_PARAMETER zurückgegeben, wenn die Größe falsch ist.
dwType [in] CreateNtmsMedia überprüft, ob der Wert NTMS_PHYSICAL_MEDIA angegeben wurde. Es wird ERROR_INVALID_PARAMETER zurückgegeben, wenn der angegebene Typ falsch ist.
Erstellt [out] Gibt an, zu welcher Zeit das physische Medienobjekt in die NTMS-Datenbank eingegeben wurde.
Geändert [out] Gibt an, zu welcher Zeit das physische Medienobjekt in die NTMS-Datenbank eingegeben wurde.
Objectguid [in/out] Eindeutiger Bezeichner für das physische Medienobjekt (PMID). Wenn ein Wert ungleich NULL angegeben wird, wird der Wert als GUID des physischen Mediums verwendet, andernfalls wird eine GUID generiert.
Aktiviert [in] Gibt an, ob das physische Medium aktiviert werden soll.
dwOperationalState [out] Muss NTMS_READY sein.
szName [in/out] CreateNtmsMedia ermöglicht es einer Anwendung, den Namen eines neuen physischen Mediums anzugeben. Dadurch kann die Anwendung weiterhin den Namen eines Mediums verwenden, nachdem es von einem RSM-Computer auf einen anderen verschoben wurde. Die RSM-Standardbenennungsauswahl lautet: für einseitig: Barcode, dann Label Info-Wert oder Sequenznummer;. für mehrseitige Mediencode und dann Sequenznummer.

Beachten Sie, dass der Name, der auf der RSM-Benutzeroberfläche für eine Partition angezeigt wird, dieser Name ist (der Dem physischen Medienobjekt zugewiesene Name).

szDescription [in] Ein optionaler Parameter, der mithilfe von CreateNtmsMedia festgelegt werden kann. Geben Sie die leere Zeichenfolge ("\0") an, um zu vermeiden, dass ein Wert für die Beschreibung übergeben wird.
 

Im Folgenden ist eine Liste der Elemente und Beschreibungen für die NTMS_PMIDINFORMATION-Struktur aufgeführt.

Member BESCHREIBUNG
CurrentLibrary [in] Muss entweder der NULL_GUID oder die GUID der Offlinebibliothek sein.
MediaPool [in] Muss die GUID eines gültigen Import- oder Anwendungspools sein.

CreateNtmsMedia überprüft, ob dies die GUID eines gültigen Import- oder Anwendungspools ist. Außerdem wird überprüft, ob die Anzahl der bereitgestellten Partitionen für den Diesem Medienpool zugeordneten Medientyp korrekt ist.

Location [out] Muss die NULL_GUID sein.
LocationType [out] Muss NTMS_STORAGESLOT sein.
HomeSlot [out] Muss die NULL_GUID sein.
Mediatype [out] CreateNtmsMedia legt den Medientyp auf den Medientyp fest, der dem bereitgestellten Medienpool zugeordnet ist.
szBarCode [in/out] Der Barcode wird von allen Endzeichen entfernt. CreateNtmsMedia führt keine weiteren Versuche durch, die Gültigkeit des Barcodes zu überprüfen.
BarCodeState [out] BarCodeState wird auf NTMS_BARCODESTATE_UNREADABLE festgelegt, wenn der für szBarCode übergebene Wert eine leere Zeichenfolge ist, andernfalls wird er auf NTMS_BARCODESTATE_OK festgelegt.
szSequenceNumber [out] CreateNtmsMedia weist dem neu erstellten Medium eine Sequenznummer zu, die in diesem Member zurückgegeben wird.
MediaState [out] CreateNtmsMedia legt MediaState auf NTMS_MEDIASTATE_IDLE fest.
dwNumberOfPartitions [in] Definiert die Anzahl der NTMS_OBJECTINFORMATION Strukturen, die Seiten für dieses Medium darstellen. CreateNtmsMedia überprüft, ob die angegebene Seitenanzahl mit der Anzahl der Seiten übereinstimmt, die vom Medienpool impliziert werden, dem sie zugewiesen werden soll. Wenn sie nicht übereinstimmen, wird ERROR_MEDIA_INCOMPATIBLE zurückgegeben.
dwMediaTypeCode [in] SCSI-Medientypcode.

Dieses Element wird nicht von RSM verwendet, kann aber von Anwendungen verwendet werden, die in RSM geschrieben wurden, um zusätzliche Informationen über die Medien zu erhalten. Eine Beschreibung der Einstellung dieses Members finden Sie in der SCSI-Spezifikation des Hardwareherstellers für mögliche Einstellungen.

RSM aktualisiert diesen Member, wenn das neu importierte Medium zum ersten Mal eingebunden wird.

dwDensityCode [in] SCSI-Dichtecode.

Dieses Element wird nicht von RSM verwendet, kann aber von Anwendungen verwendet werden, die in RSM geschrieben wurden, um zusätzliche Informationen über die Medien zu erhalten. Eine Beschreibung der Einstellung dieses Members finden Sie in der SCSI-Spezifikation des Hardwareherstellers für mögliche Einstellungen.

RSM aktualisiert dieses Element, wenn das neu importierte Medium zum ersten Mal eingebunden wird.

 

Der lpList-Parameter muss auf eine NTMS_OBJECTINFORMATION-Struktur verweisen, deren dwType mit den folgenden Informationen NTMS_PARTITION ist.

Member BESCHREIBUNG
dwSize [in] CreateNtmsMedia überprüft, ob die angegebene Größe der erwarteten Länge einer NTMS_OBJECTINFORMATION-Struktur entspricht, die eine NTMS_PARTITIONINFORMATION-Struktur enthält. Es wird ERROR_INVALID_PARAMETER zurückgegeben, wenn die Größe falsch ist.
dwType [in] CreateNtmsMedia überprüft, ob der Wert NTMS_PARTITION angegeben wurde. Es wird ERROR_INVALID_PARAMETER zurückgegeben, wenn der angegebene Typ falsch ist.
Erstellt [out] Gibt den Zeitpunkt an, zu dem das Partitionsobjekt in die RSM-Datenbank eingegeben wurde.
Geändert [out] Gibt den Zeitpunkt an, zu dem das Partitionsobjekt in die RSM-Datenbank eingegeben wurde.
Objectguid [in/out] Eindeutiger Bezeichner für die Seite. Wenn ein Wert ungleich NULL angegeben wird, wird der Wert als GUID der Seite verwendet. Andernfalls wird eine GUID generiert.
Aktiviert [in] Bestimmt, ob die Seite aktiviert werden soll.
dwOperationalState [out] Muss NTMS_READY sein.
szName [in] Name einer neuen Seite.
szDescription [in] Optionaler Parameter, der mithilfe von CreateNtmsMedia festgelegt werden kann. Geben Sie die leere Zeichenfolge ("\0") an, um zu vermeiden, dass ein Wert für die Beschreibung übergeben wird.
PhysicalMedia [out] GUID des neu erstellten Seitenobjekts.
LogicalMedia [in/out] Optionaler Eingabeparameter sowie ein Ausgabeparameter. Wenn die GUID bereitgestellt wird, versucht CreateNtmsMedia , ein neues logisches Medienobjekt mit der vorab zugewiesenen GUID zu erstellen. Wenn die GUID nicht eindeutig ist, gibt CreateNtmsMedia einen Fehler zurück.
State [in] Jeder gültige Seitenzustand.
Seite [out] CreateNtmsMedia legt die Seitenzahl auf ihren Offset im Partitions-Array fest.
dwOmidLabelIdLength [in] Muss ein positiver Wert sein.

CreateNtmsMedia verwendet dwOmidLabelIdLength , um die Anzahl signifikanter Bytes im OmidLabelId-Element zu bestimmen. Wenn der Wert nicht korrekt ist, ist die aufgezeichnete OmidLabelId falsch.

OmidLabelId [in] Muss eine gültige Medienbezeichnung sein, die von einer installierten MLL erkannt werden kann.
szOmidLabelType [in] Darf keine leere Zeichenfolge sein.
szOmidLabelInfo [in] Kann die leere Zeichenfolge sein.
dwMountCount [in] Jeder Wert wird akzeptiert.
dwAllocateCount [in] Jeder Wert wird akzeptiert.
Capacity [in] SCSI-Kapazitätscode.

Dieses Element wird nicht von RSM verwendet, kann aber von Anwendungen verwendet werden, die in RSM geschrieben wurden, um zusätzliche Informationen über die Medien zu erhalten. Eine Beschreibung der Einstellung dieses Members finden Sie in der SCSI-Spezifikation des Hardwareherstellers für mögliche Einstellungen.

RSM aktualisiert diesen Member, wenn das neu importierte Medium zum ersten Mal eingebunden wird.

 

Hinweis

Der ntmsapi.h-Header definiert CreateNtmsMedia als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ntmsapi.h
Bibliothek Ntmsapi.lib
DLL Ntmsapi.dll

Weitere Informationen

Media Services-Funktionen