Share via


RM_NOTIFICATION_TYPE (Compact 2013)

3/26/2014

This enumeration represents Resource Manager notification types. Notifications are sent by Resource Manager to a client through the RM_CALLBACK function passed to RmInitialize.

Syntax

typedef enum RM_NOTIFICATION_TYPE {
    RMNT_REVOKE,
    RMNT_SUSPEND_RESUME,
    RMNT_RESOURCE_AVAILABILITY,
    RMNT_RESOURCE_ROAMING,
        RMNT_RESOURCE_NETWORK_TYPE,
    RMNT_LAST
} RM_NOTIFICATION_TYPE ;

Element Definitions

  • RMNT_REVOKE
    The resource was removed or lost. This occurs when a resource has been given to another application or a resource is lost due to a change in the state of the resource.

    The pData parameter of RM_CALLBACK points to a RM_REVOKE_INFO structure containing the resource handle of the revoked resource and includes information regarding the revoke reason.

  • RMNT_SUSPEND_RESUME
    The resource was suspended or resumed due to external causes.

    This notification typically occurs in suspend/resume pairs.

    When suspended, the resource is still exclusively allocated to the client that originally acquired it, but cannot be used until a resume notification is received.

    The resume notification is sent when a previously suspended resource is available for use again.

    For example, a cellular data connection receives a suspend notification when a voice call is active. A resume notification is sent when the voice call is disconnected.

    The pData parameter of RM_CALLBACK points to a RM_SUSPEND_RESUME_INFO structure that contains the resource handle returned from the RmAcquire call and a Boolean value that indicates the current resource state: TRUE for suspended and FALSE for not suspended.

  • RMNT_RESOURCE_AVAILABILITY
    The resource availability has changed.

    For example, a cellular data connection receives this notification when a voice call is active, and again when the voice call becomes inactive and the cellular data connection is again available.

    This notification often occurs in tandem with the RMNT_SUSPEND_RESUME notification.

    The pData parameter of RM_CALLBACK points to a RM_AVAILABILITY_INFO structure. This structure contains the RM_RESOURCE_ID, and a Boolean fAvailable parameter that indicates the current resource state: TRUE for available and FALSE for not available. If the resource is not available, it also contains a reason code that indicates the primary cause.

    The reason code is not valid for resource available notifications.

  • RMNT_RESOURCE_ROAMING
    The resource has crossed a roaming boundary.

    This notification is sent when a resource has moved from what is considered a home network area to an outside network or vice versa. This is a concept where a cellular device can operate on other networks outside of the device's local or issuing network. When operating on an outside network (roaming) the resource may have different characteristics such as cost and bandwidth.

    The pData parameter of the RM_CALLBACK points to a RM_ROAMING_INFO structure. This structure contains the RM_RESOURCE_ID of the resource, and a Boolean fRoaming parameter that indicates the current resource state: TRUE for roaming and FALSE for not roaming.

  • RMNT_RESOURCE_NETWORK_TYPE
    This notification is sent when the underlying network technology used by the resource is changed. Examples of network type are GPRS, EDGE, UMTS, and HSDPA for cellular GPRS connections, 802.11a/b/g for WiFi, or 1xRTT, EVDO, and EVDV for CDMA cellular connections. The pData parameter of the callback points to a RM_NETWORK_TYPE_INFO structure that contains the corresponding resource ID and the network type. The GUID value is defined by the underlying Resource Service Provider (and usually the corresponding Connection Manager Connection Service Provider). It is common to reuse the Connection Manager CM_CONNECTION_NETWORK_TYPE value.
  • RMNT_LAST
    The last value.

Requirements

Header

rmnet.h

See Also

Reference

Resource Manager Enumerations
RM_CALLBACK
RM_NETWORK_TYPE_INFO
RM_REVOKE_INFO
RM_SUSPEND_RESUME_INFO
RM_AVAILABILITY_INFO
RM_ROAMING_INFO
RM_RESOURCE_ID
RmAcquire
Resource Manager Reference