RpcServerUnsubscribeForNotification-Funktion (rpcasync.h)
Mit der Funktion RpcServerUnsubscribeForNotification wird der Server von RPC-Benachrichtigungen abgemeldet.
Syntax
RPC_STATUS RpcServerUnsubscribeForNotification(
[in] RPC_BINDING_HANDLE Binding,
[in] RPC_NOTIFICATIONS Notification,
[out] unsigned long *NotificationsQueued
);
Parameter
[in] Binding
RPC_BINDING_HANDLE Struktur, die das Bindungshandle für den aktuellen RPC-Aufruf enthält, der in einem vorherigen Aufruf von RpcServerSubscribeForNotification angegeben wurde. Wenn diese Funktion im selben Thread aufgerufen wird, für den RPC einen Aufruf ausgelöst hat, kann dieser Parameter auf NULL festgelegt werden. Andernfalls muss in diesem Parameter ein explizites Bindungshandle übergeben werden.
[in] Notification
Ein Wert aus der RPC_NOTIFICATIONS-Enumeration , der den Typ der vom RPC-Server angeforderten Benachrichtigung angibt. Benachrichtigungen müssen einzeln abbestellt werden, mehrere Werte werden nicht unterstützt.
Windows Vista: Derzeit werden nur RpcNotificationClientDisconnect und RpcNotificationCallCancel unterstützt. Wenn für diesen Parameter ein anderer Wert angegeben wird, wird der RPC_S_CANNOT_SUPPORT Fehlercode zurückgegeben.
[out] NotificationsQueued
Ein erforderlicher Zeiger auf einen Wert, der die Anzahl der Benachrichtigungen empfängt, die die RPC-Runtime für den angegebenen RPC-Aufruf in die Warteschlange gestellt hat. Der Zeiger muss bereitgestellt werden; Sie ist nicht optional.
Ihr Code sollte die Anzahl der empfangenen Benachrichtigungen nachverfolgen. Wenn Sie RPC-Benachrichtigungen abbestellen, sollten Sie überprüfen, ob die Anzahl der Benachrichtigungen, die die RPC-Runtime in die Warteschlange gestellt hat, mit der Anzahl der empfangenen Benachrichtigungen übereinstimmt. Wenn die Zahlen nicht übereinstimmen, können einige Benachrichtigungen noch in einem anderen Thread eingehen. Sie sollten das Bereinigen des Benachrichtigungsstatus verzögern, bis Sie alle eingehenden Benachrichtigungen erhalten.
Rückgabewert
Diese Funktion gibt bei Erfolg RPC_S_OK zurück. Andernfalls wird ein RPC_S_*-Fehlercode zurückgegeben.
Hinweise
RpcServerUnsubscribeForNotification muss für jedes RPC-Bindungshandle aufgerufen werden, für das auch RpcServerSubscribeForNotification für den zugeordneten RPC-Aufruf aufgerufen wurde. Diese API muss aufgerufen werden, bevor der zugehörige RPC-Aufruf abgeschlossen ist. andernfalls sind die Ergebnisse nicht definiert und könnten zu Anwendungsinstabilität führen.
Nicht bearbeitete Benachrichtigungen können abgerufen werden, nachdem diese API zurückgegeben wurde.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista, Windows XP mit SP2 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008, Windows Server 2003 mit SP1 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | rpcasync.h (include Rpc.h) |
Bibliothek | Rpcrt4.lib |
DLL | Rpcrt4.dll |