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.

125 lines
3.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1999.
  5. //
  6. // File: C L A S S I N S T . H
  7. //
  8. // Contents: Defines the interface between the binding engine and the
  9. // network class installer.
  10. //
  11. // Notes:
  12. //
  13. // Author: billbe 15 Jan 1999
  14. //
  15. //----------------------------------------------------------------------------
  16. #pragma once
  17. #include "comp.h"
  18. #include "install.h"
  19. #include "ncsetup.h"
  20. #include <ntioapi.h>
  21. struct COMPONENT_INSTALL_INFO
  22. {
  23. NETCLASS Class;
  24. PCWSTR pszInfId;
  25. PCWSTR pszInfFile;
  26. HWND hwndParent;
  27. GUID InstanceGuid;
  28. BOOL fPreviouslyInstalled;
  29. DWORD dwCharacter;
  30. PCWSTR pszSectionName;
  31. PCWSTR pszDescription;
  32. PCWSTR pszPnpId;
  33. HDEVINFO hdi;
  34. PSP_DEVINFO_DATA pdeid;
  35. INTERFACE_TYPE BusType;
  36. BOOL fRemoteBoot;
  37. };
  38. HRESULT
  39. HrCiGetClassAndInfFileOfInfId (
  40. IN PCWSTR pszInfId,
  41. OUT NETCLASS* pClass,
  42. OUT PWSTR pszInfFile); // Must be _MAX_PATH long
  43. HRESULT
  44. HrCiIsInstalledComponent(
  45. IN COMPONENT_INSTALL_INFO* pcii,
  46. OUT HKEY* phkey);
  47. HRESULT
  48. HrCiInstallComponent (
  49. IN const COMPONENT_INSTALL_PARAMS& Params,
  50. OUT CComponent** ppComponent,
  51. OUT DWORD* pdwNewCharacter);
  52. HRESULT
  53. HrCiInstallFilterDevice (
  54. IN HDEVINFO hdi,
  55. IN PCWSTR pszInfId,
  56. IN CComponent* pAdapter,
  57. IN CComponent* pFilter,
  58. IN class CFilterDevice** ppFilterDevice);
  59. HRESULT
  60. HrCiInstallFromInfSection(
  61. IN HINF hinfFile,
  62. IN PCWSTR pszInfSectionName,
  63. IN HKEY hkeyRelative,
  64. IN HWND hwndParent,
  65. IN DWORD dwInstallFlags);
  66. HRESULT
  67. HrCiRemoveComponent (
  68. IN const CComponent* pComponent,
  69. OUT tstring* pstrRemoveSection OPTIONAL);
  70. HRESULT
  71. HrCiRemoveFilterDevice (
  72. IN HDEVINFO hdi,
  73. IN SP_DEVINFO_DATA* pdeid);
  74. HRESULT
  75. HrCiPrepareSelectDeviceDialog(
  76. IN HDEVINFO hdi,
  77. IN PSP_DEVINFO_DATA pdeid);
  78. HRESULT
  79. HrCiRemoveNonEnumeratedComponent (
  80. IN HINF hinf,
  81. IN HKEY hkeyInstance,
  82. IN NETCLASS eClass,
  83. IN const GUID& InstanceGuid);
  84. HRESULT
  85. HrCiGetDriverInfo (
  86. IN HDEVINFO hdi,
  87. IN OUT PSP_DEVINFO_DATA pdeid,
  88. IN const GUID& guidClass,
  89. IN PCWSTR pszInfId,
  90. IN PCWSTR pszInfFile OPTIONAL);
  91. HRESULT
  92. HrCiGetDriverDetail(
  93. IN HDEVINFO hdi,
  94. IN PSP_DEVINFO_DATA pdeid,
  95. OUT PSP_DRVINFO_DATA pdrid,
  96. OUT PSP_DRVINFO_DETAIL_DATA* ppdridd);
  97. HRESULT
  98. HrCiSelectComponent(
  99. IN NETCLASS Class,
  100. IN HWND hwndParent,
  101. IN const CI_FILTER_INFO* pcfi,
  102. OUT COMPONENT_INSTALL_PARAMS** ppParams);
  103. HRESULT
  104. HrCiInstallComponentInternal(
  105. IN OUT COMPONENT_INSTALL_INFO* pcii);