Método IKsPropertySet::Get

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El método Get recupera una propiedad identificada por un GUID del conjunto de propiedades y un identificador de propiedad.

Sintaxis

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]

GUID del conjunto de propiedades .

dwPropID [in]

Identificador de la propiedad dentro del conjunto de propiedades.

pInstanceData [in]

Puntero a una matriz de bytes que contiene datos de instancia para la propiedad .

cbInstanceData [in]

Tamaño de la matriz especificada en pInstanceData, en bytes.

pPropData [out]

Puntero a una matriz de bytes que recibe los datos de propiedad.

cbPropData [in]

Tamaño de la matriz especificada en pPropData, en bytes.

pcbReturned [out]

Recibe el número de bytes que el método copia en la matriz pPropData .

Valor devuelto

Devuelve un valor HRESULT . Estos son algunos de los valores posibles.

Código devuelto Descripción
S_OK
Correcto.
E_PROP_SET_UNSUPPORTED
No se admite el conjunto de propiedades.
E_PROP_ID_UNSUPPORTED
El identificador de propiedad no se admite para el conjunto de propiedades especificado.

 

Observaciones

Nota:

Existe otra interfaz por este nombre en el archivo de encabezado dsound.h. Las dos interfaces no son compatibles. La interfaz IKsControl , documentada en DirectShow DDK, es ahora la interfaz recomendada para pasar conjuntos de propiedades entre controladores WDM y componentes de modo de usuario.

 

Para recuperar una propiedad, asigne un búfer que rellenará este método. Para determinar el tamaño de búfer necesario, especifique NULL para pPropData y cero (0) para cbPropData. Este método devuelve el tamaño de búfer necesario en pcbReturned.

Debe incluir Ks.h antes de Ksproxy.h.

Ejemplos

En el ejemplo siguiente se consulta un pin para su categoría de patillas mediante la recuperación de la propiedad AMPROPERTY_PIN_CATEGORY . (Consulte Conjunto de propiedades Pin).

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 Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Ksproxy.h
Biblioteca
Strmiids.lib

Consulte también

Códigos de error y éxito

Interfaz IKsPropertySet

Conjuntos de propiedades