IPrintAsyncNotifyDataObject::AcquireData メソッド (prnasnot.h)
リッスンしているアプリケーションを通知データ (データのサイズや種類など) に転送します。
構文
HRESULT AcquireData(
[out] BYTE **ppNotificationData,
[out] ULONG *pSize,
[out] PrintAsyncNotificationType **ppSchema
);
パラメーター
[out] ppNotificationData
通知データを含むバッファー。
[out] pSize
データ バッファーのサイズ。
[out] ppSchema
データ スキーマへの GUID ポインター。
戻り値
使用可能な値については、「 PrintAsyncNotifyError 」を参照してください。
COM エラー コードの詳細については、「エラー処理」を参照してください。
解説
このメソッドを呼び出すアプリケーションは、通知データの使用が完了したら ReleaseData を呼び出す必要があります。
IPrintAsyncNotifyDataObject インターフェイスを実装して、リッスンしているアプリケーションがオブジェクトのデータの使用を完了していない場合に、IUnknown::Release の呼び出しによってオブジェクトが解放されないようにする必要があります。 したがって、アプリケーションが AcquireData を呼び出したが ReleaseData をまだ呼び出していないときに Release の呼び出しが発生した場合、オブジェクトを解放することはできません。 このため、 AcquireData では IUnknown::AddRef を使用してオブジェクトの参照カウントをインクリメントし、 ReleaseData でカウントをデクリメントすることをお勧めします。
印刷スプーラーが失敗すると、 IPrintAsyncNotifyDataObject オブジェクトが作成されます。 リスナーがこの通知に対して AcquireData を呼び出すと、 ppNotificationData は NULL、サイズは 0、 ppSchema はNOTIFICATION_RELEASE。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | prnasnot.h |
[DLL] | Prnasnot.dll |