Método IKsPin::KsQueryMediums
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O KsQueryMediums
método recupera os meios com suporte por um pin.
Sintaxe
HRESULT KsQueryMediums(
[out] KSMULTIPLE_ITEM **ppmi
);
Parâmetros
-
ppmi [out]
-
Endereço de um ponteiro para uma estrutura KSMULTIPLE_ITEM .
Retornar valor
Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro HRESULT .
Comentários
Esse método retorna uma estrutura de KSMULTIPLE_ITEM alocada por tarefa, que é seguida por zero ou mais estruturas REGPINMEDIUM . O membro Count da estrutura KSMULTIPLE_ITEM especifica o número de estruturas REGPINMEDIUM . Cada estrutura REGPINMEDIUM define um meio com suporte pelo pino.
O chamador deve liberar as estruturas retornadas usando a função CoTaskMemFree .
Você deve incluir Ks.h antes de Ksproxy.h.
Exemplos
A função auxiliar a seguir tenta corresponder um pino a um meio especificado.
HRESULT FindMatchingMedium(
IPin *pPin,
REGPINMEDIUM *pMedium,
bool *pfMatch)
{
IKsPin* pKsPin = NULL;
KSMULTIPLE_ITEM *pmi;
*pfMatch = false;
HRESULT hr = pPin->QueryInterface(IID_IKsPin, (void **)&pKsPin);
if (FAILED(hr))
return hr; // Pin does not support IKsPin.
hr = pKsPin->KsQueryMediums(&pmi);
pKsPin->Release();
if (FAILED(hr))
return hr; // Pin does not support mediums.
if (pmi->Count)
{
// Use pointer arithmetic to reference the first medium structure.
REGPINMEDIUM *pTemp = (REGPINMEDIUM*)(pmi + 1);
for (ULONG i = 0; i < pmi->Count; i++, pTemp++)
{
if (pMedium->clsMedium == pTemp->clsMedium)
{
*pfMatch = true;
break;
}
}
}
CoTaskMemFree(pmi);
return S_OK;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|
Biblioteca |
|
Confira também