IKsPropertySet::Get 方法
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
Get方法會擷取屬性集 GUID 和屬性識別碼所識別的屬性。
語法
HRESULT Get(
[in] REFGUID guidPropSet,
[in] DWORD dwPropID,
[in] LPVOID pInstanceData,
[in] DWORD cbInstanceData,
[out] LPVOID pPropData,
[in] DWORD cbPropData,
[out] DWORD *pcbReturned
);
參數
-
guidPropSet [in]
-
屬性集 的 GUID。
-
dwPropID [in]
-
屬性集內屬性的識別碼。
-
pInstanceData [in]
-
位元組陣列的指標,其中包含 屬性的實例資料。
-
cbInstanceData [in]
-
pInstanceData中指定陣列的大小,以位元組為單位。
-
pPropData [out]
-
接收屬性資料之位元組陣列的指標。
-
cbPropData [in]
-
pPropData中指定陣列的大小,以位元組為單位。
-
停止 [out]
-
接收方法複製到 pPropData 陣列的位元組數目。
傳回值
傳回 HRESULT 值。 可能的值如下。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
不支援屬性集。 |
|
指定的屬性集不支援屬性識別碼。 |
備註
注意
此名稱的另一個介面存在於 dsound.h 標頭檔中。 這兩個介面不相容。 DirectShow DDK 中記載的 IKsControl 介面現在是在 WDM 驅動程式與使用者模式元件之間傳遞屬性集的建議介面。
若要擷取屬性,請配置這個方法接著會填入的緩衝區。 若要判斷必要的緩衝區大小,請為pPropData指定Null,並為cbPropData指定零 (0) 。 這個方法會傳回必要緩衝區大小,以 取。
您必須在 Ksproxy.h 之前包含 Ks.h。
範例
下列範例會藉由擷取 AMPROPERTY_PIN_CATEGORY 屬性,查詢其釘選類別。 (請參閱 Pin 屬性 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;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
另請參閱