Microsoft DirectX 8.1 (C++)

IMSVidCtl::get__InputsAvailable

This topic applies to Windows XP Home Edition and Windows XP Professional only.

The get__InputsAvailable method retrieves the input devices that are available in a specified category.

Syntax

HRESULT get__InputsAvailable(
  const GUID*  CategoryGuid,
  IMSVidInputDevices**  ppVal
);

Parameters

  CategoryGuid

[in]  Pointer to a GUID that specifies the category to enumerate. Supported categories include the following:

Value Description
KSCATEGORY_BDA_NETWORK_PROVIDER BDA-compatible tuner devices.
KSCATEGORY_TVTUNER Non-BDA analog tuner devices.

  ppVal

[out]  Address of a variable that receives an IMSVidInputDevices interface pointer.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

This method returns a read-only collection of input devices. Use the returned IMSVidInputDevices pointer to enumerate the collection.

If the method succeeds, the IMSVidInputDevices interface has an outstanding reference count. The caller must release the interface.

Example Code

The following example enumerates the available BDA-compatible tuners and retrieves their friendly names.

CComPtr<IMSVidInputDevices> pInputs;
hr = pVidControl->get__InputsAvailable(&KSCATEGORY_BDA_NETWORK_PROVIDER, &pInputs);
if (SUCCEEDED(hr))
{
    long lCount;
    hr = pInputs->get_Count(&lCount);
    for (long ix = 0; ix < lCount; ix++)
    {
        CComBSTR bstrName;
        CComVariant var(ix);
        CComPtr<IMSVidInputDevice> pInput;
        hr = pInputs->get_Item(var, &pInput);
        hr = pInput->get_Name(&bstrName);
        // Display the name.
    }
}

See Also