Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Identifiziert Ihre Implementierung der IBackgroundCopyCallback-Schnittstelle für BITS. Verwenden Sie die IBackgroundCopyCallback-Schnittstelle , um Benachrichtigungen über auftragsbezogene Ereignisse zu erhalten.
Syntax
HRESULT SetNotifyInterface(
IUnknown *Val
);
Die Parameter
Val
Ein IBackgroundCopyCallback-Schnittstellenzeiger . Um den aktuellen Rückrufschnittstellenzeiger zu entfernen, legen Sie diesen Parameter auf NULL fest.
Rückgabewert
Diese Methode gibt die folgenden HRESULT-Werte sowie andere zurück.
| Rückgabecode | Description |
|---|---|
|
Der Zeiger der Benachrichtigungsschnittstelle wurde erfolgreich festgelegt. |
|
Der Status des Auftrags kann nicht BG_JOB_STATE_CANCELLED oder BG_JOB_STATE_ACKNOWLEDGED werden. |
Bemerkungen
Rufen Sie diese Methode nur auf, wenn Sie die IBackgroundCopyCallback-Schnittstelle implementieren. Verwenden Sie die SetNotifyInterface-Methode in Verbindung mit der SetNotifyFlags-Methode , um den Typ der Benachrichtigung anzugeben, die Sie empfangen möchten.
Die Benachrichtigungsschnittstelle wird ungültig, wenn Die Anwendung beendet wird. BITS behält die Benachrichtigungsschnittstelle nicht bei. Daher sollte der Initialisierungsprozess Ihrer Anwendung die SetNotifyInterface-Methode für die vorhandenen Aufträge aufrufen, für die Sie eine Benachrichtigung erhalten möchten. Wenn Sie Status- und Statusinformationen erfassen müssen, die seit der letzten Ausführung der Anwendung aufgetreten sind, können Sie während der Anwendungsinitialisierung Status- und Statusinformationen abrufen.
Beachten Sie, dass BITS Ihren Rückruf auch dann aufruft, wenn das Ereignis, für das Sie sich bereits registriert haben, bereits aufgetreten ist.
Als Alternative zum Empfangen von Rückrufbenachrichtigungen können Sie registrieren, dass BITS eine Befehlszeile für Fehler- und übertragene Ereignisse ausführt. Weitere Informationen finden Sie unter der IBackgroundCopyJob2::SetNotifyCmdLine-Methode .
Beachten Sie, dass die letzte Anwendung, die die SetNotifyInterface-Methode aufruft, um die Benachrichtigungsschnittstelle für den Auftrag festzulegen, die letzte Anwendung, um die SetNotifyInterface-Methode aufzurufen, die Benachrichtigungen empfängt – die anderen Anwendungen erhalten keine Benachrichtigungen.
Examples
Das folgende Beispiel zeigt, wie die SetNotifyInterface-Methode aufgerufen wird. Ausführliche Informationen zur im folgenden Beispiel verwendeten CNotifyInterface-Beispielklasse finden Sie in der IBackgroundCopyCallback-Schnittstelle . Im Beispiel wird davon ausgegangen, dass der IBackgroundCopyJob-Schnittstellenzeiger gültig ist.
IBackgroundCopyJob* pJob;
CNotifyInterface* pNotify = new CNotifyInterface();
hr = pJob->SetNotifyInterface(pNotify);
if (SUCCEEDED(hr))
{
hr = pJob->SetNotifyFlags(BG_NOTIFY_JOB_TRANSFERRED |
BG_NOTIFY_JOB_ERROR);
}
pNotify->Release();
pNofity = NULL;
if (FAILED(hr))
{
//Handle error - unable to register for event notification.
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows XP |
| Mindestanforderungen für unterstützte Server | Windows Server 2003 |
| Zielplattform | Fenster |
| Header | bits.h |
| Library | Bits.lib |
| DLL | QmgrPrxy.dll |
Siehe auch
IBackgroundCopyJob2::SetNotifyCmdLine