- printf("device %d:\n", devidx);\r
- ifidx = 0;\r
- for(;;) {\r
- memset(&devif, 0, sizeof devif);\r
- devif.cbSize = sizeof devif;\r
- if(!SetupDiEnumDeviceInterfaces(devset, &devinfo, &GUID_DEVINTERFACE_DISK, ifidx, &devif)) {\r
- if(GetLastError() == ERROR_NO_MORE_ITEMS) {\r
- printf("no such interface: %d\n", ifidx);\r
- break;\r
- }\r
- ifidx++;\r
- continue;\r
- }\r
-\r
- SetupDiGetDeviceInterfaceDetail(devset, &devif, 0, 0, &detsz, 0);\r
- if(!(devdetail = malloc(detsz))) {\r
- fprintf(stderr, "failed to allocate device interface detail buffer (size: %lu)\n", (unsigned long)detsz);\r
- return 1;\r
- }\r
- devdetail->cbSize = detsz;\r
- SetupDiGetDeviceInterfaceDetail(devset, &devif, devdetail, detsz, 0, 0);\r
- printf("device %d.%d path: %s\n", devidx, ifidx, devdetail->DevicePath);\r
- free(devdetail);\r
-\r
- ifidx++;\r
+ SetupDiGetDeviceInterfaceDetail(devset, &devif, 0, 0, &detsz, 0);\r
+ if(!(devdetail = malloc(detsz))) {\r
+ fprintf(stderr, "failed to allocate device interface detail buffer (size: %lu)\n", (unsigned long)detsz);\r
+ return 1;\r