Поделиться через


Метод IMDSPStorage::CreateStorage (mswmdm.h)

Метод CreateStorage создает новое хранилище и возвращает указатель на интерфейс IMDSPStorage во вновь созданном хранилище. Этот метод является необязательным, если только dwAttributes не WMDM_FILE_ATTR_FILE. В этом случае этот метод должен быть реализован и не должен возвращать WMDM_E_NOTSUPPORTED или E_NOTIMPL. Дополнительные сведения см. в разделе Обязательные и необязательные интерфейсы.

Синтаксис

HRESULT CreateStorage(
  [in]  DWORD         dwAttributes,
  [in]  _WAVEFORMATEX *pFormat,
  [in]  LPWSTR        pwszName,
  [out] IMDSPStorage  **ppNewStorage
);

Параметры

[in] dwAttributes

DWORD , содержащий атрибуты для нового хранилища. В следующей таблице перечислены доступные атрибуты хранилища.

attribute Описание
WMDM_STORAGECONTROL_INSERTBEFORE Новый объект хранилища будет создан перед целевым объектом .
WMDM_STORAGECONTROL_INSERTAFTER Новый объект хранилища будет создан после целевого объекта.
WMDM_STORAGECONTROL_INSERTINTO Новый объект хранилища будет создан в папке целевого объекта.
WMDM_STORAGECONTROL_OVERWRITE Если хранилище с таким именем уже существует, оно будет уничтожено и создано новое хранилище.
WMDM_STORAGE_ATTR_FILESYSTEM Этот объект является носителем верхнего уровня (например, хранилищем карта или другим встроенным хранилищем).
WMDM_STORAGE_ATTR_REMOVABLE Этот носитель является съемным.
WMDM_STORAGE_ATTR_CANEDITMETADATA Это хранилище может изменять метаданные.
WMDM_STORAGE_ATTR_FOLDERS Этот носитель поддерживает папки и иерархию файлов.
WMDM_FILE_ATTR_FOLDER Это папка на носителе хранилища.
WMDM_FILE_ATTR_LINK Это ссылка, которая создает связь между несколькими файлами.
WMDM_FILE_ATTR_FILE Это файл на носителе хранилища.
WMDM_FILE_ATTR_AUDIO Этот файл является звуковыми данными.
WMDM_FILE_ATTR_DATA Этот файл не является звуковыми данными.
WMDM_FILE_ATTR_CANPLAY Этот звуковой файл может воспроизводиться устройством.
WMDM_FILE_ATTR_CANDELETE Этот файл можно удалить.
WMDM_FILE_ATTR_CANMOVE Этот файл или папку можно перемещать на носителе хранилища.
WMDM_FILE_ATTR_CANRENAME Этот файл или папку можно переименовать.
WMDM_FILE_ATTR_CANREAD Этот файл может быть прочитан главным компьютером.
WMDM_FILE_ATTR_MUSIC Этот звуковой файл — музыка.
WMDM_FILE_ATTR_VIDEO Этот файл содержит видеоданные.
WMDM_FILE_ATTR_HIDDEN Этот файл скрыт в файловой системе
WMDM_FILE_ATTR_SYSTEM Это системный файл
WMDM_FILE_ATTR_READONLY Это файл, доступный только для чтения.
WMDM_STORAGE_IS_DEFAULT Это хранилище по умолчанию, в котором должны размещаться новые носители.
WMDM_STORAGE_CONTAINS_DEFAULT Это хранилище содержит хранилище по умолчанию, в котором должны быть размещены новые носители.

[in] pFormat

Указатель на _WAVEFORMATEX структуру, содержащую сведения об объекте, если объект является звуковым файлом.

[in] pwszName

Указатель на строку с расширенными символами, завершающуюся нулевым значением, которая содержит имя нового хранилища.

[out] ppNewStorage

Указатель на указатель IMDSPStorage для получения интерфейса IMDSPStorage для только что созданного хранилища.

Возвращаемое значение

Метод возвращает HRESULT. Все методы интерфейса в Windows Media диспетчер устройств могут возвращать любой из следующих классов кодов ошибок:

  • Стандартные коды ошибок COM
  • Коды ошибок Windows, преобразованные в значения HRESULT
  • Коды ошибок диспетчер устройств Windows Media
Подробный список возможных кодов ошибок см. в разделе Коды ошибок.

Комментарии

Если заданы атрибуты WMDM_FILE_ATTR_FOLDER и WMDM_FILE_ATTR_FILE, атрибут папки переопределяет атрибут file, и новое хранилище создается как папка.

Клиент может указать только один из WMDM_STORAGECONTROL_INSERTBEFORE, WMDM_STORAGECONTROL_INSERTAFTER и WMDM_STORAGECONTROL_INSERTINTO.

Новое хранилище можно создать на том же уровне или вставить в текущее хранилище при условии, что текущее хранилище является папкой. Это управляется значением параметра dwAttributes . Если указано WMDM_STORAGECONTROL_INSERTBEFORE или WMDM_STORAGECONTROL_INSERTAFTER, новое хранилище будет создано на том же уровне, что и текущее хранилище. Если указано WMDM_STORAGECONTROL_INSERTINTO, новое хранилище будет вставлено в текущее хранилище.

WMDM_STORAGECONTROL_INSERTBEFORE и WMDM_STORAGECONTROL_INSERAFTER подразумевают упорядочение содержимого в файловой системе. Если файловая система не поддерживает упорядочение (например, FAT32), оба флага имеют одинаковый эффект вставки нового хранилища на том же уровне текущего хранилища. Если текущее хранилище представляет корень носителя хранилища и указан один из этих двух флагов, операция завершается ошибкой.

WMDM_STORAGECONTROL_INSERTINTO действителен только в том случае, если текущим хранилищем является папка. Если текущим хранилищем является файл и указан этот флаг, операция завершается ошибкой.

Требования

Требование Значение
Целевая платформа Windows
Header mswmdm.h
Библиотека Mssachlp.lib

См. также раздел

Интерфейс IMDSPStorage

IMDSPStorage2::CreateStorage2

_WAVEFORMATEX