Partilhar via


Método IKsPropertySet::Get

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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 método Get recupera uma propriedade identificada por um GUID do conjunto de propriedades e uma ID de propriedade.

Sintaxe

HRESULT Get(
  [in]  REFGUID guidPropSet,
  [in]  DWORD   dwPropID,
  [in]  LPVOID  pInstanceData,
  [in]  DWORD   cbInstanceData,
  [out] LPVOID  pPropData,
  [in]  DWORD   cbPropData,
  [out] DWORD   *pcbReturned
);

Parâmetros

guidPropSet [in]

O GUID do conjunto de propriedades .

dwPropID [in]

O identificador da propriedade dentro do conjunto de propriedades.

pInstanceData [in]

Um ponteiro para uma matriz de bytes que contém dados de instância para a propriedade .

cbInstanceData [in]

O tamanho da matriz fornecida em pInstanceData, em bytes.

pPropData [out]

Um ponteiro para uma matriz de bytes que recebe os dados da propriedade.

cbPropData [in]

O tamanho da matriz fornecida em pPropData, em bytes.

pcbReturned [out]

Recebe o número de bytes que o método copia para a matriz pPropData .

Retornar valor

Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_OK
Êxito.
E_PROP_SET_UNSUPPORTED
Não há suporte para o conjunto de propriedades.
E_PROP_ID_UNSUPPORTED
Não há suporte para a ID da propriedade para o conjunto de propriedades especificado.

 

Comentários

Observação

Outra interface com esse nome existe no arquivo de cabeçalho dsound.h. As duas interfaces não são compatíveis. A interface IKsControl , documentada no DDK do DirectShow, agora é a interface recomendada para passar conjuntos de propriedades entre drivers WDM e componentes do modo de usuário.

 

Para recuperar uma propriedade, aloque um buffer que esse método preencherá. Para determinar o tamanho do buffer necessário, especifique NULL para pPropData e zero (0) para cbPropData. Esse método retorna o tamanho do buffer necessário em pcbReturned.

Você deve incluir Ks.h antes de Ksproxy.h.

Exemplos

O exemplo a seguir consulta um pino para sua categoria de pino, recuperando a propriedade AMPROPERTY_PIN_CATEGORY . (Consulte Fixar Conjunto de Propriedades.)

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;
}

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
Ksproxy.h
Biblioteca
Strmiids.lib

Confira também

Códigos de erro e êxito

IKsPropertySet Interface

Conjuntos de propriedades