Méthode IKsPropertySet::Get

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La méthode Get récupère une propriété identifiée par un GUID de jeu de propriétés et un ID de propriété.

Syntaxe

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

Paramètres

guidPropSet [in]

GUID du jeu de propriétés .

dwPropID [in]

Identificateur de la propriété dans le jeu de propriétés.

pInstanceData [in]

Pointeur vers un tableau d’octets qui contient instance données pour la propriété .

cbInstanceData [in]

Taille du tableau donné dans pInstanceData, en octets.

pPropData [out]

Pointeur vers un tableau d’octets qui reçoit les données de propriété.

cbPropData [in]

Taille du tableau donné dans pPropData, en octets.

pcbReturned [out]

Reçoit le nombre d’octets que la méthode copie dans le tableau pPropData .

Valeur renvoyée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_OK
Opération réussie.
E_PROP_SET_UNSUPPORTED
Le jeu de propriétés n’est pas pris en charge.
E_PROP_ID_UNSUPPORTED
L’ID de propriété n’est pas pris en charge pour le jeu de propriétés spécifié.

 

Notes

Notes

Une autre interface de ce nom existe dans le fichier dsound.h en-tête. Les deux interfaces ne sont pas compatibles. L’interface IKsControl , documentée dans le DDK DirectShow, est désormais l’interface recommandée pour passer des jeux de propriétés entre les pilotes WDM et les composants en mode utilisateur.

 

Pour récupérer une propriété, allouez une mémoire tampon que cette méthode remplira ensuite. Pour déterminer la taille de mémoire tampon nécessaire, spécifiez NULL pour pPropData et zéro (0) pour cbPropData. Cette méthode retourne la taille de mémoire tampon nécessaire dans pcbReturned.

Vous devez inclure Ks.h avant Ksproxy.h.

Exemples

L’exemple suivant interroge une broche pour sa catégorie de broche en récupérant la propriété AMPROPERTY_PIN_CATEGORY . (Voir Pin Property Set.)

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Ksproxy.h
Bibliothèque
Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IKsPropertySet, interface

Ensembles de propriétés