3.1.1.6.3 Bidirectional Notification Generated

When generating a bidirectional notification, a notification source MUST identify an opened Bidirectional Notification Channel (section 3.1.1.1). In order to successfully generate a bidirectional notification, a notification source MUST NOT identify a particular bidirectional notification channel if a prior notification sent on that channel has not been responded to by a client’s call to IRPCAsyncNotify_GetNotificationSendResponse (Opnum 4) (section 3.1.1.4.4) or IRPCAsyncNotify_CloseChannel (Opnum 6) (section 3.1.1.4.6).

When a notification source generates the initial notification for a bidirectional notification channel, the server MUST hold that notification until one of two events occurs.

  • A client acquires the channel by sending a response as an input parameter to a call to IRPCAsyncNotify_GetNotificationSendResponse (Opnum 4) or IRPCAsyncNotify_CloseChannel (Opnum 6).

  • The bidirectional notification channel is closed by the notification source.

When a notification source generates any subsequent notification for a bidirectional notification channel, the server MUST immediately send it to the client as an output parameter to the IRPCAsyncNotify_GetNotificationSendResponse (Opnum 4) call that was used by the client to send its response to the preceding notification.