IPrintCoreUI2::GetOptionAttribute メソッド (prcomoem.h)
IPrintCoreUI2::GetOptionAttribute
メソッドは、オプション属性リストまたは特定のオプション属性の値を取得します。
構文
HRESULT GetOptionAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
パラメーター
[in] poemuiobj
現在のコンテキストへのポインター。OEMUIOBJ 構造体。
[in] dwFlags
予約済みであり、0 に設定する必要があります。
[in] pszFeatureKeyword
クエリを実行する 1 つの特徴キーワードを指定する ASCII 文字列を含む呼び出し元が指定したバッファーへのポインター。
[in] pszOptionKeyword
クエリ対象の単一オプション キーワードを指定する ASCII 文字列を含む呼び出し元が指定したバッファーへのポインター。 この値は、IPrintCoreUI2::EnumOptionsの前の呼び出しから取得できます。
[in] pszAttribute
要求された 1 つの属性を指定する ASCII 文字列を含む呼び出し元が指定したバッファーへのポインター。 このパラメーターが NULL 場合、呼び出し元は、オプションの特定の属性名を指定するのではなく、オプションでサポートされているすべての属性名のリストを要求します。
[out] pdwDataType
要求された属性のデータ型を指定する値を受け取るメモリ位置へのポインター。 この値は、EATTRIBUTE_DATATYPE 列挙体の列挙子です。
[out] pbData
要求されたデータを受信する呼び出し元が指定したバッファーへのポインター。 要求を満たすために必要なバイト数を照会するには、このパラメーターを NULL 設定します。
[in] cbSize
pbData が指すバッファーのサイズバイト単位で指定します。
[out] pcbNeeded
要求されたデータの実際のサイズ (バイト単位) を受け取るメモリ位置へのポインター。
戻り値
このメソッドは、次のいずれかの値を返す必要があります。
リターン コード | 形容 |
---|---|
|
メソッドは成功しました。 |
|
cbSize の値が、出力バッファーに書き込まれるバイト数 (pbDataが指すバッファー) よりも小さかった。
このメソッドは、pbDataNULLに設定して呼び出されました。 |
|
このメソッドは、存在しない属性のクエリを実行しようとしました。
機能キーワード名またはオプション キーワード名が認識されませんでした。 の パラメーターが無効なコンテキスト オブジェクトを指しています。 |
|
メソッドが失敗しました |
備考
このメソッドは、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 番目の呼び出しを続行する必要があります。
詳細については、「GetOptionAttribute の使用」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | prcomoem.h (Prcomoem.h を含む) |
関連項目
IPrintCoreUI2::GetFeatureAttribute
IPrintCoreUI2::GetGlobalAttribute
OEMUIOBJ を する