Clients can be notified of events occurring on the system through this protocol by using a subscription. Here, a subscriber establishes interest in a set of events selected through an event query. The system delivers the selected events when they occur to the subscriber through the protocol. In this protocol, a client can use the EvtRpcRegisterRemoteSubscription method (as specified in section to set up the subscription. There are two types of subscriptions: pull and push subscriptions. The server knows the type of the subscription from the client subscription flag when it is created. The system delivers the events through the methods EvtRpcRemoteSubscriptionNext (as specified in section for pull subscription or EvtRpcRemoteSubscriptionNextAsync (as specified in section for push subscription.