windows-nt/Source/XPSP1/NT/printscan/ui/printui/drvsetup.hxx
2020-09-26 16:20:57 +08:00

285 lines
5.6 KiB
C++

/*++
Copyright (C) Microsoft Corporation, 1996 - 1999
All rights reserved.
Module Name:
drvsetup.hxx
Abstract:
Printer driver setup class header.
Author:
Steve Kiraly (SteveKi) 13-Dec-1996
Revision History:
--*/
#ifndef _DRVSETUP_HXX
#define _DRVSETUP_HXX
/********************************************************************
Printer Driver installation class.
********************************************************************/
class TPrinterDriverInstallation {
public:
enum {
kDefault = -1,
};
enum EStatusCode {
kSuccess,
kCancel,
kError,
};
typedef BOOL ( *pfDownloadIsInternetAvailable )( VOID );
TPrinterDriverInstallation::
TPrinterDriverInstallation(
IN LPCTSTR pszServerName = NULL,
IN HWND hwnd = NULL
);
TPrinterDriverInstallation::
~TPrinterDriverInstallation(
VOID
);
BOOL
TPrinterDriverInstallation::
bValid(
VOID
) const;
EStatusCode
TPrinterDriverInstallation::
ePromptForDriverSelection(
VOID
);
BOOL
TPrinterDriverInstallation::
bSetDriverName(
IN const TString &strDriverName
);
BOOL
TPrinterDriverInstallation::
bGetDriverName(
IN TString &strDriverName
) const;
BOOL
TPrinterDriverInstallation::
bSetSourcePath(
IN const LPCTSTR pszSourcePath,
IN const BOOL bClearSourcePath = FALSE
);
BOOL
TPrinterDriverInstallation::
bIsDriverInstalled(
IN const DWORD dwDriverVersion = kDefault,
IN const BOOL bKernelModeCompatible = FALSE
) const;
INT
TPrinterDriverInstallation::
IsDriverInstalledForInf(
IN const DWORD dwDriverVersion = kDefault,
IN const BOOL bKernelModeCompatible = FALSE
) const;
BOOL
TPrinterDriverInstallation::
bInstallDriver(
OUT TString *pstrNewDriverName,
IN BOOL bOfferReplacement,
IN const BOOL bInstallFromWeb = kDefault,
IN const HWND hDlg = NULL,
IN const DWORD dwDriverVersion = kDefault,
IN const DWORD dwAddDrvFlags = kDefault,
IN const BOOL bUpdateDriver = kDefault,
IN const BOOL bIgnoreSelectDriverFailure = kDefault
);
VOID
TPrinterDriverInstallation::
vPrinterAdded(
IN const TString &strFullPrinterName
);
BOOL
TPrinterDriverInstallation::
bGetDriverSetupPage(
IN OUT HPROPSHEETPAGE *pPage,
IN LPCTSTR pszTitle = NULL,
IN LPCTSTR pszSubTitle = NULL,
IN LPCTSTR pszInstrn = NULL
);
BOOL
TPrinterDriverInstallation::
bSetWebMode(
IN BOOL bWebButtonOn
);
BOOL
TPrinterDriverInstallation::
bGetSelectedDriver(
const BOOL bForceReselection = FALSE
);
BOOL
TPrinterDriverInstallation::
bSelectDriverFromInf(
IN LPCTSTR pszInfName,
IN BOOL bBuildFromPath = TRUE
);
static
BOOL
TPrinterDriverInstallation::
bIsCodeDownLoadAvailable(
VOID
);
BOOL
TPrinterDriverInstallation::
bGetPrintProcessor(
IN TString &strPrintProcessor
) const;
BOOL
TPrinterDriverInstallation::
bGetCurrentDriverEncode(
IN DWORD *pdwEncode
) const;
DWORD
TPrinterDriverInstallation::
dwGetCurrentDriverVersion(
) const;
BOOL
TPrinterDriverInstallation::
bGetSelectedInfName(
IN TString &strInfName
) const;
BOOL
TPrinterDriverInstallation::
bIsOemDriver(
VOID
) const;
BOOL
TPrinterDriverInstallation::
bShowOem(
IN BOOL bShowOem
);
BOOL
TPrinterDriverInstallation::
bRefreshDriverList(
VOID
);
HWND
TPrinterDriverInstallation::
hGetHwnd(
VOID
) const;
VOID
TPrinterDriverInstallation::
SetInstallFlags(
DWORD dwInstallFlags
);
DWORD
TPrinterDriverInstallation::
GetInstallFlags(
VOID
) const;
BOOL
TPrinterDriverInstallation::
bSetDriverSetupPageTitle(
IN LPCTSTR pszTitle,
IN LPCTSTR pszSubTitle,
IN LPCTSTR pszInstrn
);
private:
//
// Copying and assignment are not defined.
//
TPrinterDriverInstallation::
TPrinterDriverInstallation(
const TPrinterDriverInstallation &rhs
);
TPrinterDriverInstallation &
TPrinterDriverInstallation::
operator =(
TPrinterDriverInstallation &rhs
);
BOOL
TPrinterDriverInstallation::
bSelectDriver(
IN BOOL bFromName = FALSE
);
BOOL
TPrinterDriverInstallation::
bIsDriverSelected(
VOID
) const;
VOID
TPrinterDriverInstallation::
vReleaseSelectedDriver(
VOID
);
BOOL
TPrinterDriverInstallation::
bValidateSourcePath(
IN LPCTSTR pszSourcePath
) const;
OSVERSIONINFO *
pGetOsVersionInfo(
VOID
);
TString _strServerName;
TString _strDriverName;
HWND _hwnd;
BOOL _bValid;
DWORD _dwDriverVersion;
LPTSTR _pszServerName;
HDEVINFO _hSetupDrvSetupParams;
HANDLE _hSelectedDrvInfo;
TPSetup _PSetup;
TString _strSourcePath;
OSVERSIONINFO _OsVersionInfo;
DWORD _dwInstallFlags;
};
#endif