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


Метод IMDSPStorage2::CreateStorage2 (mswmdm.h)

Метод CreateStorage2 создает новое хранилище с указанным именем и возвращает указатель на интерфейс IMDSPStorage в созданном хранилище.

Синтаксис

HRESULT CreateStorage2(
  [in]  DWORD            dwAttributes,
  [in]  DWORD            dwAttributesEx,
  [in]  _WAVEFORMATEX    *pAudioFormat,
  [in]  _VIDEOINFOHEADER *pVideoFormat,
  [in]  LPWSTR           pwszName,
  [in]  ULONGLONG        qwFileSize,
  [out] IMDSPStorage     **ppNewStorage
);

Параметры

[in] dwAttributes

DWORD , содержащий атрибуты, как описано в методе IMDSPStorage::CreateStorage .

[in] dwAttributesEx

DWORD , содержащий расширенные атрибуты. В настоящее время расширенные атрибуты не определены.

[in] pAudioFormat

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

[in] pVideoFormat

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

[in] pwszName

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

[in] qwFileSize

QWORD , содержащий размер создаваемого файла. Если общий размер выходного файла неизвестен во время создания, это значение будет равно нулю.

[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 действителен только в том случае, если текущим хранилищем является папка. Если текущим хранилищем является файл и указан этот флаг, операция завершается ошибкой.

Этот метод должен быть реализован. Он не должен возвращать WMDM_E_NOTSUPPORTED или E_NOTIMPL. Дополнительные сведения см. в разделе Обязательные и необязательные интерфейсы.

Требования

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

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

Интерфейс IMDSPStorage2

IMDSPStorage::CreateStorage