Freigeben über


CreateNtmsMediaPoolA-Funktion (ntmsapi.h)

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

Die CreateNtmsMediaPool-Funktion erstellt einen neuen Anwendungsmedienpool.

Syntax

DWORD CreateNtmsMediaPoolA(
  [in]  HANDLE                hSession,
  [in]  LPCSTR                lpPoolName,
  [in]  LPNTMS_GUID           lpMediaType,
  [in]  DWORD                 dwAction,
  [in]  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [out] LPNTMS_GUID           lpPoolId
);

Parameter

[in] hSession

Behandeln Sie die sitzung, die von der OpenNtmsSession--Funktion zurückgegeben wird.

[in] lpPoolName

Name des neuen Medienpools. Medienpoolnamen müssen innerhalb des Bereichs einer einzelnen RSM-Datenbank eindeutig sein.

[in] lpMediaType

Bezeichner für den Medientyp in diesem Medienpool. Verwenden Sie die EnumerateNtmsObject--Funktion, um eine Liste der verfügbaren Medientypen und deren Attribute abzurufen. Die Anwendung kann einen NULL- Zeiger übergeben, um einen Medienpool zu erstellen, der nur andere Medienpools enthält.

[in] dwAction

Auszuführende Aktion. Dieser Parameter muss einen der folgenden Werte aufweisen.

Wert Bedeutung
NTMS_OPEN_EXISTING
Öffnet einen vorhandenen Medienpool anhand des Namens. Gibt ERROR_OBJECT_NOT_FOUND zurück, wenn der Pool nicht vorhanden ist.
NTMS_OPEN_ALWAYS
Öffnet einen vorhandenen Medienpool oder erstellt den Pool, wenn er nicht vorhanden ist.
NTMS_CREATE_NEW
Erstellt einen neuen Medienpool. Gibt ERROR_ALREADY_EXISTS zurück, wenn der Pool vorhanden ist.

[in] lpSecurityAttributes

Optionaler Sicherheitsdeskriptor, der zum Einschränken des Zugriffs auf den Pool verwendet wird.

[out] lpPoolId

Zeigen Sie auf eine Variable, die den eindeutigen Bezeichner des Medienpools empfängt, nachdem der Medienpool erfolgreich erstellt oder geöffnet wurde.

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS zum Stammpool oder zum übergeordneten Medienpool wird verweigert, während sie versuchen, einen neuen Medienpool zu erstellen. Andere Sicherheitsfehler sind ebenfalls möglich, weisen jedoch auf einen Sicherheitssubsystemfehler hin.

Windows XP: NTMS_MODIFY_ACCESS für den übergeordneten Medienpool wird verweigert, während sie versuchen, einen neuen Medienpool zu erstellen. Andere Sicherheitsfehler sind ebenfalls möglich, weisen jedoch auf einen Sicherheitssubsystemfehler hin.

ERROR_ALREADY_EXISTS
Ein neuer Medienpool kann nicht erstellt werden, da bereits eins mit diesem Namen vorhanden ist.
ERROR_DATABASE_FAILURE
Auf die Datenbank kann nicht zugegriffen oder beschädigt werden.
ERROR_DATABASE_FULL
Die Datenbank ist voll. Andere Sicherheitsfehler sind ebenfalls möglich, weisen jedoch auf einen Sicherheitssubsystemfehler hin.
ERROR_INVALID_HANDLE
Der Sitzungshandle fehlt oder ist ungültig.
ERROR_INVALID_MEDIA
Der ausgewählte Medientyp ist ungültig.
ERROR_INVALID_NAME
Die Syntax des Poolnamens ist ungültig. (Der Name ist zu lang.)
ERROR_INVALID_PARAMETER
Der Name des Medienpools oder der Medienpool-ID-Zeiger fehlt.
ERROR_OBJECT_NOT_FOUND
Vorhandene Medienpools können nicht geöffnet werden.
ERROR_SUCCESS
Die Funktion war erfolgreich.

Bemerkungen

Kostenlose, nicht erkannte und Importieren von Medienpools werden von RSM erstellt und können nicht mit der CreateNtmsMediaPool-Funktion erstellt werden.

RSM-Medienpools werden als Hierarchie organisiert, die durch das Zeichen "" getrennt ist. Application, Free, Unrecognized, and Import media pools exist at the root of the hierarchy. RSM erstellt und verwaltet die Free-, Unrecognized- und Importpools. RSM erstellt einen kostenlosen Medienpool für jeden verfügbaren Medientyp.

Anwendungsspezifische Medienpools werden von Anwendungen erstellt. Anwendungen erstellen Medienpools für ihre eigene Verwendung unter dem Stammanwendungspool. Diese Medienpools weisen Dateisystemnamen auf. Nur der Endpunkt des Namens enthält Medien und Richtlinien. Eine Anwendung kann Pools wie \MyApp\Pool1 und \MyApp\Pool2 definieren. Dadurch wird die Hierarchie an die Benutzeroberfläche übermittelt und doppelte Namen vermieden. Jede Poolebene muss einzeln erstellt werden; zuerst MyApp und dann Pool1 und Pool2, ähnlich wie Ordner und Dateien.

Windows Server 2003: Zum Erstellen eines Medienpools benötigen Sie NTMS_CONTROL_ACCESS zum Stammpool und zum übergeordneten Pool. Wenn kein Sicherheitsdeskriptor bereitgestellt wird, erbt der Pool die ACEs des übergeordneten Pools (wenn der übergeordnete Pool nicht der Stammpool ist). Darüber hinaus haben der Ersteller und die lokalen Systemkonten vollzugriff auf den Pool. Wenn der übergeordnete Pool der Stammpool ist, werden seine ACEs nicht geerbt. die einzigen ACEs in der DACL sind Vollzugriff auf die Ersteller- und lokalen Systemkonten.

Anmerkung

Der ntmsapi.h-Header definiert CreateNtmsMediaPool 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
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- ntmsapi.h
Library Ntmsapi.lib
DLL- Ntmsapi.dll

Siehe auch

AllocateNtmsMedia

DeleteNtmsMediaPool-

GetNtmsObjectSecurity-

Media Services-Funktionen

SetNtmsObjectSecurity-