IPrintAsyncNotifyDataObject::AcquireData-Methode (prnasnot.h)
Leitet lauschende Anwendungen an die Benachrichtigungsdaten weiter, einschließlich der Größe und des Typs der Daten.
Syntax
HRESULT AcquireData(
[out] BYTE **ppNotificationData,
[out] ULONG *pSize,
[out] PrintAsyncNotificationType **ppSchema
);
Parameter
[out] ppNotificationData
Ein Puffer, der die Benachrichtigungsdaten enthält.
[out] pSize
Die Größe des Datenpuffers.
[out] ppSchema
Ein GUID-Zeiger auf das Datenschema.
Rückgabewert
Die möglichen Werte finden Sie unter PrintAsyncNotifyError .
Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.
Hinweise
Anwendungen, die diese Methode aufrufen, müssen ReleaseData aufrufen, wenn sie die Benachrichtigungsdaten verwendet haben.
Die IPrintAsyncNotifyDataObject-Schnittstelle muss implementiert werden, um sicherzustellen, dass ein Aufruf von IUnknown::Release das Objekt nicht freigibt, wenn eine lauschende Anwendung die Nutzung der Daten des Objekts nicht abgeschlossen hat. Wenn ein Aufruf von Release auftritt, wenn eine Anwendung AcquireData aufgerufen hat, aber noch nicht ReleaseData aufgerufen hat, darf das Objekt nicht freigegeben werden. Aus diesem Grund wird empfohlen, dass AcquireDataIUnknown::AddRef verwendet, um die Verweisanzahl des Objekts zu erhöhen und die Anzahl von ReleaseData zu verringern.
Wenn der Print-Spooler fehlschlägt, wird ein IPrintAsyncNotifyDataObject-Objekt erstellt. Wenn ein Listener AcquireData für diese Benachrichtigung aufruft, ist ppNotificationDataNULL, die Größe 0 und ppSchema ist NOTIFICATION_RELEASE.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | prnasnot.h |
DLL | Prnasnot.dll |