Метод 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;
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел