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