NPSNotifyRegister
DWORD NPSNotifyRegister(
enum NOTIFYTYPE NotifyType,
NOTIFYCALLBACK NotifyCallBack
);
- NotifyType
- The type of notification. This takes the values:
NotifyAddConnection |
For adding connections. |
NotifyCancelConnection |
For canceling connections. |
NotifyGetConnectionPerformance |
For get connection performance estimates. |
- NotifyCallBack
- The notification function to be called back in the context of the application making the WNet request. A different callback address should be given for each type of notification registered.
- WN_SUCCESS - the notification function was successfully registered with MPR.
WN_BAD_VALUE |
NotifyType is not a valid operation type, or NotifyCallBack is NULL. |
WN_OUT_OF_MEMORY |
MPR is out of memory, so the notification function was not registered. |
The notification function takes the same form for notification of all operations:
DWORD (FAR PASCAL *NOTIFYCALLBACK) pfNotifyCallback(
LPNOTIFYINFO lpNotifyInfo,
LPVOID lpOperationInfo
);
lpNotifyInfo |
Generic notification information common to all types of operation. |
lpOperationInfo |
Pointer to a structure containing information specific to the operation being attempted. The structure is given below for each type of notification function. |
Returns WN_SUCCESS - the notification was processed without error. If dwNotifyStatus has the NOTIFY_PRE flag set, the operation will be attempted and *pfNotifyCallback called again with the NOTIFY_POST flag set in dwNotifyStatus. The return status in dwOperationStatus is returned to the user.
WN_RETRY |
The operation failed and the notification function wants a retry. The operation will be retried by MPR and the pre-notification is not done a second time to this NP. This value should not be returned when being pre-notified or post-notified of a successful operation (if it is, it will be treated as WN_SUCCESS). |
WN_CANCEL |
The user canceled the operation in some user interface produced within *pfNotifyCallback. WN_CANCEL is returned to the caller and a subsequent post-notification is not done to this NP, so any memory allocated for the context should be freed by the NP. This value should not be returned when being post-notified of a successful operation (if it is, it will be treated as WN_SUCCESS). |
Any other value is returned to the caller as the result of the operation attempt (unless in post-notification of a successful operation, in which case it is ignored), so should only be returned if there was some internal error in the notify function (such as WN_OUT_OF_MEMORY) or to alter the error return status code to the caller. If an error is returned in pre-notification, post-notification is not done to this NP. When in post-notification and an error is returned, NPSSetCustomText or NPSSetExtendedError may be called to specify the error text, but SetLastError does not need to be explicitly called.