CODES.CPP
上传用户:zhuqijet
上传日期:2007-01-04
资源大小:138k
文件大小:2k
源码类别:

驱动编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "pciCode.h" // vendor codes
  3. #define DIM(x) (sizeof(x) / sizeof((x)[0]))
  4. /****************************************************************************
  5. *                                findVendor
  6. * Inputs:
  7. *       USHORT VendorID: PCI Vendor ID
  8. * CString & ShortVendor: place to put short vendor name
  9. * CString & LongVendor: place to put long vendor name
  10. * Result: BOOL
  11. *       TRUE if successful; ShortVendor and LongVendor defined
  12. * FALSE if not found; ShortVendor and LongVendor unchanged
  13. ****************************************************************************/
  14. BOOL findVendor(USHORT VendorID, CString & ShortVendor, CString & LongVendor)
  15.     {
  16.      for(int i = 0; i < DIM(PciVenTable); i++)
  17.         { /* scan vendor table */
  18.  if(PciVenTable[i].VenId == VendorID)
  19.     { /* found it */
  20.      ShortVendor = PciVenTable[i].VenShort;
  21.      LongVendor  = PciVenTable[i].VenFull;
  22.      return TRUE;
  23.     } /* found it */
  24. } /* scan vendor table */
  25.      return FALSE;
  26.     }
  27. /****************************************************************************
  28. *                                findDevice
  29. * Inputs:
  30. *       USHORT VendorID: vendor ID
  31. * USHORT DeviceID: device ID
  32. * CString & chip:  Chip name
  33. * CString & desc:  Chip description
  34. * Result: BOOL
  35. *       TRUE if found, chip and desc modified
  36. * FALSE if not found, chip and desc unchanged
  37. ****************************************************************************/
  38. BOOL findDevice(USHORT VendorID, USHORT DeviceID, CString & chip, CString & desc)
  39.     {
  40.      for(int i = 0; i < DIM(PciDevTable); i++)
  41.         { /* scan device table */
  42.  if(PciDevTable[i].VenId == VendorID &&
  43.     PciDevTable[i].DevId == DeviceID)
  44.        { /* found it */
  45.         chip = PciDevTable[i].Chip;
  46. desc = PciDevTable[i].ChipDesc;
  47. return TRUE;
  48.        } /* found it */
  49. } /* scan device table */
  50.      return FALSE;
  51.     }