次の方法で共有


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

予約済みであり、0 に設定する必要があります。

[in] pszAttribute

要求された 1 つの属性を指定する ASCII 文字列を含む呼び出し元が指定したバッファーへのポインター。 このパラメーターが NULL 場合、呼び出し元は、特定のグローバル属性名を指定するのではなく、サポートされているすべてのグローバル属性名のリストを要求します。

[out] pdwDataType

要求された属性のデータ型を指定する値を受け取るメモリ位置へのポインター。 この値は、printoem.h で定義されている EATTRIBUTE_DATATYPE 列挙体の列挙子です。

[out] pbData

要求されたデータを受信する呼び出し元が指定したバッファーへのポインター。 要求を満たすために必要なバイト数を照会するには、このパラメーターを NULL 設定します。

[in] cbSize

pbData が指すバッファーのサイズバイト単位で指定します。

[out] pcbNeeded

要求されたデータの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。

戻り値

このメソッドは、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
cbSize の値が、出力バッファーに書き込まれるバイト数 (pbDataが指すバッファー) よりも小さかった。

このメソッドは、pbDataNULLに設定して呼び出されました。

E_INVALIDARG
このメソッドは、存在しない属性のクエリを実行しようとしました。

パラメーターが無効なコンテキスト オブジェクトを指しています。

E_FAIL
メソッドが失敗しました

備考

このメソッドは、Windows XP Pscript5 プラグインでのみサポートされ、Unidrv プラグインではサポートされません。

このメソッドが pszAttribute を使用して呼び出され、pbData パラメーター NULLに設定されている場合、このメソッドは *pcbNeeded をサポートされているすべてのグローバル属性名の一覧に必要なバイト数に設定して返します。 メソッドが 2 回目に呼び出された場合、pszAttribute NULL に設定し、前の呼び出しで *pcbNeeded で指定されたサイズのバッファーを指す pbData します。 このメソッドは、 *pdwDataType kADT_ASCII (EATTRIBUTE_DATATYPE 列挙型の列挙子) に設定 され、サポートされているすべてのグローバル属性名の null 区切りリストを指す pbData を返します。 このリストは、2 つの null 文字で終了します。

データ アクセスごとに 2 つの呼び出しを行う必要性を減らすには、メソッドに固定サイズ (1 KB など) の出力バッファーを渡し、関数の戻り値を確認します。 メソッドがS_OKを返す場合、バッファーには対象のデータが既に含まれています。 メソッドがE_OUTOFMEMORYを返す場合、*pcbNeeded の値は、目的のデータを保持するために必要なバッファー サイズです。 呼び出し元は、その大きなサイズのバッファーを割り当て、メソッドの 2 番目の呼び出しを続行する必要があります。

詳細については、「GetGlobalAttribute の使用」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)

関連項目

IPrintCoreUI2

IPrintCoreUI2::GetFeatureAttribute

IPrintCoreUI2::GetOptionAttribute

OEMUIOBJ する