248{
251 INFCONTEXT MfgContext, DevContext, MiscContext;
253
259 {
262 }
263
267 &MfgContext))
268 {
269 ERR(
"No Manufacurer section found!\n");
270 goto done;
271 }
272
273 for (;;)
274 {
276 1,
277 szLineBuffer,
280 break;
281
282 TRACE(
"Manufacturer: %S\n", szLineBuffer);
284 szLineBuffer,
286 &DevContext))
287 break;
288
289 for (;;)
290 {
292 2,
293 szLineBuffer,
296 break;
297
298 TRACE(
"Device: %S\n", szLineBuffer);
299 if (
_wcsicmp(szLineBuffer, pszComponentId) == 0)
300 {
301 TRACE(
"Found it!\n");
302
303
305 1,
307 0,
309
311 0,
313 if (pComponentInfo->pszInfSection)
314 {
316 1,
317 pComponentInfo->pszInfSection,
320 }
321
322
324 0,
326 0,
328
330 0,
332 if (pComponentInfo->pszDescription)
333 {
335 0,
336 pComponentInfo->pszDescription,
339 }
340
341
345 &MiscContext))
346 {
348 1,
350 0,
352
354 0,
356 if (pComponentInfo->pszInfSection)
357 {
359 1,
360 pComponentInfo->pszClassGuid,
363 }
364 }
365
366
368 pComponentInfo->pszInfSection,
370 &MiscContext))
371 {
373 1,
374 (
PINT)&pComponentInfo->dwCharacteristics);
375 }
376
379 }
380
382 break;
383 }
384
386 break;
387 }
388
389done:
392
394}
#define INVALID_HANDLE_VALUE
static DWORD DWORD * dwLength
HINF WINAPI SetupOpenInfFileW(PCWSTR name, PCWSTR class, DWORD style, UINT *error)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
BOOL WINAPI SetupGetStringFieldW(IN PINFCONTEXT Context, IN ULONG FieldIndex, OUT PWSTR ReturnBuffer, IN ULONG ReturnBufferSize, OUT PULONG RequiredSize)
BOOL WINAPI SetupFindFirstLineW(IN HINF InfHandle, IN PCWSTR Section, IN PCWSTR Key, IN OUT PINFCONTEXT Context)
BOOL WINAPI SetupGetIntField(IN PINFCONTEXT Context, IN ULONG FieldIndex, OUT INT *IntegerValue)
BOOL WINAPI SetupFindNextLine(IN PINFCONTEXT ContextIn, OUT PINFCONTEXT ContextOut)
VOID WINAPI SetupCloseInfFile(IN HINF InfHandle)