285 lines
5.6 KiB
C++
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
|