RM_NOTIFICATION_TYPE (Compact 7)
3/12/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