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.

216 lines
3.3 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORP., 2000
  4. *
  5. * TITLE: Exports..h
  6. *
  7. * VERSION: 1.0
  8. *
  9. * AUTHOR: KeisukeT
  10. *
  11. * DATE: 27 Mar, 2000
  12. *
  13. * DESCRIPTION:
  14. * Header file for class installer exports.
  15. *
  16. *******************************************************************************/
  17. #ifndef _EXPORTS_H_
  18. #define _EXPORTS_H_
  19. //
  20. // Include
  21. //
  22. #include <sti.h>
  23. //
  24. // Define
  25. //
  26. #define STR_ADD_DEVICE TEXT("rundll32.exe sti_ci.dll,AddDevice")
  27. #define STR_REMOVE TEXT("rundll32.exe sti_ci.dll,RemoveDevice ")
  28. #define REGKEY_WINDOWS_CURRENTVERSION TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion")
  29. #define REGSTR_VAL_ACCESSORIES_NAME TEXT("SM_AccessoriesName")
  30. #define WIA_DEVKEYLIST_INITIAL_SIZE 1024
  31. //
  32. // Typedef
  33. //
  34. typedef struct _WIA_DEVKEYLIST {
  35. DWORD dwNumberOfDevices;
  36. HKEY hkDeviceRegistry[1];
  37. } WIA_DEVKEYLIST, *PWIA_DEVKEYLIST;
  38. typedef struct _WIA_PORTLIST {
  39. DWORD dwNumberOfPorts;
  40. LPWSTR szPortName[1];
  41. } WIA_PORTLIST, *PWIA_PORTLIST;
  42. typedef PWIA_DEVKEYLIST (CALLBACK FAR * WIAENUMDEVICEREGISTRY)(BOOL bEnumActiveOnly);
  43. //
  44. // Prototype
  45. //
  46. HANDLE
  47. WiaInstallerProcess(
  48. LPTSTR lpCommandLine
  49. );
  50. INT
  51. CALLBACK
  52. iHdwWizardDlgCallback(
  53. IN HWND hwndDlg,
  54. IN UINT uMsg,
  55. IN LPARAM lParam
  56. );
  57. BOOL
  58. SetSelectDevTitleAndInstructions(
  59. HDEVINFO hDevInfo,
  60. PSP_DEVINFO_DATA pspDevInfoData,
  61. LPCTSTR pszTitle,
  62. LPCTSTR pszSubTitle,
  63. LPCTSTR pszInstn,
  64. LPCTSTR pszListLabel
  65. );
  66. DLLEXPORT
  67. HANDLE
  68. WINAPI
  69. WiaAddDevice(
  70. VOID
  71. );
  72. DLLEXPORT
  73. BOOL
  74. WINAPI
  75. WiaRemoveDevice(
  76. PSTI_DEVICE_INFORMATION pStiDeviceInformation
  77. );
  78. DLLEXPORT
  79. BOOL
  80. WINAPI
  81. CreateWiaShortcut(
  82. VOID
  83. );
  84. DLLEXPORT
  85. BOOL
  86. WINAPI
  87. DeleteWiaShortcut(
  88. VOID
  89. );
  90. HANDLE
  91. SelectDevInfoFromFriendlyName(
  92. LPTSTR pszLocalName
  93. );
  94. HANDLE
  95. SelectDevInfoFromDeviceId(
  96. LPTSTR pszDeviceId
  97. );
  98. DLLEXPORT
  99. VOID
  100. CALLBACK
  101. WiaCreateWizardMenu(
  102. HWND hwnd,
  103. HINSTANCE hinst,
  104. LPSTR lpszCmdLine,
  105. int nCmdShow
  106. );
  107. DLLEXPORT
  108. VOID
  109. CALLBACK
  110. AddDevice(
  111. HWND hWnd,
  112. HINSTANCE hInst,
  113. LPSTR lpszCmdLine,
  114. int nCmdShow
  115. );
  116. BOOL
  117. CALLBACK
  118. RemoveDevice(
  119. HWND hWnd,
  120. HINSTANCE hInst,
  121. LPTSTR lpszCmdLine,
  122. int nCmdShow
  123. );
  124. INT CALLBACK
  125. iHdwWizardDlgCallback(
  126. IN HWND hwndDlg,
  127. IN UINT uMsg,
  128. IN LPARAM lParam
  129. );
  130. BOOL
  131. SetSelectDevTitleAndInstructions(
  132. HDEVINFO hDevInfo,
  133. LPCTSTR pszTitle,
  134. LPCTSTR pszSubTitle,
  135. LPCTSTR pszInstn
  136. );
  137. HANDLE
  138. GetDeviceInterfaceIndex(
  139. LPTSTR pszLocalName,
  140. DWORD *pdwIndex
  141. );
  142. DLLEXPORT
  143. BOOL
  144. WINAPI
  145. WiaDeviceEnum(
  146. VOID
  147. );
  148. DLLEXPORT
  149. PWIA_PORTLIST
  150. WINAPI
  151. WiaCreatePortList(
  152. VOID
  153. );
  154. DLLEXPORT
  155. VOID
  156. WINAPI
  157. WiaDestroyPortList(
  158. PWIA_PORTLIST pWiaPortList
  159. );
  160. BOOL
  161. CheckPortForDevice(
  162. LPTSTR szDeviceId,
  163. BOOL *pbIsSerial,
  164. BOOL *pbIsParallel,
  165. BOOL *pbIsAutoCapable,
  166. BOOL *pbIsPortSelectable
  167. );
  168. DLLEXPORT
  169. BOOL
  170. WINAPI
  171. MigrateDevice(
  172. PDEVICE_INFO pMigratingDevice
  173. );
  174. #endif // _EXPORTS_H_