313 lines
5.5 KiB
C++
313 lines
5.5 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (C) Microsoft Corporation, 1996 - 1999
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
prtprops.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Printer Property sheet header.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Kiraly (SteveKi) 02-Feb-1996
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#ifndef _PRTPROPS_HXX
|
||
|
#define _PRTPROPS_HXX
|
||
|
|
||
|
//
|
||
|
// HACK: private export from winspool.drv.
|
||
|
//
|
||
|
extern "C" {
|
||
|
LONG_PTR
|
||
|
DevicePropertySheets(
|
||
|
PPROPSHEETUI_INFO pPSUIInfo,
|
||
|
LPARAM lParam
|
||
|
);
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// HACK: private export from shell32.dll
|
||
|
//
|
||
|
extern "C" {
|
||
|
VOID
|
||
|
Printer_AddPrinterPropPages(
|
||
|
LPCTSTR,
|
||
|
LPPROPSHEETHEADER
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Shell extenstion pages.
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TShellExtPages {
|
||
|
|
||
|
SIGNATURE( 'shex' )
|
||
|
SAFE_NEW
|
||
|
ALWAYS_VALID
|
||
|
|
||
|
public:
|
||
|
|
||
|
TShellExtPages::
|
||
|
TShellExtPages(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
TShellExtPages::
|
||
|
~TShellExtPages(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TShellExtPages::
|
||
|
bCreate(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
IN const TString &strPrinterName
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TShellExtPages::
|
||
|
vDestroy(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
HANDLE
|
||
|
TShellExtPages::
|
||
|
hPropSheet(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TShellExtPages::
|
||
|
bCreatePropSheetHeader(
|
||
|
IN LPPROPSHEETHEADER *pPropSheetHeader
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TShellExtPages::
|
||
|
vDestroyPropSheetHeader(
|
||
|
IN LPPROPSHEETHEADER pPropSheetHeader
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
BOOL
|
||
|
TShellExtPages::
|
||
|
bCreatePages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
IN LPPROPSHEETHEADER pPropSheetHeader
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TShellExtPages::
|
||
|
vDestroyPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Prevent copying.
|
||
|
//
|
||
|
TShellExtPages::
|
||
|
TShellExtPages(
|
||
|
const TShellExtPages &
|
||
|
);
|
||
|
//
|
||
|
// Prevent assignment.
|
||
|
//
|
||
|
TShellExtPages &
|
||
|
TShellExtPages::
|
||
|
operator =(
|
||
|
const TShellExtPages &
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
LONG_PTR _hGroupHandle; // Handle to group of shell extension property pages
|
||
|
|
||
|
};
|
||
|
|
||
|
/********************************************************************
|
||
|
|
||
|
Printer Property Sheet Manager
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
class TPrinterPropertySheetManager : public TPropertySheetManager {
|
||
|
|
||
|
SIGNATURE( 'psmg' )
|
||
|
SAFE_NEW
|
||
|
|
||
|
public:
|
||
|
|
||
|
TPrinterPropertySheetManager::
|
||
|
TPrinterPropertySheetManager(
|
||
|
IN TPrinterData* pPrinterData
|
||
|
);
|
||
|
|
||
|
TPrinterPropertySheetManager::
|
||
|
~TPrinterPropertySheetManager(
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bValid(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bRefreshDriverPages(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bCreateTitle(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TPrinterPropertySheetManager::
|
||
|
vRefreshTitle(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bDisplayPages(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bGetDriverPageHandle(
|
||
|
IN HPROPSHEETPAGE *phPage
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bGetDriverPageHandles(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
OUT DWORD *pcPages,
|
||
|
OUT HPROPSHEETPAGE **pphPage
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TPrinterPropertySheetManager::
|
||
|
vSetParentHandle(
|
||
|
IN HWND hwndParent
|
||
|
);
|
||
|
|
||
|
HWND
|
||
|
TPrinterPropertySheetManager::
|
||
|
hGetParentHandle(
|
||
|
VOID
|
||
|
) const;
|
||
|
private:
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
kMaxGroups = 3,
|
||
|
};
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bBuildPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bDestroyPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
virtual
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bSetHeader(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo,
|
||
|
IN PPROPSHEETUI_INFO_HEADER pPSUInfoHeader
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bBuildDriverPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bCheckToBuildDriverPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TPrinterPropertySheetManager::
|
||
|
vReleaseDriverPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bBuildSpoolerPages(
|
||
|
IN PPROPSHEETUI_INFO pCPSUIInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bInstallDriverPage(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TPrinterPropertySheetManager::
|
||
|
bDisplaySecurityTab(
|
||
|
IN HWND hwnd
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Prevent copying.
|
||
|
//
|
||
|
TPrinterPropertySheetManager::
|
||
|
TPrinterPropertySheetManager(
|
||
|
const TPrinterPropertySheetManager &
|
||
|
);
|
||
|
//
|
||
|
// Prevent assignment.
|
||
|
//
|
||
|
TPrinterPropertySheetManager &
|
||
|
TPrinterPropertySheetManager::
|
||
|
operator =(
|
||
|
const TPrinterPropertySheetManager &
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
BOOL _bValid;
|
||
|
LONG_PTR _hDrvPropSheet;
|
||
|
DEVICEPROPERTYHEADER _dph;
|
||
|
TPrinterData *_pPrinterData;
|
||
|
|
||
|
TPrinterGeneral _General;
|
||
|
TPrinterPorts _Ports;
|
||
|
TPrinterJobScheduling _JobScheduling;
|
||
|
TPrinterSharing _Sharing;
|
||
|
TShellExtPages _ShellExtPages;
|
||
|
TString _strTitle;
|
||
|
HWND _hwndParent;
|
||
|
};
|
||
|
|
||
|
#endif // _PRTPROPS_HXX
|