Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 172 of file classinst.c.
Referenced by InstallParallelPort().
{ PCM_RESOURCE_LIST lpResourceList = NULL; PCM_PARTIAL_RESOURCE_DESCRIPTOR lpResDes; ULONG i; DWORD dwBaseAddress = 0; DWORD dwPortNumber = 0; TRACE("GetParallelPortNumber(%p, %p)\n", DeviceInfoSet, DeviceInfoData); if (GetBootResourceList(DeviceInfoSet, DeviceInfoData, &lpResourceList)) { TRACE("Full resource descriptors: %ul\n", lpResourceList->Count); if (lpResourceList->Count > 0) { TRACE("Partial resource descriptors: %ul\n", lpResourceList->List[0].PartialResourceList.Count); for (i = 0; i < lpResourceList->List[0].PartialResourceList.Count; i++) { lpResDes = &lpResourceList->List[0].PartialResourceList.PartialDescriptors[i]; TRACE("Type: %u\n", lpResDes->Type); switch (lpResDes->Type) { case CmResourceTypePort: TRACE("Port: Start: %I64x Length: %lu\n", lpResDes->u.Port.Start.QuadPart, lpResDes->u.Port.Length); if (lpResDes->u.Port.Start.HighPart == 0) dwBaseAddress = (DWORD)lpResDes->u.Port.Start.LowPart; break; case CmResourceTypeInterrupt: TRACE("Interrupt: Level: %lu Vector: %lu\n", lpResDes->u.Interrupt.Level, lpResDes->u.Interrupt.Vector); break; } } } HeapFree(GetProcessHeap(), 0, lpResourceList); } switch (dwBaseAddress) { case 0x378: dwPortNumber = 1; break; case 0x278: dwPortNumber = 2; break; } return dwPortNumber; }