windows-nt/Source/XPSP1/NT/net/config/netcfg/engine/classinst.h
2020-09-26 16:20:57 +08:00

126 lines
3 KiB
C

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1999.
//
// File: C L A S S I N S T . H
//
// Contents: Defines the interface between the binding engine and the
// network class installer.
//
// Notes:
//
// Author: billbe 15 Jan 1999
//
//----------------------------------------------------------------------------
#pragma once
#include "comp.h"
#include "install.h"
#include "ncsetup.h"
#include <ntioapi.h>
struct COMPONENT_INSTALL_INFO
{
NETCLASS Class;
PCWSTR pszInfId;
PCWSTR pszInfFile;
HWND hwndParent;
GUID InstanceGuid;
BOOL fPreviouslyInstalled;
DWORD dwCharacter;
PCWSTR pszSectionName;
PCWSTR pszDescription;
PCWSTR pszPnpId;
HDEVINFO hdi;
PSP_DEVINFO_DATA pdeid;
INTERFACE_TYPE BusType;
BOOL fRemoteBoot;
};
HRESULT
HrCiGetClassAndInfFileOfInfId (
IN PCWSTR pszInfId,
OUT NETCLASS* pClass,
OUT PWSTR pszInfFile); // Must be _MAX_PATH long
HRESULT
HrCiIsInstalledComponent(
IN COMPONENT_INSTALL_INFO* pcii,
OUT HKEY* phkey);
HRESULT
HrCiInstallComponent (
IN const COMPONENT_INSTALL_PARAMS& Params,
OUT CComponent** ppComponent,
OUT DWORD* pdwNewCharacter);
HRESULT
HrCiInstallFilterDevice (
IN HDEVINFO hdi,
IN PCWSTR pszInfId,
IN CComponent* pAdapter,
IN CComponent* pFilter,
IN class CFilterDevice** ppFilterDevice);
HRESULT
HrCiInstallFromInfSection(
IN HINF hinfFile,
IN PCWSTR pszInfSectionName,
IN HKEY hkeyRelative,
IN HWND hwndParent,
IN DWORD dwInstallFlags);
HRESULT
HrCiRemoveComponent (
IN const CComponent* pComponent,
OUT tstring* pstrRemoveSection OPTIONAL);
HRESULT
HrCiRemoveFilterDevice (
IN HDEVINFO hdi,
IN SP_DEVINFO_DATA* pdeid);
HRESULT
HrCiPrepareSelectDeviceDialog(
IN HDEVINFO hdi,
IN PSP_DEVINFO_DATA pdeid);
HRESULT
HrCiRemoveNonEnumeratedComponent (
IN HINF hinf,
IN HKEY hkeyInstance,
IN NETCLASS eClass,
IN const GUID& InstanceGuid);
HRESULT
HrCiGetDriverInfo (
IN HDEVINFO hdi,
IN OUT PSP_DEVINFO_DATA pdeid,
IN const GUID& guidClass,
IN PCWSTR pszInfId,
IN PCWSTR pszInfFile OPTIONAL);
HRESULT
HrCiGetDriverDetail(
IN HDEVINFO hdi,
IN PSP_DEVINFO_DATA pdeid,
OUT PSP_DRVINFO_DATA pdrid,
OUT PSP_DRVINFO_DETAIL_DATA* ppdridd);
HRESULT
HrCiSelectComponent(
IN NETCLASS Class,
IN HWND hwndParent,
IN const CI_FILTER_INFO* pcfi,
OUT COMPONENT_INSTALL_PARAMS** ppParams);
HRESULT
HrCiInstallComponentInternal(
IN OUT COMPONENT_INSTALL_INFO* pcii);