Метод IKsPropertySet::Get
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод Get извлекает свойство, определяемое идентификатором GUID набора свойств и идентификатором свойства.
Синтаксис
HRESULT Get(
[in] REFGUID guidPropSet,
[in] DWORD dwPropID,
[in] LPVOID pInstanceData,
[in] DWORD cbInstanceData,
[out] LPVOID pPropData,
[in] DWORD cbPropData,
[out] DWORD *pcbReturned
);
Параметры
-
guidPropSet [in]
-
Guid набора свойств .
-
dwPropID [in]
-
Идентификатор свойства в наборе свойств.
-
pInstanceData [in]
-
Указатель на массив байтов, содержащий данные экземпляра для свойства .
-
cbInstanceData [in]
-
Размер массива, заданного в pInstanceData, в байтах.
-
pPropData [out]
-
Указатель на массив байтов, получающий данные свойства.
-
cbPropData [in]
-
Размер массива, заданного в pPropData, в байтах.
-
pcbReturned [out]
-
Получает количество байтов, копируемых методом в массив pPropData .
Возвращаемое значение
Возвращает значение HRESULT . Ниже приведены возможные значения.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Набор свойств не поддерживается. |
|
Идентификатор свойства не поддерживается для указанного набора свойств. |
Комментарии
Примечание
Другой интерфейс с этим именем существует в файле заголовка dsound.h. Эти два интерфейса несовместимы. Интерфейс IKsControl , задокументированный в DirectShow DDK, теперь является рекомендуемым интерфейсом для передачи наборов свойств между драйверами WDM и компонентами пользовательского режима.
Чтобы получить свойство, выделите буфер, который затем заполняется этим методом. Чтобы определить необходимый размер буфера, укажите значение NULL для pPropData и ноль (0) для cbPropData. Этот метод возвращает необходимый размер буфера в pcbReturned.
Необходимо включить Ks.h перед Ksproxy.h.
Примеры
В следующем примере выполняется запрос к закреплению для его категории контактов путем получения свойства AMPROPERTY_PIN_CATEGORY . (См . раздел Закрепление набора свойств.)
HRESULT GetPinCategory(IPin *pPin, GUID *pPinCategory)
{
IKsPropertySet *pKs = NULL;
HRESULT hr = pPin->QueryInterface(IID_PPV_ARGS(&pKs));
if (FAILED(hr))
{
return hr;
}
// Try to retrieve the pin category.
DWORD cbReturned = 0;
hr = pKs->Get(AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY, NULL, 0,
pPinCategory, sizeof(GUID), &cbReturned);
// If this succeeded, pPinCategory now contains the category GUID.
SafeRelease(&pKs);
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
См. также раздел