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 時, ppNotificationData 為 Null、大小為 0,且 ppSchema NOTIFICATION_RELEASE。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | prnasnot.h |
Dll | Prnasnot.dll |