次の方法で共有


IWMDMDevice3::GetProperty メソッド (mswmdm.h)

GetProperty メソッドは、特定のデバイス メタデータ プロパティを取得します。

構文

HRESULT GetProperty(
  [in]  LPCWSTR     pwszPropName,
  [out] PROPVARIANT *pValue
);

パラメーター

[in] pwszPropName

取得するプロパティのワイド文字の null で終わる文字列名。 標準のプロパティ名定数の一覧は、 メタデータ定数で指定します。

[out] pValue

プロパティの戻り値。 アプリケーションでは 、PropVariantClear を使用してこのメモリを解放する必要があります。

戻り値

このメソッドは HRESULT を返します。 Windows Media デバイス マネージャーのすべてのインターフェイス メソッドは、次のいずれかのエラー コード クラスを返すことができます。

  • 標準 COM エラー コード
  • HRESULT 値に変換された Windows エラー コード
  • Windows Media デバイス マネージャー エラー コード
考えられるエラー コードの詳細な一覧については、「 エラー コード」を参照してください。

注釈

サポートされているデバイス プロパティの一覧を取得するには、クライアントはこの関数を呼び出し、 g_wszWMDMSupportedDevicePropertiesを指定します。 標準のデバイス プロパティ名の一覧については、「 メタデータ定数」を参照してください。

クライアントは、pValue パラメーター内の空の PROPVARIANT へのポインターを渡す必要があります。 戻り値の場合、 pValue には プロパティの値が含まれます。

このメソッドは、ストレージの GetMetadata メソッドと GetSpecifiedMetadata メソッドに似ていますが、このメソッドは一度に 1 つのプロパティのみを取得できます。

次の C++ コードでは、g_wszWMDMFormatsSupported プロパティを照会します。これは、デバイスでサポートされている形式の SAFEARRAY リストを返します。


// Query a device for supported configurations for each media or format type. 
HRESULT GetCaps(IWMDMDevice3* pDevice)
{
    HRESULT hr = S_OK;

    // Request the "formats supported" property to get a list of supported formats.
    PROPVARIANT pvFormatsSupported;
    PropVariantInit(&pvFormatsSupported);
    hr = pDevice->GetProperty(g_wszWMDMFormatsSupported, &pvFormatsSupported);
    HANDLE_HR(hr, "Got a property list in GetCaps", "Couldn't get a property list in GetCaps.");

    // Loop through the retrieved format list.
    // For each format, get a list of format configurations.
    SAFEARRAY* formatList = pvFormatsSupported.parray;
    WMDM_FORMATCODE formatCode = WMDM_FORMATCODE_NOTUSED;
    for(LONG iCap = 0; iCap < formatList->rgsabound[0].cElements; iCap++)
    { 
        // Get a format from the SAFEARRAY of retrieved formats.
        SafeArrayGetElement(formatList, &iCap, &formatCode);

        // Call a custom function to see the specifics of device support for 
       // each format.
        if (formatCode != WMDM_FORMATCODE_NOTUSED)
            myGetFormatCaps(formatCode, pDevice);
    }

e_Exit:
    // Clear out the memory we used.
    PropVariantClear(&pvFormatsSupported);
    return hr;
}

要件

要件
対象プラットフォーム Windows
ヘッダー mswmdm.h
Library Mssachlp.lib

こちらもご覧ください

デバイスの列挙

IWMDMDevice3 インターフェイス

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

ファイルにメタデータを設定する