CreateNtmsMediaPoolW, fonction (ntmsapi.h)

[Le Gestionnaire de stockage amovible n’est plus disponible à partir de 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 médias. Les noms de pool de médias 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 médias. Utilisez la fonction EnumerateNtmsObject pour obtenir la liste des types de médias disponibles et leurs attributs. L’application peut passer un pointeur NULL pour créer un pool de médias qui contient uniquement d’autres pools de médias.

[in] dwAction

Action à effectuer. Ce paramètre peut prendre les 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 de médias existant ou crée le pool s’il n’existe pas.
NTMS_CREATE_NEW
Crée un pool multimédia. 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 médias une fois le pool de médias créé ou ouvert.

Valeur retournée

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 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é.

ERROR_ALREADY_EXISTS
Impossible de créer un pool multimédia, car il en existe déjà un 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 pleine. 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 multimédia sont manquants.
ERROR_OBJECT_NOT_FOUND
Impossible d’ouvrir le pool multimédia existant.
ERROR_SUCCESS
La fonction a réussi.

Remarques

Les pools de médias Gratuits, Non reconnus et Import sont créés par RSM et ne peuvent pas être créés avec la fonction CreateNtmsMediaPool .

Les pools de médias RSM sont organisés sous la forme d’une hiérarchie séparée par le caractère « ». Les pools de médias Application, Gratuit, Non reconnu et Import 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 de mé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 médias ont des noms de type système de fichiers. Seul le point de terminaison du nom contient le média et la 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 des dossiers et des 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 aucun descripteur de sécurité n’est fourni, le pool hérite des AE de son pool parent (si le pool parent n’est pas le pool racine). En outre, le créateur et les comptes système locaux disposent d’un accès complet au pool. Si le pool parent est le pool racine, ses AE ne sont pas hérités ; les seuls AIC de la liste de contrôle d’accès sont un accès complet pour le créateur et les comptes de système local.

Notes

L’en-tête ntmsapi.h définit CreateNtmsMediaPool comme un 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête ntmsapi.h
Bibliothèque Ntmsapi.lib
DLL Ntmsapi.dll

Voir aussi

AllocateNtmsMedia

DeleteNtmsMediaPool

GetNtmsObjectSecurity

Fonctions Media Services

SetNtmsObjectSecurity