共用方式為


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 會遞減計數。

當 Print Spooler 失敗時,它會建立 IPrintAsyncNotifyDataObject 物件。 當接聽程式針對此通知呼叫 AcquireData 時, ppNotificationDataNull、大小為 0,且 ppSchema NOTIFICATION_RELEASE。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 prnasnot.h
Dll Prnasnot.dll

另請參閱

非同步列印通知介面

IPrintAsyncNotifyDataObject

列印