PTGetPrintCapabilities 関数 (prntvpt.h)
XML 印刷スキーマに準拠して書式設定されたプリンターの機能を取得します。
構文
HRESULT PTGetPrintCapabilities(
[in] HPTPROVIDER hProvider,
[in] IStream *pPrintTicket,
IStream *pCapabilities,
[out] BSTR *pbstrErrorMessage
);
パラメーター
[in] hProvider
印刷機能を取得するオープン プロバイダーへのハンドル。 このハンドルは、 PTOpenProvider または PTOpenProviderEx 関数によって返されます。
[in] pPrintTicket
印刷チケット コンテンツの先頭にシーク位置があるストリームへのポインター。 このパラメーターは、NULL でもかまいません。
pCapabilities
現在のシーク位置から開始して、印刷機能が書き込まれるストリームへのポインター。
[out] pbstrErrorMessage
pPrintTicket に関して何が無効であるかを指定する文字列へのポインター。 有効な場合、この値は NULL です。
戻り値
操作が成功した場合、戻り値はS_OK。
hProvider が別のスレッドで開かれた場合、HRESULT はE_INVALIDARG。
pPrintTicket が印刷スキーマに準拠していない場合、HRESULT はE_PRINTTICKET_FORMAT。
pCapabilities が印刷スキーマに準拠していない場合、HRESULT はE_PRINTCAPABILITIES_FORMAT。
hProvider が別のスレッドで開かれた場合、HRESULT はE_INVALIDARG。
それ以外の場合は、 HRESULT に別のエラー コードが返されます。 COM エラー コードの詳細については、「エラー処理」を参照してください。
注釈
プリンター ドライバーは 、pPrintTicket 値 (値が NULL でない場合) を使用して、ドライバーが現在の設定に応じて異なるプリンター機能を生成するときに設定を作成します。
関数が戻ると、 pPrintTicket のシーク位置は印刷チケットコンテンツの末尾にあり、 pCapabilities のシーク位置はストリームの末尾にあります。 呼び出し元が、CreateStreamOnHGlobal によって作成されたストリームなどの pCapabilities にメモリ ストリームを使用する場合、呼び出し元はデータを読み取る前にシーク位置をリセットする必要があります。
関数が戻るときに pbstrErrorMessage が NULL でない場合、呼び出し元は SysFreeString で文字列を解放する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | prntvpt.h |
Library | Prntvpt.lib |
[DLL] | Prntvpt.dll |