Функция CreateNtmsMediaPoolA (ntmsapi.h)
[Диспетчер съемных носителей больше не доступен в Windows 7 и Windows Server 2008 R2.]
Функция CreateNtmsMediaPool создает новый пул носителей приложений.
Синтаксис
DWORD CreateNtmsMediaPoolA(
[in] HANDLE hSession,
[in] LPCSTR lpPoolName,
[in] LPNTMS_GUID lpMediaType,
[in] DWORD dwAction,
[in] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[out] LPNTMS_GUID lpPoolId
);
Параметры
[in] hSession
Обработка сеанса, возвращаемого функцией OpenNtmsSess ion.
[in] lpPoolName
Имя нового пула носителей. Имена пула мультимедиа должны быть уникальными в пределах одной базы данных RSM.
[in] lpMediaType
Идентификатор типа носителя в этом пуле носителей. Используйте функцию перечисления ListeNtmsObject, чтобы получить список доступных типов носителей и их атрибутов. Приложение может передать указатель NULL для создания пула носителей, содержащего только другие пулы носителей.
[in] dwAction
Действие для выполнения. Этот параметр должен быть одним из следующих значений.
[in] lpSecurityAttributes
Необязательный дескриптор безопасности, используемый для ограничения доступа к пулу.
[out] lpPoolId
Указатель на переменную, которая получает уникальный идентификатор пула мультимедиа после успешного создания или открытия пула носителей.
Возвращаемое значение
Эта функция возвращает одно из следующих значений.
Ценность | Значение |
---|---|
|
NTMS_CONTROL_ACCESS корневому пулу или родительскому пулу носителей запрещено при попытке создать новый пул носителей. Другие ошибки безопасности также возможны, но они указывают на ошибку подсистемы безопасности.
Windows XP: NTMS_MODIFY_ACCESS родительскому пулу носителей запрещено при попытке создать новый пул носителей. Другие ошибки безопасности также возможны, но они указывают на ошибку подсистемы безопасности. |
|
Не удалось создать новый пул носителей, так как он уже существует с этим именем. |
|
База данных недоступна или повреждена. |
|
База данных заполнена. Другие ошибки безопасности также возможны, но они указывают на ошибку подсистемы безопасности. |
|
Дескриптор сеанса отсутствует или недопустим. |
|
Выбранный тип носителя недопустим. |
|
Недопустимый синтаксис имени пула. (Имя слишком длинное.) |
|
Отсутствует указатель на имя пула мультимедиа или идентификатор пула мультимедиа. |
|
Не удается открыть существующий пул носителей. |
|
Функция была успешной. |
Замечания
Бесплатные, неопознанные и импортированные пулы мультимедиа создаются RSM и не могут быть созданы с помощью функции CreateNtmsMediaPool.
Пулы мультимедиа RSM организованы в виде иерархии, разделенной символом "". Пулы носителей приложения, free, unrecognized и import существуют в корне иерархии. RSM создает и управляет бесплатными, неопознанными и импортируемыми пулами. RSM создает пул бесплатных носителей для каждого доступного типа носителей.
Пулы носителей для конкретных приложений создаются приложениями. Приложения создают пулы носителей для собственного использования в корневом пуле приложений. Эти пулы носителей имеют такие имена файловой системы. Только конечная точка имени содержит носитель и политику. Приложение может определять такие пулы, как \MyApp\Pool1 и \MyApp\Pool2. Это передает иерархию пользовательскому интерфейсу и избегает повторяющихся имен. Каждый уровень пула должен быть создан по отдельности; сначала MyApp, а затем Pool1 и Pool2, так же как папки и файлы.
Windows Server 2003: для создания пула носителей необходимо NTMS_CONTROL_ACCESS в корневом пуле и родительском пуле. Если дескриптор безопасности не указан, пул наследует acEs своего родительского пула (если родительский пул не является корневым пулом). Кроме того, у создателей и локальных системных учетных записей есть полный доступ к пулу. Если родительский пул является корневым пулом, его службы управления доступом не наследуются; Единственными acES в DACL являются полный доступ для учетных записей создателя и локальной системы.
Заметка
Заголовок ntmsapi.h определяет CreateNtmsMediaPool как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | ntmsapi.h |
библиотеки |
Ntmsapi.lib |
DLL | Ntmsapi.dll |