NDISUIO_REQUEST_NOTIFICATION (Compact 2013)
3/26/2014
This structure is used by IOCTL_NDISUIO_REQUEST_NOTIFICATION to subscribe to adapter-related notifications.
Syntax
typedef struct{
HANDLE hMsgQueue;
DWORD dwNotificationTypes;
}NDISUIO_REQUEST_NOTIFICATION, *PNDISUIO_REQUEST_NOTIFICATION;
Members
- hMsgQueue
Handle to the message queue.
dwNotificationTypes
This value should be a union of flag values. The following table shows values for dwNotificationType.Notification flag
Value
NDISUIO_NOTIFICATION_RESET_START
0x00000001
NDISUIO_NOTIFICATION_RESET_END
0x00000002
NDISUIO_NOTIFICATION_MEDIA_CONNECT
0x00000004
NDISUIO_NOTIFICATION_MEDIA_DISCONNECT
0x00000008
NDISUIO_NOTIFICATION_BIND
0x00000010
NDISUIO_NOTIFICATION_UNBIND
0x00000020
NDISUIO_NOTIFICATION_ADAPTER_ARRIVAL
0x00000040
NDISUIO_NOTIFICATION_ADAPTER_REMOVAL
0x00000080
NDISUIO_NOTIFICATION_DEVICE_POWER_UP
0x00000200
NDISUIO_NOTIFICATION_DEVICE_POWER_DOWN
0x00000400
Remarks
This notification can be used by more than one application. Applications can receive this notification for any miniport driver without associating with it.
To receive notifications, an application must
Create a message queue by calling CreateMsgQueue.
Set hMsgQueue member of NDISUIO_REQUEST_NOTIFICATION to the handle returned by CreateMsgQueue.
Set the dwNotificationType member of NDISUIO_REQUEST_NOTIFICATION to the combination of flags representing the events that are required by application. The event flags (NDISUIO_NOTIFICATION_*) are declared in Nuiouser.h
Call IOCTL_NDISUIO_REQUEST_NOTIFICATION and pass the configured NDISUIO_REQUEST_NOTIFICATION structure.
Whenever a notification is received by NDISUIO, it posts an event to the message queue specified by hMsgQueue. The information about the event is returned in NDISUIO_DEVICE_NOTIFICATION.
Note
Sometimes event information returned may contain more data. In this case, the returned data is placed after NDISUIO_DEVICE_NOTIFICATION. The uiStatusBufferSize member of NDISUIO_DEVICE_NOTIFICATION is updated to indicate the size of data that is appended to this structure.
To stop receiving notifications, use IOCTL_NDISUIO_CANCEL_NOTIFICATION. The application must also close the message queue handle returned by CreateMsgQueue by calling the CloseHandle function.
Requirements
Header |
nuiouser.h |