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


Метод IPropertySetter::GetProps

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Примечание

[Не рекомендуется. Этот API можно удалить из будущих выпусков Windows.]

 

Метод GetProps извлекает свойства, заданные для этого объекта, с соответствующими значениями.

Синтаксис

HRESULT GetProps(
  [out] LONG         *pcParams,
  [out] DEXTER_PARAM **paParam,
  [out] DEXTER_VALUE **paValue
);

Параметры

pcParams [out]

Получает количество структур, возвращаемых в paParam.

paParam [out]

Адрес указателя на массив DEXTER_PARAM структур.

paValue [out]

Адрес указателя на массив DEXTER_VALUE структур.

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Для каждого свойства, возвращаемого в paParam, элемент nValues указывает количество DEXTER_VALUE структур, связанных со свойством . Пары возвращаются в порядке возрастания времени для каждого свойства.

Завершив использование возвращаемых структур, вызовите метод IPropertySetter::FreeProps , чтобы освободить ресурсы, выделенные этим методом.

Примечание

Файл заголовка Qedit.h несовместим с заголовками Direct3D более поздней версии 7.

 

Примечание

Чтобы получить Qedit.h, скачайте обновление Microsoft Windows SDK для Windows Vista и платформа .NET Framework 3.0. Qedit.h недоступен в Microsoft Windows SDK для Windows 7 и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).

 

Примеры

В следующем примере кода показано, как выполнить итерацию всех значений в экземпляре метода задания свойств:

IPropertySetter *pSetter = NULL;
// Get a valid IPropertySetter pointer (not shown).

DEXTER_PARAM *pParam;
DEXTER_VALUE *pValue;
LONG count;

hr = pSetter->GetProps(&count, &pParam, &pValue);

LONG num = 0;
for (LONG i = 0; i < count; i++)
{
    for (LONG j = 0; j < pParam[i].nValues; j++)
    {
        // pValue[num] is the next value in the sequence for pParam[i]
    }
    num += pParam[i].nValues;
}

Требования

Требование Значение
Заголовок
Qedit.h
Библиотека
Strmiids.lib

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

Интерфейс IPropertySetter

Коды ошибок и успешного выполнения