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,