Leaked source code of windows server 2003
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.
 
 
 
 
 
 

161 lines
4.4 KiB

#ifndef __PRNTUIFN_HPP__
#define __PRNTUIFN_HPP__
/*++
Copyright (C) 2000 Microsoft Corporation
All rights reserved.
Module Name:
prntuifn.hpp
Abstract:
This file contains the declararion of the class
dealing printui functionality and it currently contains
the following interfaces
o QueueCreate
o PrinterPropPages
o DocumentDefaults
Author:
Khaled Sedky (khaleds) 31-Jan-2000
Revision History:
--*/
#ifndef __LDERROR_HPP__
#include "lderror.hpp"
#endif
#ifndef __BASECLS_HPP__
#include "basecls.hpp"
#endif
#ifndef __LDFUNCS_HPP__
#include "ldfuncs.hpp"
#endif
//
// Forward declarations
//
class TLoad64BitDllsMgr;
class TPrintUIMgr : public TClassID,
public TLd64BitDllsErrorHndlr,
public TRefCntMgr
{
public:
TPrintUIMgr(
IN TLoad64BitDllsMgr *pIpLdrObj
);
~TPrintUIMgr(
VOID
);
DWORD
QueueCreate(
IN HWND hWnd,
IN LPCWSTR pszPrinterName,
IN INT CmdShow,
IN LPARAM lParam
);
DWORD
PrinterPropPages(
IN HWND hWnd,
IN LPCWSTR pszPrinterName,
IN INT CmdShow,
IN LPARAM lParam
);
DWORD
DocumentDefaults(
IN HWND hWnd,
IN LPCWSTR pszPrinterName,
IN INT CmdShow,
IN LPARAM lParam
);
DWORD
PrinterSetup(
IN HWND hWnd,
IN UINT uAction,
IN UINT cchPrinterName,
IN OUT LPWSTR pszPrinterName,
OUT UINT* pcchPrinterName,
IN LPCWSTR pszServerName
);
DWORD
ServerPropPages(
IN HWND hWnd,
IN LPCWSTR pszPrinterName,
IN INT CmdShow,
IN LPARAM lParam
);
static DWORD
AsyncPrintUIMethod(
IN PVOID InThrdData
);
enum EPrintUIOp
{
KQueueCreateOp = 0,
KPrinterPropPagesOp,
KDocumentDefaultsOp,
KServerPropPagesOp
};
struct SPRINTUITHREADDATA
{
HWND hWnd;
LPCWSTR pszName;
LPARAM lParam;
HANDLE hLib;
TLoad64BitDllsMgr *pLdrObj;
PFNPRINTUIMETHOD pfn;
TPrintUIMgr::EPrintUIOp Op;
int CmdShow;
};
typedef struct SPRINTUITHREADDATA SPrintUIThreadData;
struct SPRINTERSETUPTHRDDATA
{
HWND hWnd;
LPWSTR pszPrinterName;
LPCWSTR pszServerName;
HANDLE hLib;
TLoad64BitDllsMgr *pLdrObj;
UINT* pcchPrinterName;
PFNPRINTUIPRINTERSETUP pfn;
UINT uAction;
UINT cchPrinterName;
};
typedef struct SPRINTERSETUPTHRDDATA SPrinterSetupThrdData;
protected:
DWORD
PrintUIMethod(
IN LPCSTR Method,
IN HWND hWnd,
IN LPCWSTR pszName,
IN INT CmdShow,
IN LPARAM lParam,
IN LPTHREAD_START_ROUTINE pThrdFn,
IN TPrintUIMgr::EPrintUIOp Op
);
private:
HWND
GetForeGroundWindow(
VOID
);
TLoad64BitDllsMgr *m_pLdrObj;
};
#endif //__PRNTUIFN_HPP__