Free the debug info when making a critical section global.
[wine] / dlls / setupapi / devinst.c
1 /*
2  * SetupAPI device installer
3  *
4  * Copyright 2000 Andreas Mohr for Codeweavers
5  *
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.
10  *
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.
15  *
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
19  */
20
21 #include "windef.h"
22 #include "winbase.h"
23 #include "wine/debug.h"
24 #include "setupapi.h"
25
26 WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
27
28 /***********************************************************************
29  *              SetupDiGetDeviceInterfaceDetailA (SETUPAPI.@)
30  */
31 BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(
32       HDEVINFO DeviceInfoSet,
33       PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
34       PSP_DEVICE_INTERFACE_DETAIL_DATAA DeviceInterfaceDetailData,
35       DWORD DeviceInterfaceDetailDataSize,
36       PDWORD RequiredSize,
37       PSP_DEVINFO_DATA DeviceInfoData )
38 {
39     FIXME("\n");
40     return FALSE;
41 }
42
43 /***********************************************************************
44  *              SetupDiGetDeviceInterfaceDetailW (SETUPAPI.@)
45  */
46 BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(
47       HDEVINFO DeviceInfoSet,
48       PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
49       PSP_DEVICE_INTERFACE_DETAIL_DATAW DeviceInterfaceDetailData,
50       DWORD DeviceInterfaceDetailDataSize,
51       PDWORD RequiredSize,
52       PSP_DEVINFO_DATA DeviceInfoData )
53 {
54     FIXME("\n");
55     return FALSE;
56 }
57
58 /***********************************************************************
59  *              SetupDiEnumDeviceInterfaces (SETUPAPI.@)
60  */
61 BOOL WINAPI SetupDiEnumDeviceInterfaces(
62        HDEVINFO DeviceInfoSet,
63        PSP_DEVINFO_DATA DeviceInfoData,
64        CONST GUID * InterfaceClassGuid,
65        DWORD MemberIndex,
66        PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData)
67 {
68     FIXME("\n");
69     return FALSE;
70 }
71
72 /***********************************************************************
73  *              SetupDiGetClassDevsA (SETUPAPI.@)
74  */
75 HDEVINFO WINAPI SetupDiGetClassDevsA(
76        CONST GUID *class,
77        LPCSTR enumstr,
78        HWND parent,
79        DWORD flags)
80 {
81     FIXME("%s %s %p %08lx\n",debugstr_guid(class),enumstr,parent,flags);
82
83     return (HDEVINFO) INVALID_HANDLE_VALUE;
84 }
85
86 /***********************************************************************
87  *              SetupDiGetClassDevsW (SETUPAPI.@)
88  */
89 HDEVINFO WINAPI SetupDiGetClassDevsW(
90        CONST GUID *class,
91        LPCWSTR enumstr,
92        HWND parent,
93        DWORD flags)
94 {
95     FIXME("%s %s %p %08lx\n",debugstr_guid(class),debugstr_w(enumstr),parent,flags);
96
97     return (HDEVINFO) INVALID_HANDLE_VALUE;
98 }
99 /***********************************************************************
100  *              SetupDiEnumDeviceInfo (SETUPAPI.@)
101  */
102 BOOL WINAPI SetupDiEnumDeviceInfo(
103         HDEVINFO  devinfo,
104         DWORD  index,
105         PSP_DEVINFO_DATA info)
106 {
107     FIXME("%p %ld %p\n", devinfo, index, info );
108
109     if(info==NULL)
110         return FALSE;
111     if(info->cbSize < sizeof(*info))
112         return FALSE;
113
114     return FALSE;
115 }
116
117 /***********************************************************************
118  *              SetupDiDestroyDeviceInfoList (SETUPAPI.@)
119  */
120 BOOL WINAPI SetupDiDestroyDeviceInfoList( HDEVINFO devinfo )
121 {
122     FIXME("%04lx\n", (DWORD)devinfo);
123     return FALSE;
124 }
125
126 /***********************************************************************
127  *              SetupDiGetDeviceRegistryPropertyA (SETUPAPI.@)
128  */
129 BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(
130         HDEVINFO  devinfo,
131         PSP_DEVINFO_DATA  DeviceInfoData,
132         DWORD   Property,
133         PDWORD  PropertyRegDataType,
134         PBYTE   PropertyBuffer,
135         DWORD   PropertyBufferSize,
136         PDWORD  RequiredSize)
137 {
138     FIXME("%04lx %p %ld %p %p %ld %p\n", (DWORD)devinfo, DeviceInfoData,
139         Property, PropertyRegDataType, PropertyBuffer, PropertyBufferSize,
140         RequiredSize);
141     return FALSE;
142 }