Leaked source code of windows server 2003
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.

208 lines
3.4 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. BOOL
  79. WINAPI
  80. CreateWiaShortcut(
  81. VOID
  82. );
  83. BOOL
  84. WINAPI
  85. DeleteWiaShortcut(
  86. VOID
  87. );
  88. HANDLE
  89. SelectDevInfoFromDeviceId(
  90. LPTSTR pszDeviceId
  91. );
  92. DLLEXPORT
  93. VOID
  94. CALLBACK
  95. WiaCreateWizardMenu(
  96. HWND hwnd,
  97. HINSTANCE hinst,
  98. LPSTR lpszCmdLine,
  99. int nCmdShow
  100. );
  101. DLLEXPORT
  102. VOID
  103. CALLBACK
  104. AddDevice(
  105. HWND hWnd,
  106. HINSTANCE hInst,
  107. LPSTR lpszCmdLine,
  108. int nCmdShow
  109. );
  110. BOOL
  111. CALLBACK
  112. RemoveDevice(
  113. HWND hWnd,
  114. HINSTANCE hInst,
  115. LPTSTR lpszCmdLine,
  116. int nCmdShow
  117. );
  118. INT CALLBACK
  119. iHdwWizardDlgCallback(
  120. IN HWND hwndDlg,
  121. IN UINT uMsg,
  122. IN LPARAM lParam
  123. );
  124. BOOL
  125. SetSelectDevTitleAndInstructions(
  126. HDEVINFO hDevInfo,
  127. LPCTSTR pszTitle,
  128. LPCTSTR pszSubTitle,
  129. LPCTSTR pszInstn
  130. );
  131. HANDLE
  132. GetDeviceInterfaceIndex(
  133. LPTSTR pszLocalName,
  134. DWORD *pdwIndex
  135. );
  136. BOOL
  137. WINAPI
  138. WiaDeviceEnum(
  139. VOID
  140. );
  141. DLLEXPORT
  142. PWIA_PORTLIST
  143. WINAPI
  144. WiaCreatePortList(
  145. VOID
  146. );
  147. DLLEXPORT
  148. VOID
  149. WINAPI
  150. WiaDestroyPortList(
  151. PWIA_PORTLIST pWiaPortList
  152. );
  153. BOOL
  154. CheckPortForDevice(
  155. LPTSTR szDeviceId,
  156. BOOL *pbIsSerial,
  157. BOOL *pbIsParallel,
  158. BOOL *pbIsAutoCapable,
  159. BOOL *pbIsPortSelectable
  160. );
  161. DLLEXPORT
  162. BOOL
  163. WINAPI
  164. MigrateDevice(
  165. PDEVICE_INFO pMigratingDevice
  166. );
  167. #endif // _EXPORTS_H_