Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
// Service Control Manager notifications
#define WZCNOTIF_UNKNOWN 0
#define WZCNOTIF_DEVICE_ARRIVAL 1
#define WZCNOTIF_DEVICE_REMOVAL 2
// WMI notifications
#define WZCNOTIF_ADAPTER_BIND 3
#define WZCNOTIF_ADAPTER_UNBIND 4
#define WZCNOTIF_MEDIA_CONNECT 5
#define WZCNOTIF_MEDIA_DISCONNECT 6
#define WZCNOTIF_WZC_CONNECT 7
// datatype describing the WZC specific notifcation sent to the upper levels
// whenver a WZC Configuration has been successfully plumbed down.
typedef struct _WZC_CONFIG_NOTIF { DWORD dwSessionHdl; NDIS_802_11_SSID ndSSID; RAW_DATA rdEventData; WCHAR wszGuid[1]; } WZC_CONFIG_NOTIF, *PWZC_CONFIG_NOTIF;
// the datatype below is used to bring all different types of notifications
// to one common point within the Wireless Zero Configuration Service. Each
// type of notification should have a WZCNOTIF* constant defined and should
// enlist its specific data structure (with variable lenght probably) in the
// union from within the WZC_DEVICE_NOTIF structure
typedef struct _WZC_DEVICE_NOTIF { DWORD dwEventType; // one of WZCNOTIF* values
union { DEV_BROADCAST_DEVICEINTERFACE dbDeviceIntf; // filled in for SCM notifications
WNODE_HEADER wmiNodeHdr; // filled in for WMI notifications
WZC_CONFIG_NOTIF wzcConfig; // null terminated guid name
}; } WZC_DEVICE_NOTIF, *PWZC_DEVICE_NOTIF;
// Upper level app commands (might move to wzcsapi.h later)
#define WZCCMD_HARD_RESET 0
#define WZCCMD_SOFT_RESET 1
#define WZCCMD_CFG_NEXT 2 // cmd to switch to the next cfg in the list
#define WZCCMD_CFG_DELETE 3 // cmd to delete the currently plumbed cfg
#define WZCCMD_CFG_NOOP 4 // cmd no operation can be done on the crt config
#define WZCCMD_CFG_SETDATA 5 // cmd to set the BLOB associated with the crt config
#define WZCCMD_SKEY_QUERY 6 // cmd to retrieve the dynamic session keys
#define WZCCMD_SKEY_SET 7 // cmd to set the dynamic session keys
// (Upper level app -> WZC) interraction. Upper level app can partially control
// the functioning of WZC by providing certain stimulus to the state machine.
// Parameters:
// dwCtrlCode:
// [in] one of WZCCMD_* constants
// wszIntfGuid:
// [in] the guid of the interface to which the command is addressed
DWORD RpcCmdInterface( IN DWORD dwHandle, // handle to check the validity of the command against the WZC state
IN DWORD dwCmdCode, // one of the WZCCMD_* constants
IN LPWSTR wszIntfGuid, // interface GUID to which the command is addressed
IN PRAW_DATA prdUserData); // raw user data
// (Upper level app <- WZC) notification. Upper level app gets notifications
// from WZC through this call.
DWORD ElMediaEventsHandler( IN PWZC_DEVICE_NOTIF pwzcDeviceNotif); // notification blob
// (Upper level app <- WZC) notification. Upper level app gets notified
// from WZC whenever the user is altering the list of preferred networks
DWORD ElWZCCfgChangeHandler( IN LPWSTR wszIntfGuid, PWZC_802_11_CONFIG_LIST pwzcCfgList);
DWORD WZCSvcCheckRPCAccess(DWORD dwAccess);
HINSTANCE WZCGetSPResModule();
|