Интерфейс IMFAttributes (mfobjects.h)
Предоставляет универсальный способ хранения пар "ключ-значение" в объекте . Ключами являются GUID, и значения могут иметь любой из следующих типов данных: UINT32, UINT64, double, GUID, строка расширенных символов, массив байтов или указатель IUnknown . Стандартная реализация этого интерфейса удерживает блокировку потока при добавлении, удалении или извлечении значений.
Список стандартных GUIDатрибутов см. в разделе Атрибуты Media Foundation. Каждый GUID атрибута имеет ожидаемый тип данных. Различные методы set в IMFAttributes не проверяют тип по идентификатору GUID атрибута. Приложение отвечает за определение правильного типа атрибута.
Чтобы создать пустое хранилище атрибутов, вызовите MFCreateAttributes.
Наследование
Интерфейс IMFAttributes наследуется от интерфейса IUnknown . IMFAttributes также имеет следующие типы элементов:
Методы
Интерфейс IMFAttributes имеет следующие методы.
IMFAttributes::Compare Сравнивает атрибуты этого объекта с атрибутами другого объекта. |
IMFAttributes::CompareItem Запрашивает, равно ли значение сохраненного атрибута указанному PROPVARIANT. |
IMFAttributes::CopyAllItems Копирует все атрибуты из этого объекта в другое хранилище атрибутов. |
IMFAttributes::D eleteAllItems Удаляет все пары "ключ-значение" из списка атрибутов объекта. |
IMFAttributes::D eleteItem Удаляет пару "ключ-значение" из списка атрибутов объекта. |
IMFAttributes::GetAllocatedBlob Извлекает массив байтов, связанный с ключом. Этот метод выделяет память для массива. |
IMFAttributes::GetAllocatedString Возвращает строку расширенных символов, связанную с ключом. Этот метод выделяет память для строки. |
IMFAttributes::GetBlob Извлекает массив байтов, связанный с ключом. Этот метод копирует массив в буфер, выделенный вызывающим объектом. |
IMFAttributes::GetBlobSize Извлекает длину массива байтов, связанного с ключом. |
IMFAttributes::GetCount Извлекает количество атрибутов, заданных для этого объекта. |
IMFAttributes::GetDouble Извлекает значение типа double, связанное с ключом. |
IMFAttributes::GetGUID Извлекает значение GUID, связанное с ключом. |
IMFAttributes::GetItem Извлекает значение, связанное с ключом. |
IMFAttributes::GetItemByIndex Извлекает атрибут по указанному индексу. |
IMFAttributes::GetItemType Извлекает тип данных значения, связанного с ключом. |
IMFAttributes::GetString Извлекает строку расширенных символов, связанную с ключом. |
IMFAttributes::GetStringLength Извлекает длину строкового значения, связанного с ключом. |
IMFAttributes::GetUINT32 Извлекает значение UINT32, связанное с ключом. |
IMFAttributes::GetUINT64 Извлекает значение UINT64, связанное с ключом. |
IMFAttributes::GetUnknown Извлекает указатель интерфейса, связанный с ключом. |
IMFAttributes::LockStore Блокирует хранилище атрибутов, чтобы другие потоки не могли получить к нему доступ. |
IMFAttributes::SetBlob Связывает массив байтов с ключом. |
IMFAttributes::SetDouble Связывает значение типа double с ключом. |
IMFAttributes::SetGUID Связывает значение GUID с ключом. |
IMFAttributes::SetItem Добавляет значение атрибута с указанным ключом. |
IMFAttributes::SetString Связывает строку расширенных символов с ключом. |
IMFAttributes::SetUINT32 Связывает значение UINT32 с ключом. |
IMFAttributes::SetUINT64 Связывает значение UINT64 с ключом. |
IMFAttributes::SetUnknown Связывает указатель IUnknown с ключом. |
IMFAttributes::UnlockStore Разблокирует хранилище атрибутов после вызова метода IMFAttributes::LockStore. Пока объект разблокирован, несколько потоков могут получить доступ к атрибутам объекта. |
Комментарии
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK формата 11 для Windows Media:
- Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
- Windows XP Media Center Edition 2005 с установленными обновлениями KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления для Windows XP Media Center Edition за октябрь 2006 г.).
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfobjects.h (включая Mfidl.h) |