Метод IMDSPStorage4::CreateStorageWithMetadata (mswmdm.h)
Метод CreateStorageWithMetadata создает новое хранилище, применяя заданные метаданные к новому хранилищу и возвращает указатель на интерфейс IMDSPStorage во вновь созданном хранилище. Новое хранилище можно создать на том же уровне или вставить в текущее хранилище.
Этот метод полезен, если устройству требуются метаданные во время создания. В зависимости от устройства также может быть эффективнее применять метаданные во время создания, а не создавать хранилище и настраивать метаданные.
Синтаксис
HRESULT CreateStorageWithMetadata(
[in] DWORD dwAttributes,
[in] LPCWSTR pwszName,
[in] IWMDMMetaData *pMetadata,
[in] ULONGLONG qwFileSize,
[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_PLAYLIST | Это объект списка воспроизведения. |
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] pwszName
Указатель на строку с расширенными символами, заканчивающуюся null, которая содержит имя нового хранилища.
[in] pMetadata
Указатель на интерфейс IWMDMMetaData .
[in] qwFileSize
Qword , содержащий размер файла.
[out] ppNewStorage
Указатель на указатель IMDSPStorage для получения интерфейса IMDSPStorage для вновь созданного хранилища.
Возвращаемое значение
Метод возвращает HRESULT. Все методы интерфейса в Windows Media диспетчер устройств могут возвращать любой из следующих классов кодов ошибок:
- Стандартные коды ошибок COM
- Коды ошибок Windows, преобразованные в значения HRESULT
- Коды ошибок диспетчер устройств Windows Media
Комментарии
Этот метод полезен, если метаданные необходимо применить к хранилищу во время создания. Напротив, методы IMDSPStorage2::CreateStorage2 и IMDSPStorage::CreateStorage не предоставляют способ предоставления метаданных во время создания.
Если поставщик услуг для устройства, которое может синхронизироваться с Медиаплеер Windows поддерживает этот интерфейс, Windows Media диспетчер устройств вызывает этот метод во время операций Insert/2/3.
Если заданы атрибуты WMDM_FILE_ATTR_FOLDER и WMDM_FILE_ATTR_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 |