Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
3.5 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. enum.h
  5. Abstract:
  6. Author:
  7. Keisuke Tsuchida (KeisukeT) 01-Jun-2000
  8. Revision History:
  9. --*/
  10. #ifndef _ENUM_H_
  11. #define _ENUM_H_
  12. //
  13. // Define
  14. //
  15. #define MONITOR_NAME TEXT("STIMON.EXE")
  16. #define RUNDLL32 TEXT("RUNDLL32.EXE")
  17. #define STILL_IMAGE TEXT("StillImage")
  18. #define FRIENDLYNAME TEXT("FriendlyName")
  19. #define VENDORSETUP TEXT("VendorSetup")
  20. #define DEVICESECTION TEXT("DeviceData")
  21. #define PORTNAME TEXT("PortName")
  22. #define DEVICETYPE TEXT("DeviceType")
  23. #define DEVICESUBTYPE TEXT("DeviceSubType")
  24. #define CREATEFILENAME TEXT("CreateFileName")
  25. #define CAPABILITIES TEXT("Capabilities")
  26. #define EVENTS TEXT("Events")
  27. #define PROPERTYPAGES TEXT("PropertyPages")
  28. #define VENDOR TEXT("Vendor")
  29. #define UNINSTALLSECTION TEXT("UninstallSection")
  30. #define SUBCLASS TEXT("SubClass")
  31. #define ICMPROFILES TEXT("ICMProfiles")
  32. #define INFPATH TEXT("InfPath")
  33. #define INFSECTION TEXT("InfSection")
  34. #define ISPNP TEXT("IsPnP")
  35. #define LPTENUM TEXT("LptEnum")
  36. #define ENUM TEXT("\\Enum")
  37. #define PORTS TEXT("Ports")
  38. #define DONT_LOAD TEXT("don't load")
  39. #define CONTROL_INI TEXT("control.ini")
  40. #define CPL_NAME TEXT("sticpl.cpl")
  41. #define NO TEXT("no")
  42. #define LAUNCH_APP TEXT("LaunchApplications")
  43. #define SZ_GUID TEXT("GUID")
  44. #define CONNECTION TEXT("Connection")
  45. #define SERIAL TEXT("Serial")
  46. #define PARALLEL TEXT("Parallel")
  47. #define BOTH TEXT("Both")
  48. #define AUTO TEXT("AUTO")
  49. #define VIDEO_PATH_ID TEXT("DShowDeviceId")
  50. #define DEVICESECTION TEXT("DeviceData")
  51. #define WIAACMGR_PATH TEXT("wiaacmgr.exe")
  52. #define WIAACMGR_ARG TEXT("-SelectDevice")
  53. #define WIADEVLISTMUTEX TEXT("WiaDeviceListMutex")
  54. #define WIA_GUIDSTRING TEXT("{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}")
  55. #define REGKEY_DEVICE_PARMS TEXT("Device Parameters")
  56. #define REGKEY_CONTROLINIFILEMAPPING TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\IniFileMapping\\control.ini")
  57. #define REGSTR_VAL_FRIENDLY_NAME TEXT("FriendlyName")
  58. #define REGSTR_VAL_FRIENDLY_NAME_A "FriendlyName"
  59. #define REGSTR_VAL_DEVICE_ID TEXT("DeviceID")
  60. #define REGSTR_VAL_DEVICE_ID_W L"DeviceID"
  61. #define REGSTR_VAL_DEVICE_ID_A "DeviceID"
  62. #define FLAG_NO_LPTENUM 1
  63. #define ENUMLPT_HOLDTIME 3000 // in millisec
  64. //
  65. // Typedef
  66. //
  67. typedef struct _WIA_DEVPROP {
  68. BOOL bIsPlugged;
  69. ULONG ulProblem;
  70. ULONG ulStatus;
  71. HKEY hkDeviceRegistry;
  72. } WIA_DEVPROP, *PWIA_DEVPROP;
  73. typedef struct _WIA_DEVKEYLIST {
  74. DWORD dwNumberOfDevices;
  75. WIA_DEVPROP Dev[1];
  76. } WIA_DEVKEYLIST, *PWIA_DEVKEYLIST;
  77. //
  78. // Prototype
  79. //
  80. #ifdef __cplusplus
  81. extern "C" {
  82. #endif // __cplusplus
  83. PWIA_DEVKEYLIST
  84. WiaCreateDeviceRegistryList(
  85. BOOL bEnumActiveOnly
  86. );
  87. VOID
  88. WiaDestroyDeviceRegistryList(
  89. PWIA_DEVKEYLIST pWiaDevKeyList
  90. );
  91. BOOL IsStiRegKey(
  92. HKEY hkDevRegKey);
  93. BOOL
  94. IsPnpLptExisting(
  95. VOID
  96. );
  97. VOID
  98. EnumLpt(
  99. VOID
  100. );
  101. #ifdef __cplusplus
  102. }
  103. #endif // __cplusplus
  104. #endif // _ENUM_H_