svn path=/trunk/; revision=9795
HKEY hPnpKey;
DWORD dwType;
DWORD dwSize;
HKEY hPnpKey;
DWORD dwType;
DWORD dwSize;
PCM_FULL_RESOURCE_DESCRIPTOR lpBuffer;
PCM_PNP_BIOS_INSTALLATION_CHECK lpPnpInst;
PCM_PNP_BIOS_DEVICE_NODE lpDevNode;
PCM_FULL_RESOURCE_DESCRIPTOR lpBuffer;
PCM_PNP_BIOS_INSTALLATION_CHECK lpPnpInst;
PCM_PNP_BIOS_DEVICE_NODE lpDevNode;
-
- DWORD dwDataSize, dwResourceSize;
+ DWORD dwDataSize;
+ DWORD dwResourceSize;
- if (argc >1 && (!strcmp (argv[1],"/S") || !strcmp (argv[1],"/s")))
+ Ask = TRUE;
+ if (argc >1 && (!strcmp(argv[1],"/S") || !strcmp(argv[1],"/s")))
-
- if (argc >1 && !strcmp (argv[1],"/?"))
+
+ if (argc >1 && !strcmp(argv[1],"/?"))
- printf ("This utility prints the PnP-nodes from the registry\n");
- printf ("\"/s\" prevents the \"Press any key\"\n\n");
+ printf("This utility prints the PnP-nodes from the registry\n");
+ printf("\"/s\" prevents the \"Press any key\"\n\n");
lError = GetPnpKey(&hPnpKey);
if (lError != ERROR_SUCCESS)
{
lError = GetPnpKey(&hPnpKey);
if (lError != ERROR_SUCCESS)
{
/* Allocate buffer */
dwSize = 1024;
lpBuffer = malloc(dwSize);
/* Allocate buffer */
dwSize = 1024;
lpBuffer = malloc(dwSize);
+ if (lpBuffer == NULL)
+ {
+ printf("Error: malloc() failed\n");
+ RegCloseKey(hPnpKey);
+ return 0;
+ }
lError = RegQueryValueEx(hPnpKey,
"Configuration Data",
lError = RegQueryValueEx(hPnpKey,
"Configuration Data",
if (lError == ERROR_MORE_DATA)
{
printf("Need to resize buffer to %lu\n", dwSize);
if (lError == ERROR_MORE_DATA)
{
printf("Need to resize buffer to %lu\n", dwSize);
}
printf("Failed to read 'Configuration Data' value\n");
}
printf("Failed to read 'Configuration Data' value\n");
RegCloseKey(hPnpKey);
return 0;
}
RegCloseKey(hPnpKey);
return 0;
}
if (lpBuffer->PartialResourceList.Count == 0)
{
printf("Invalid resource count!\n");
if (lpBuffer->PartialResourceList.Count == 0)
{
printf("Invalid resource count!\n");
- printf ("Node: %x Size %hu (0x%hx)\n",
+ printf("Node: %x Size %hu (0x%hx)\n",
lpDevNode->Node,
lpDevNode->Size,
lpDevNode->Size);
lpDevNode->Node,
lpDevNode->Size,
lpDevNode->Size);
if (lpDevNode->Size == 0)
break;
if (lpDevNode->Size == 0)
break;
- printf ("Node: %x Size %hu (0x%hx)\n",
- lpDevNode->Node,
- lpDevNode->Size,
- lpDevNode->Size);
+ printf("Node: %x Size %hu (0x%hx)\n",
+ lpDevNode->Node,
+ lpDevNode->Size,
+ lpDevNode->Size);
dwDataSize += lpDevNode->Size;
lpDevNode = (PCM_PNP_BIOS_DEVICE_NODE)((DWORD)lpDevNode + lpDevNode->Size);
dwDataSize += lpDevNode->Size;
lpDevNode = (PCM_PNP_BIOS_DEVICE_NODE)((DWORD)lpDevNode + lpDevNode->Size);
- printf ("\n Press any key...\n");
+ printf("\n Press any key...\n");
}
dwDataSize = sizeof(CM_PNP_BIOS_INSTALLATION_CHECK);
}
dwDataSize = sizeof(CM_PNP_BIOS_INSTALLATION_CHECK);
while (dwDataSize < dwResourceSize)
{
while (dwDataSize < dwResourceSize)
{
- PrintDeviceData (lpDevNode);
+ if (lpDevNode->Size == 0)
+ break;
+
+ PrintDeviceData(lpDevNode);
- printf ("\n Press any key...\n");
+ printf("\n Press any key...\n");
dwDataSize += lpDevNode->Size;
lpDevNode = (PCM_PNP_BIOS_DEVICE_NODE)((DWORD)lpDevNode + lpDevNode->Size);
}
dwDataSize += lpDevNode->Size;
lpDevNode = (PCM_PNP_BIOS_DEVICE_NODE)((DWORD)lpDevNode + lpDevNode->Size);
}