Condividi tramite


Metodo IKsPropertySet::Get

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il metodo Get recupera una proprietà identificata da un GUID del set di proprietà e da un ID proprietà.

Sintassi

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

Parametri

guidPropSet [in]

GUID del set di proprietà .

dwPropID [in]

Identificatore della proprietà all'interno del set di proprietà.

pInstanceData [in]

Puntatore a una matrice di byte che contiene i dati dell'istanza per la proprietà .

cbInstanceData [in]

Dimensioni della matrice specificata in pInstanceData, in byte.

pPropData [out]

Puntatore a una matrice di byte che riceve i dati della proprietà.

cbPropData [in]

Dimensioni della matrice specificata in pPropData, in byte.

pcbReturned [out]

Riceve il numero di byte che il metodo copia nella matrice pPropData .

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_OK
Operazione completata.
E_PROP_SET_UNSUPPORTED
Il set di proprietà non è supportato.
E_PROP_ID_UNSUPPORTED
L'ID proprietà non è supportato per il set di proprietà specificato.

 

Commenti

Nota

Esiste un'altra interfaccia con questo nome nel file di intestazione dsound.h. Le due interfacce non sono compatibili. L'interfaccia IKsControl , documentata in DirectShow DDK, è ora l'interfaccia consigliata per il passaggio di set di proprietà tra i driver WDM e i componenti della modalità utente.

 

Per recuperare una proprietà, allocare un buffer che verrà quindi compilato da questo metodo. Per determinare le dimensioni del buffer necessarie, specificare NULL per pPropData e zero (0) per cbPropData. Questo metodo restituisce le dimensioni del buffer necessarie in pcbReturned.

È necessario includere Ks.h prima di Ksproxy.h.

Esempio

Nell'esempio seguente viene eseguita una query su un pin per la relativa categoria di pin recuperando la proprietà AMPROPERTY_PIN_CATEGORY . Vedere Set di proprietà 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;
}

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Ksproxy.h
Libreria
Strmiids.lib

Vedi anche

Codici di errore e di esito positivo

Interfaccia IKsPropertySet

Set di proprietà