Freigeben über


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

Weitere Informationen

Benachrichtigungsschnittstellen für asynchrones Drucken

IPrintAsyncNotifyDataObject

Drucken