Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
73a1c134
Commit
73a1c134
authored
Nov 17, 2023
by
Etaash Mathamsetty
Committed by
Alexandre Julliard
Dec 04, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cfgmgr32: Add CM_Register_Notification stub.
parent
17da2665
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
87 additions
and
0 deletions
+87
-0
cfgmgr32.spec
dlls/cfgmgr32/cfgmgr32.spec
+1
-0
main.c
dlls/cfgmgr32/main.c
+11
-0
cfgmgr32.h
include/cfgmgr32.h
+75
-0
No files found.
dlls/cfgmgr32/cfgmgr32.spec
View file @
73a1c134
...
...
@@ -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
...
...
dlls/cfgmgr32/main.c
View file @
73a1c134
...
...
@@ -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
;
}
include/cfgmgr32.h
View file @
73a1c134
...
...
@@ -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)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment