cfgmgr32: Add CM_Register_Notification stub.
This commit is contained in:
parent
17da2665e2
commit
73a1c134ad
3 changed files with 87 additions and 0 deletions
|
@ -154,6 +154,7 @@
|
|||
@ stub CM_Register_Device_InterfaceW
|
||||
@ stub CM_Register_Device_Interface_ExA
|
||||
@ stub CM_Register_Device_Interface_ExW
|
||||
@ stdcall CM_Register_Notification(ptr ptr ptr ptr)
|
||||
@ stub CM_Remove_SubTree
|
||||
@ stub CM_Remove_SubTree_Ex
|
||||
@ stub CM_Remove_Unmarked_Children
|
||||
|
|
|
@ -56,3 +56,14 @@ DWORD WINAPI CM_MapCrToWin32Err( CONFIGRET code, DWORD default_error )
|
|||
|
||||
return default_error;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Register_Notification (cfgmgr32.@)
|
||||
*/
|
||||
CONFIGRET WINAPI CM_Register_Notification( CM_NOTIFY_FILTER *filter, void *context,
|
||||
PCM_NOTIFY_CALLBACK callback, HCMNOTIFICATION *notify_context )
|
||||
{
|
||||
FIXME("%p %p %p %p stub!\n", filter, context, callback, notify_context);
|
||||
|
||||
return CR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -187,6 +187,7 @@ typedef DWORD CONFIGRET;
|
|||
typedef DWORD DEVINST, *PDEVINST;
|
||||
typedef DWORD DEVNODE, *PDEVNODE;
|
||||
typedef HANDLE HMACHINE, *PHMACHINE;
|
||||
typedef HANDLE HCMNOTIFICATION, *PHCMNOTIFICATION;
|
||||
typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
|
||||
typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
|
||||
typedef ULONG REGDISPOSITION;
|
||||
|
@ -208,6 +209,79 @@ typedef enum _PNP_VETO_TYPE
|
|||
PNP_VetoInsufficientRights
|
||||
} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
|
||||
|
||||
typedef enum _CM_NOTIFY_FILTER_TYPE
|
||||
{
|
||||
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE,
|
||||
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE,
|
||||
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE,
|
||||
CM_NOTIFY_FILTER_TYPE_MAX
|
||||
} CM_NOTIFY_FILTER_TYPE, *PCM_NOTIFY_FILTER_TYPE;
|
||||
|
||||
typedef enum _CM_NOTIFY_ACTION
|
||||
{
|
||||
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL,
|
||||
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL,
|
||||
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE,
|
||||
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED,
|
||||
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING,
|
||||
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE,
|
||||
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT,
|
||||
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED,
|
||||
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED,
|
||||
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED,
|
||||
CM_NOTIFY_ACTION_MAX
|
||||
} CM_NOTIFY_ACTION, *PCM_NOTIFY_ACTION;
|
||||
|
||||
typedef struct _CM_NOTIFY_FILTER
|
||||
{
|
||||
DWORD cbSize;
|
||||
DWORD Flags;
|
||||
CM_NOTIFY_FILTER_TYPE FilterType;
|
||||
DWORD Reserved;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
GUID ClassGuid;
|
||||
} DeviceInterface;
|
||||
struct
|
||||
{
|
||||
HANDLE hTarget;
|
||||
} DeviceHandle;
|
||||
struct
|
||||
{
|
||||
WCHAR InstanceId[MAX_DEVICE_ID_LEN];
|
||||
} DeviceInstance;
|
||||
} u;
|
||||
} CM_NOTIFY_FILTER, *PCM_NOTIFY_FILTER;
|
||||
|
||||
typedef struct _CM_NOTIFY_EVENT_DATA
|
||||
{
|
||||
CM_NOTIFY_FILTER_TYPE FilterType;
|
||||
DWORD Reserved;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
GUID ClassGuid;
|
||||
WCHAR SymbolicLink[ANYSIZE_ARRAY];
|
||||
} DeviceInterface;
|
||||
struct
|
||||
{
|
||||
GUID EventGuid;
|
||||
LONG NameOffset;
|
||||
DWORD DataSize;
|
||||
BYTE Data[ANYSIZE_ARRAY];
|
||||
} DeviceHandle;
|
||||
struct
|
||||
{
|
||||
WCHAR InstanceId[ANYSIZE_ARRAY];
|
||||
} DeviceInstance;
|
||||
} u;
|
||||
} CM_NOTIFY_EVENT_DATA, *PCM_NOTIFY_EVENT_DATA;
|
||||
|
||||
typedef DWORD (WINAPI *PCM_NOTIFY_CALLBACK)(HCMNOTIFICATION,void*,CM_NOTIFY_ACTION,CM_NOTIFY_EVENT_DATA*,DWORD);
|
||||
|
||||
DECL_WINELIB_CFGMGR32_TYPE_AW(DEVNODEID)
|
||||
DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
|
||||
|
||||
|
@ -249,6 +323,7 @@ CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST,DEVINSTID_W,ULONG);
|
|||
CMAPI DWORD WINAPI CM_MapCrToWin32Err(CONFIGRET,DWORD);
|
||||
CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key(DEVINST dnDevInst, REGSAM access, ULONG ulHardwareProfile,
|
||||
REGDISPOSITION disposition, PHKEY phkDevice, ULONG ulFlags);
|
||||
CMAPI CONFIGRET WINAPI CM_Register_Notification(PCM_NOTIFY_FILTER,PVOID,PCM_NOTIFY_CALLBACK,PHCMNOTIFICATION);
|
||||
CMAPI CONFIGRET WINAPI CM_Request_Device_EjectA(DEVINST dev, PPNP_VETO_TYPE type, LPSTR name, ULONG length, ULONG flags);
|
||||
CMAPI CONFIGRET WINAPI CM_Request_Device_EjectW(DEVINST dev, PPNP_VETO_TYPE type, LPWSTR name, ULONG length, ULONG flags);
|
||||
#define CM_Request_Device_Eject WINELIB_NAME_AW(CM_Get_Device_ID_List_Ex)
|
||||
|
|
Loading…
Add table
Reference in a new issue