IPrintAsyncNotifyDataObject::AcquireData 方法 (prnasnot.h)

将侦听应用程序定向到通知数据,包括数据的大小和类型。

语法

HRESULT AcquireData(
  [out] BYTE                       **ppNotificationData,
  [out] ULONG                      *pSize,
  [out] PrintAsyncNotificationType **ppSchema
);

parameters

[out] ppNotificationData

包含通知数据的缓冲区。

[out] pSize

数据缓冲区的大小。

[out] ppSchema

指向数据架构的 GUID 指针。

返回值

有关可能的值,请参阅 PrintAsyncNotifyError

有关 COM 错误代码的详细信息,请参阅错误处理

注解

调用此方法的应用程序在完成使用通知数据后,必须调用 ReleaseData

必须实现 IPrintAsyncNotifyDataObject 接口,以确保如果侦听应用程序尚未完成使用对象的数据, 则 IUnknown::Release 的调用不会释放对象。 因此,如果在应用程序已调用 AcquireData 但尚未调用 ReleaseData 时发生对 Release 的调用,则不得释放对象。 出于此原因,我们建议 AcquireData 使用 IUnknown::AddRef 递增对象的引用计数,并让 ReleaseData 递减计数。

打印后台处理程序失败时,它将创建 IPrintAsyncNotifyDataObject 对象。 当侦听器为此通知调用 AcquireData 时, ppNotificationDataNULL,大小为 0, ppSchema 为NOTIFICATION_RELEASE。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 prnasnot.h
DLL Prnasnot.dll

请参阅

异步打印通知接口

IPrintAsyncNotifyDataObject

打印