1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*
* Copyright (C) 2005 Mike McCormack
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _CFGMGR32_H_
#define _CFGMGR32_H_
/* FIXME: #include <cfg.h> */
/* cfgmgr32 doesn't use the normal convention, it adds an underscore before A/W */
#ifdef WINE_NO_UNICODE_MACROS
# define DECL_WINELIB_CFGMGR32_TYPE_AW(type) /* nothing */
#else
# define DECL_WINELIB_CFGMGR32_TYPE_AW(type) typedef WINELIB_NAME_AW(type##_) type;
#endif
#define CMAPI
typedef DWORD CONFIGRET;
#define CR_SUCCESS 0x00
#define CR_DEFAULT 0x01
#define CR_OUT_OF_MEMORY 0x02
#define CR_INVALID_POINTER 0x03
#define CR_INVALID_FLAG 0x04
#define CR_INVALID_DEVNODE 0x05
#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
#define CR_INVALID_RES_DES 0x06
#define CR_INVALID_LOG_CONF 0x07
#define CR_INVALID_ARBITRATOR 0x08
#define CR_INVALID_NODELIST 0x09
#define CR_DEVNODE_HAS_REQS 0x0a
#define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
#define CR_INVALID_RESOURCEID 0x0b
#define CR_DLVXD_NOT_FOUND 0x0c
#define CR_NO_SUCH_DEVNODE 0x0d
#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
#define CR_NO_MORE_LOG_CONF 0x0e
#define CR_NO_MORE_RES_DES 0x0f
#define CR_ALREADY_SUCH_DEVNODE 0x10
#define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
#define CR_INVALID_RANGE_LIST 0x11
#define CR_INVALID_RANGE 0x12
#define CR_FAILURE 0x13
#define CR_NO_SUCH_LOGICAL_DEV 0x14
#define CR_CREATE_BLOCKED 0x15
#define CR_NOT_SYSTEM_VM 0x16
#define CR_REMOVE_VETOED 0x17
#define CR_APM_VETOED 0x18
#define CR_INVALID_LOAD_TYPE 0x19
#define CR_BUFFER_SMALL 0x1a
#define CR_NO_ARBITRATOR 0x1b
#define CR_NO_REGISTRY_HANDLE 0x1c
#define CR_REGISTRY_ERROR 0x1d
#define CR_INVALID_DEVICE_ID 0x1e
#define CR_INVALID_DATA 0x1f
#define CR_INVALID_API 0x20
#define CR_DEVLOADER_NOT_READY 0x21
#define CR_NEED_RESTART 0x22
#define CR_NO_MORE_HW_PROFILES 0x23
#define CR_DEVICE_NOT_THERE 0x24
#define CR_NO_SUCH_VALUE 0x25
#define CR_WRONG_TYPE 0x26
#define CR_INVALID_PRIORITY 0x27
#define CR_NOT_DISABLEABLE 0x28
#define CR_FREE_RESOURCES 0x29
#define CR_QUERY_VETOED 0x2a
#define CR_CANT_SHARE_IRQ 0x2b
#define CR_NO_DEPENDENT 0x2c
#define CR_SAME_RESOURCES 0x2d
#define CR_NO_SUCH_REGISTRY_KEY 0x2e
#define CR_INVALID_MACHINENAME 0x2f
#define CR_REMOTE_COMM_FAILURE 0x30
#define CR_MACHINE_UNAVAILABLE 0x31
#define CR_NO_CM_SERVICES 0x32
#define CR_ACCESS_DENIED 0x33
#define CR_CALL_NOT_IMPLEMENTED 0x34
#define CR_INVALID_PROPERTY 0x35
#define CR_DEVICE_INTERFACE_ACTIVE 0x36
#define CR_NO_SUCH_DEVICE_INTERFACE 0x37
#define CR_INVALID_REFERENCE_STRING 0x38
#define CR_INVALID_CONFLICT_LIST 0x39
#define CR_INVALID_INDEX 0x3a
#define CR_INVALID_STRUCTURE_SIZE 0x3b
#define NUM_CR_RESULTS 0x3c
#define MAX_CLASS_NAME_LEN 32
#define MAX_GUID_STRING_LEN 39
#define MAX_PROFILE_LEN 80
typedef DWORD DEVINST, *PDEVINST;
typedef DWORD DEVNODE, *PDEVNODE;
typedef HANDLE HMACHINE, *PHMACHINE;
typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
DECL_WINELIB_CFGMGR32_TYPE_AW(DEVNODEID)
DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
#ifdef __cplusplus
extern "C" {
#endif
CMAPI CONFIGRET WINAPI CM_Connect_MachineA(PCSTR,PHMACHINE);
CMAPI CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR,PHMACHINE);
#define CM_Connect_Machine WINELIB_NAME_AW(CM_Connect_Machine)
CMAPI CONFIGRET WINAPI CM_Create_DevNodeA(PDEVINST,DEVINSTID_A,DEVINST,ULONG);
CMAPI CONFIGRET WINAPI CM_Create_DevNodeW(PDEVINST,DEVINSTID_W,DEVINST,ULONG);
#define CM_Create_DevNode WINELIB_NAME_AW(CM_Create_DevNode)
CMAPI CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE);
CMAPI CONFIGRET WINAPI CM_Get_Device_IDA(DEVINST,PSTR,ULONG,ULONG);
CMAPI CONFIGRET WINAPI CM_Get_Device_IDW(DEVINST,PWSTR,ULONG,ULONG);
#define CM_Get_Device_ID WINELIB_NAME_AW(CM_Get_Device_ID)
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListA(PCSTR,PCHAR,ULONG,ULONG);
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListW(PCWSTR,PWCHAR,ULONG,ULONG);
#define CM_Get_Device_ID_List WINELIB_NAME_AW(CM_Get_Device_ID_List)
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExA(PCSTR,PCHAR,ULONG,ULONG,HMACHINE);
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExW(PCWSTR,PWCHAR,ULONG,ULONG,HMACHINE);
#define CM_Get_Device_ID_List_Ex WINELIB_NAME_AW(CM_Get_Device_ID_List_Ex)
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size(PULONG,DEVINST,ULONG);
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex(PULONG,DEVINST,ULONG,HMACHINE);
CMAPI CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST,DEVINSTID_A,ULONG);
CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST,DEVINSTID_W,ULONG);
#define CM_Locate_DevNode WINELIB_NAME_AW(CM_Locate_DevNode)
#ifdef __cplusplus
}
#endif
#undef DECL_WINELIB_CFGMGR32_TYPE_AW
#endif /* _CFGMGR32_H_ */