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


Интерфейс 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)

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

Атрибуты и свойства

Интерфейсы Media Foundation