Partager via


CreateNtmsMediaPoolW, fonction (ntmsapi.h)

[Gestionnaire de stockage amovible n’est plus disponible depuis Windows 7 et Windows Server 2008 R2.]

La fonction CreateNtmsMediaPool crée un pool de supports d’application.

Syntaxe

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

Paramètres

[in] hSession

Gérez la session retournée par la fonction OpenNtmsSession.

[in] lpPoolName

Nom du nouveau pool de supports. Les noms de pool de supports doivent être uniques dans l’étendue d’une base de données RSM unique.

[in] lpMediaType

Identificateur du type de média dans ce pool de supports. Utilisez la fonction EnumerateNtmsObject pour obtenir la liste des types de supports disponibles et de leurs attributs. L’application peut passer un pointeur NULL pour créer un pool de supports qui contient uniquement d’autres pools multimédias.

[in] dwAction

Action à effectuer. Ce paramètre doit être l’une des valeurs suivantes.

Valeur Signification
NTMS_OPEN_EXISTING
Ouvre un pool de médias existant par nom. Retourne ERROR_OBJECT_NOT_FOUND si le pool n’existe pas.
NTMS_OPEN_ALWAYS
Ouvre un pool multimédia existant ou crée le pool s’il n’existe pas.
NTMS_CREATE_NEW
Crée un pool de supports. Retourne ERROR_ALREADY_EXISTS si le pool existe.

[in] lpSecurityAttributes

Descripteur de sécurité facultatif utilisé pour restreindre l’accès au pool.

[out] lpPoolId

Pointeur vers une variable qui reçoit l’identificateur unique du pool de supports après la création ou l’ouverture du pool de médias.

Valeur de retour

Cette fonction retourne l’une des valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
NTMS_CONTROL_ACCESS au pool racine ou au pool multimédia parent est refusé lors de la tentative de création d’un pool multimédia. D’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité.

Windows XP : NTMS_MODIFY_ACCESS au pool de médias parent est refusé lors de la tentative de création d’un pool multimédia. D’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité.

ERROR_ALREADY_EXISTS
Impossible de créer un pool de supports, car il existe déjà avec ce nom.
ERROR_DATABASE_FAILURE
La base de données est inaccessible ou endommagée.
ERROR_DATABASE_FULL
La base de données est complète. D’autres erreurs de sécurité sont également possibles, mais elles indiquent une erreur de sous-système de sécurité.
ERROR_INVALID_HANDLE
Le handle de session est manquant ou n’est pas valide.
ERROR_INVALID_MEDIA
Le type de média sélectionné n’est pas valide.
ERROR_INVALID_NAME
La syntaxe du nom du pool n’est pas valide. (Le nom est trop long.)
ERROR_INVALID_PARAMETER
Le nom du pool de médias ou le pointeur d’ID du pool de supports est manquant.
ERROR_OBJECT_NOT_FOUND
Impossible d’ouvrir le pool multimédia existant.
ERROR_SUCCESS
La fonction a réussi.

Remarques

Les pools multimédias gratuits, non reconnus et importés sont créés par RSM et ne peuvent pas être créés avec la fonction CreateNtmsMediaPool.

Les pools de supports RSM sont organisés en tant que hiérarchie séparée par le caractère « ». Les pools de supports d’application, gratuits, non reconnus et d’importation existent à la racine de la hiérarchie. RSM crée et gère les pools Free, Unrecognized et Import. RSM crée un pool de médias gratuit pour chaque type de média disponible.

Les pools multimédias spécifiques à l’application sont créés par les applications. Les applications créent des pools multimédias pour leur propre utilisation sous le pool d’applications racine. Ces pools de supports ont des noms de type système de fichiers. Seul le point de terminaison du nom contient des médias et une stratégie. Une application peut définir des pools tels que \MyApp\Pool1 et \MyApp\Pool2. Cela transmet la hiérarchie à l’interface utilisateur et évite les noms en double. Chaque niveau de pool doit être créé individuellement ; d’abord MyApp, puis Pool1 et Pool2, comme les dossiers et les fichiers.

Windows Server 2003 : Pour créer un pool multimédia, vous devez avoir NTMS_CONTROL_ACCESS au pool racine et au pool parent. Si un descripteur de sécurité n’est pas fourni, le pool hérite des AE de son pool parent (si le pool parent n’est pas le pool racine). En outre, les comptes du créateur et du système local ont un accès complet au pool. Si le pool parent est le pool racine, ses AE ne sont pas héritées ; les seules ACL dans la liste de contrôle d’accès sont un accès complet pour les comptes de créateur et de système local.

Note

L’en-tête ntmsapi.h définit CreateNtmsMediaPool comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête ntmsapi.h
bibliothèque Ntmsapi.lib
DLL Ntmsapi.dll

Voir aussi

AllocateNtmsMedia

DeleteNtmsMediaPool

GetNtmsObjectSecurity

fonctions Media Services

SetNtmsObjectSecurity