cfgmgr32: Flesh out cfgmgr32.h a bit more and fix the corresponding functions.
Francois Gouget
fgouget at free.fr
Tue Nov 13 02:32:13 CST 2007
---
dlls/setupapi/stubs.c | 15 ++++----
include/cfgmgr32.h | 94 +++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 95 insertions(+), 14 deletions(-)
diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c
index 7d73be2..c39a40a 100644
--- a/dlls/setupapi/stubs.c
+++ b/dlls/setupapi/stubs.c
@@ -26,6 +26,7 @@
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
+#include "cfgmgr32.h"
#include "setupapi.h"
WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
@@ -52,10 +53,8 @@ DWORD WINAPI suErrorToIds16( WORD w1, WORD w2 )
/***********************************************************************
* CM_Connect_MachineW (SETUPAPI.@)
*/
-DWORD WINAPI CM_Connect_MachineW(LPCWSTR name, void * machine)
+CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR name, PHMACHINE machine)
{
-#define CR_SUCCESS 0x00000000
-#define CR_ACCESS_DENIED 0x00000033
FIXME("\n");
return CR_ACCESS_DENIED;
}
@@ -63,7 +62,7 @@ DWORD WINAPI CM_Connect_MachineW(LPCWSTR name, void * machine)
/***********************************************************************
* CM_Disconnect_Machine (SETUPAPI.@)
*/
-DWORD WINAPI CM_Disconnect_Machine(DWORD handle)
+CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE handle)
{
FIXME("\n");
return CR_SUCCESS;
@@ -73,7 +72,7 @@ DWORD WINAPI CM_Disconnect_Machine(DWORD handle)
/***********************************************************************
* CM_Get_Device_IDA (SETUPAPI.@)
*/
-DWORD WINAPI CM_Get_Device_IDA( LPVOID dnDevInst, LPSTR Buffer,
+CONFIGRET WINAPI CM_Get_Device_IDA( DEVINST dnDevInst, PSTR Buffer,
ULONG BufferLen, ULONG ulFlags)
{
FIXME("%p, %p, %u %u\n",dnDevInst, Buffer, BufferLen, ulFlags);
@@ -85,7 +84,7 @@ DWORD WINAPI CM_Get_Device_IDA( LPVOID dnDevInst, LPSTR Buffer,
* CM_Get_Device_ID_ListA (SETUPAPI.@)
*/
-DWORD WINAPI CM_Get_Device_ID_ListA(
+CONFIGRET WINAPI CM_Get_Device_ID_ListA(
PCSTR pszFilter, PCHAR Buffer, ULONG BufferLen, ULONG ulFlags )
{
FIXME("%p %p %d %d\n", pszFilter, Buffer, BufferLen, ulFlags );
@@ -96,10 +95,10 @@ DWORD WINAPI CM_Get_Device_ID_ListA(
/***********************************************************************
* CM_Get_Device_ID_Size (SETUPAPI.@)
*/
-DWORD WINAPI CM_Get_Device_ID_Size( ULONG* pulLen, LPVOID dnDevInst,
+CONFIGRET WINAPI CM_Get_Device_ID_Size( PULONG pulLen, DEVINST dnDevInst,
ULONG ulFlags)
{
- FIXME("%p %p %u\n",pulLen, dnDevInst, ulFlags);
+ FIXME("%p %x %u\n",pulLen, dnDevInst, ulFlags);
*pulLen = 1;
return CR_SUCCESS;
}
diff --git a/include/cfgmgr32.h b/include/cfgmgr32.h
index 3214c43..5862fa6 100644
--- a/include/cfgmgr32.h
+++ b/include/cfgmgr32.h
@@ -19,22 +19,104 @@
#ifndef _CFGMGR32_H_
#define _CFGMGR32_H_
+/* FIXME: #include <cfg.h> */
+
+#define CMAPI
typedef DWORD CONFIGRET;
-#define CR_SUCCESS 0
+#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
+#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;
#ifdef __cplusplus
extern "C" {
#endif
-CONFIGRET WINAPI CM_Get_Device_ID_ListA( PCSTR, PCHAR, ULONG, ULONG );
-CONFIGRET WINAPI CM_Get_Device_ID_ListW( PCWSTR, PWCHAR, ULONG, ULONG );
+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_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);
#ifdef __cplusplus
}
--
1.5.3.4
More information about the wine-patches
mailing list