2 * SetupAPI device installer
4 * Copyright 2000 Andreas Mohr for Codeweavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 #include "wine/debug.h"
27 WINE_DEFAULT_DEBUG_CHANNEL(setupapi
);
29 /***********************************************************************
30 * DiGetClassDevs (SETUPX.304)
31 * Return a list of installed system devices.
32 * Uses HKLM\\ENUM to list devices.
34 RETERR16 WINAPI
DiGetClassDevs16(LPLPDEVICE_INFO16 lplpdi
,
35 LPCSTR lpszClassName
, HWND16 hwndParent
, INT16 iFlags
)
39 FIXME("(%p, '%s', %04x, %04x), semi-stub.\n",
40 lplpdi
, lpszClassName
, hwndParent
, iFlags
);
41 lpdi
= HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, sizeof(DEVICE_INFO16
));
42 lpdi
->cbSize
= sizeof(DEVICE_INFO16
);
47 /***********************************************************************
48 * SetupDiGetDeviceInterfaceDetailA (SETUPAPI.@)
50 BOOL WINAPI
SetupDiGetDeviceInterfaceDetailA(
51 HDEVINFO DeviceInfoSet
,
52 PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
,
53 PSP_DEVICE_INTERFACE_DETAIL_DATAA DeviceInterfaceDetailData
,
54 DWORD DeviceInterfaceDetailDataSize
,
56 PSP_DEVINFO_DATA DeviceInfoData
)
62 /***********************************************************************
63 * SetupDiGetDeviceInterfaceDetailW (SETUPAPI.@)
65 BOOL WINAPI
SetupDiGetDeviceInterfaceDetailW(
66 HDEVINFO DeviceInfoSet
,
67 PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
,
68 PSP_DEVICE_INTERFACE_DETAIL_DATAW DeviceInterfaceDetailData
,
69 DWORD DeviceInterfaceDetailDataSize
,
71 PSP_DEVINFO_DATA DeviceInfoData
)
77 /***********************************************************************
78 * SetupDiEnumDeviceInterfaces (SETUPAPI.@)
80 BOOL WINAPI
SetupDiEnumDeviceInterfaces(
81 HDEVINFO DeviceInfoSet
,
82 PSP_DEVINFO_DATA DeviceInfoData
,
83 CONST GUID
* InterfaceClassGuid
,
85 PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
)
91 /***********************************************************************
92 * SetupDiGetClassDevsA (SETUPAPI.@)
94 HDEVINFO WINAPI
SetupDiGetClassDevsA(
100 FIXME("%s %s %p %08lx\n",debugstr_guid(class),enumstr
,parent
,flags
);
102 return (HDEVINFO
) INVALID_HANDLE_VALUE
;
105 /***********************************************************************
106 * SetupDiGetClassDevsW (SETUPAPI.@)
108 HDEVINFO WINAPI
SetupDiGetClassDevsW(
114 FIXME("%s %s %p %08lx\n",debugstr_guid(class),debugstr_w(enumstr
),parent
,flags
);
116 return (HDEVINFO
) INVALID_HANDLE_VALUE
;
118 /***********************************************************************
119 * SetupDiEnumDeviceInfo (SETUPAPI.@)
121 BOOL WINAPI
SetupDiEnumDeviceInfo(
124 PSP_DEVINFO_DATA info
)
126 FIXME("%p %ld %p\n", devinfo
, index
, info
);
130 if(info
->cbSize
< sizeof *info
)
136 /***********************************************************************
137 * SetupDiDestroyDeviceInfoList (SETUPAPI.@)
139 BOOL WINAPI
SetupDiDestroyDeviceInfoList( HDEVINFO devinfo
)
141 FIXME("%04lx\n", (DWORD
)devinfo
);
145 /***********************************************************************
146 * SetupDiGetDeviceRegistryPropertyA (SETUPAPI.@)
148 BOOL WINAPI
SetupDiGetDeviceRegistryPropertyA(
150 PSP_DEVINFO_DATA DeviceInfoData
,
152 PDWORD PropertyRegDataType
,
153 PBYTE PropertyBuffer
,
154 DWORD PropertyBufferSize
,
157 FIXME("%04lx %p %ld %p %p %ld %p\n", (DWORD
)devinfo
, DeviceInfoData
,
158 Property
, PropertyRegDataType
, PropertyBuffer
, PropertyBufferSize
,