IPrintCoreUI2::GetGlobalAttribute 方法 (prcomoem.h)
IPrintCoreUI2::GetGlobalAttribute
方法會擷取全域屬性清單或特定全域屬性的值。
語法
HRESULT GetGlobalAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
參數
[in] poemuiobj
目前內容的指標,OEMUIOBJ 結構。
[in] dwFlags
已保留 ,且必須設定為零。
[in] pszAttribute
呼叫端提供的緩衝區指標,其中包含指定所要求之單一屬性的 ASCII 字串。 如果此參數 NULL,則呼叫端會要求所有支援的全域屬性名稱清單,而不是指定特定的全域屬性名稱。
[out] pdwDataType
接收指定所要求屬性數據類型之值的記憶體位置指標。 這個值是 EATTRIBUTE_DATATYPE 列舉的列舉值,定義於 printoem.h 中。
[out] pbData
接收要求數據的呼叫端提供的緩衝區指標。 若要只查詢滿足要求所需的位元元數目,請將此參數設定為 NULL。
[in] cbSize
指定 pbData所指向之緩衝區的大小,以位元組為單位。
[out] pcbNeeded
記憶體位置的指標,該位置會接收所要求數據的實際大小,以位元組為單位。
傳回值
這個方法必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
cbSize 中的值小於要寫入輸出緩衝區的位元組數目(pbData所指向的緩衝區)。
呼叫 方法時,pbData 設定為 NULL。 |
|
方法嘗試查詢不存在的屬性。
poemuiobj 參數指向無效的內容物件。 |
|
方法失敗 |
言論
只有 Windows XP Pscript5 外掛程式才支援此方法,不適用於 Unidrv 外掛程式。
如果呼叫這個方法時,其 pszAttribute,並將 pbData 參數設定為 NULL,此方法會傳回 * 設為所有支援全域屬性名稱清單所需的位元組數目。 如果方法第二次呼叫,pszAttribute 設定為 NULL,pbData 指向上一個呼叫中指定的大小緩衝區 *, 方法會傳回 *pdwDataType 設定為 kADT_ASCII (EATTRIBUTE_DATATYPE 列舉型別的列舉值),pbData 指向所有支援的全域名稱屬性以 Null 分隔的列表。 此清單會以兩個 Null 字元終止。
若要減少每次數據存取兩次呼叫的需求,請傳遞固定大小的輸出緩衝區 (例如 1 KB),然後檢查函式傳回值。 如果方法傳回S_OK,則緩衝區已經包含感興趣的數據。 如果方法傳回E_OUTOFMEMORY,* 中的值就是保存感興趣數據的緩衝區大小。 接著,呼叫端應該配置大小較大的緩衝區,然後繼續進行方法的第二次呼叫。
如需詳細資訊,請參閱使用 GetGlobalAttribute 。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | prcomoem.h (include Prcomoem.h) |
另請參閱
IPrintCoreUI2::GetFeatureAttribute