Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

400 lines
10 KiB

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
printman.hxx
Abstract:
This module contains the declarations for the PRINT_MANAGER class.
The PRINT_MANAGER class is responsible for displayning the Printer
Setup Dialog, for printing a registry.
Author:
Jaime Sasson (jaimes) 18-Sep-1991
Environment:
--*/
#if !defined( _PRINT_MANAGER_ )
#define _PRINT_MANAGER_
#include "regedir.hxx"
#include "ulib.hxx"
#include "uapp.hxx"
#include "timeinfo.hxx"
#include "wstring.hxx"
#include "regresls.hxx"
#include "regfdesc.hxx"
#include "regdesc.hxx"
#include "regioreq.hxx"
#include "regiodls.hxx"
#include "regiodsc.hxx"
DECLARE_CLASS( PRINT_MANAGER );
class PRINT_MANAGER : public OBJECT {
public:
DECLARE_CONSTRUCTOR( PRINT_MANAGER );
DECLARE_CAST_MEMBER_FUNCTION( PRINT_MANAGER );
VIRTUAL
~PRINT_MANAGER(
);
NONVIRTUAL
BOOLEAN
Initialize(
IN HWND Owner
);
NONVIRTUAL
BOOLEAN
PrintRegistry(
IN HANDLE Instance,
IN HWND hWnd,
IN HWND MDIHandle,
IN PREGEDIT_INTERNAL_REGISTRY InternalRegistry,
IN PCREGEDIT_NODE StartNode DEFAULT NULL
);
NONVIRTUAL
BOOLEAN
PrintToTextFile(
IN HANDLE Instance,
IN HWND hWnd,
IN HWND MDIHandle,
IN PREGEDIT_INTERNAL_REGISTRY InternalRegistry,
IN PCREGEDIT_NODE StartNode DEFAULT NULL
);
NONVIRTUAL
BOOLEAN
PrinterSetupDialog(
);
private:
DECLARE_DLGPROC( PRINT_MANAGER, PrintDlgProc );
NONVIRTUAL
BOOLEAN
InitializeTextMetrics(
);
NONVIRTUAL
BOOLEAN
BuildHeaderFooter(
);
NONVIRTUAL
BOOLEAN
EndPrint(
);
NONVIRTUAL
BOOLEAN
PrintDataRegBinary(
IN PCBYTE Buffer,
IN ULONG Size,
IN BOOLEAN PrintDataLabel DEFAULT TRUE
);
NONVIRTUAL
BOOLEAN
PrintDataRegMultiSz(
IN PCBYTE Buffer,
IN ULONG Size
);
NONVIRTUAL
BOOLEAN
PrintDataRegResourceList(
IN PCBYTE Buffer,
IN ULONG Size
);
NONVIRTUAL
BOOLEAN
PrintFullResourceDescriptor(
IN PCFULL_DESCRIPTOR FullDescriptor,
IN ULONG DescriptorNumber,
IN BOOLEAN PrintDescriptorNumber DEFAULT TRUE
);
NONVIRTUAL
BOOLEAN
PrintPartialDescriptor(
IN PCPARTIAL_DESCRIPTOR FullDescriptor,
IN ULONG DescriptorNumber
);
NONVIRTUAL
BOOLEAN
PrintInterruptDescriptor(
IN PCINTERRUPT_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintPortDescriptor(
IN PCPORT_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintMemoryDescriptor(
IN PCMEMORY_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintDmaDescriptor(
IN PCDMA_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintDeviceSpecificDescriptor(
IN PCDEVICE_SPECIFIC_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintDataRegRequirementsList(
IN PCBYTE Buffer,
IN ULONG Size
);
NONVIRTUAL
BOOLEAN
PrintIoResourceList(
IN PCIO_DESCRIPTOR_LIST DescriptorList,
IN ULONG ListNumber
);
NONVIRTUAL
BOOLEAN
PrintIoDescriptor(
IN PCIO_DESCRIPTOR IoDescriptor,
IN ULONG DescriptorNumber
);
NONVIRTUAL
BOOLEAN
PrintIoInterruptDescriptor(
IN PCIO_INTERRUPT_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintIoPortDescriptor(
IN PCIO_PORT_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintIoMemoryDescriptor(
IN PCIO_MEMORY_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintIoDmaDescriptor(
IN PCIO_DMA_DESCRIPTOR Descriptor
);
NONVIRTUAL
BOOLEAN
PrintDataRegSz(
IN PCBYTE Data,
IN ULONG Size
);
NONVIRTUAL
BOOLEAN
PrintDataRegUlong(
IN PCBYTE Data,
IN ULONG Size
);
NONVIRTUAL
VOID
PrintErrorDialog(
IN LONG ErrorCode
);
NONVIRTUAL
BOOLEAN
PrintNode(
IN PCREGEDIT_NODE Node
);
NONVIRTUAL
BOOLEAN
PrintString(
IN PCWSTRING String,
IN BOOLEAN Indent DEFAULT TRUE
);
NONVIRTUAL
BOOLEAN
PrintStringTruncate(
IN PCWSTRING String
);
NONVIRTUAL
BOOLEAN
PrintSubTree(
IN PCREGEDIT_NODE Node
);
NONVIRTUAL
BOOLEAN
PrintValue(
IN PCREGEDIT_FORMATTED_VALUE_ENTRY Value,
IN ULONG ValueNumber
);
NONVIRTUAL
BOOLEAN
PrintValueType(
IN PCWSTRING ValueType
);
NONVIRTUAL
BOOLEAN
StartPrint(
IN PCWSTRING String
);
STATIC
NONVIRTUAL
BOOLEAN
EXPORT
AbortProc(
IN HDC PrinterDC,
IN SHORT Code
);
static BOOLEAN _UserAbort;
static HWND _DlgPrint;
HWND _hWnd;
PRINTDLG _pd;
PCWSTRING _PredefinedKey;
BOOLEAN _InitTextMetrics;
TEXTMETRIC _TextMetrics;
ULONG _TopMargin;
ULONG _CharacterHeight;
ULONG _BottomMargin;
ULONG _LinesPerPage;
ULONG _LeftMargin;
ULONG _CharacterWidth;
ULONG _RightMargin;
ULONG _CharactersPerLine;
ULONG _CurrentLine;
ULONG _CurrentPage;
PREGEDIT_INTERNAL_REGISTRY _IR;
PWSTRING _StringNodeName;
PWSTRING _StringClassName;
PWSTRING _StringTitleIndex;
PWSTRING _StringTitle;
PWSTRING _StringLastWriteTime;
PWSTRING _StringValue;
PWSTRING _StringValueName;
PWSTRING _StringValueTitleIndex;
PWSTRING _StringValueTitle;
PWSTRING _StringValueType;
PWSTRING _StringDataLength;
PWSTRING _StringData;
PWSTRING _StringTypeRegSZ;
PWSTRING _StringTypeRegExpandSZ;
PWSTRING _StringTypeRegMultiSZ;
PWSTRING _StringTypeRegBinary;
PWSTRING _StringTypeRegDWORD;
PWSTRING _StringTypeRegFullResourceDescriptor;
PWSTRING _StringTypeRegResourceList;
PWSTRING _StringTypeRegResourceRequirementsList;
PWSTRING _StringTypeRegColorRGB;
PWSTRING _StringTypeRegFileName;
PWSTRING _StringTypeRegFileTime;
PWSTRING _StringTypeRegUnknown;
PWSTRING _StringValueNoName;
PWSTRING _StringNodeNoClass;
PWSTRING _StringAllFiles;
PWSTRING _StringTextFiles;
PWSTRING _StringStarDotStar;
PWSTRING _StringStarDotTxt;
PWSTRING _StringFullDescriptor;
PWSTRING _StringPartialDescriptor;
PWSTRING _StringInterfaceType;
PWSTRING _StringBusNumber;
PWSTRING _StringVersion;
PWSTRING _StringRevision;
PWSTRING _StringResource;
PWSTRING _StringDisposition;
PWSTRING _StringType;
PWSTRING _StringStart;
PWSTRING _StringLength;
PWSTRING _StringLevel;
PWSTRING _StringVector;
PWSTRING _StringAffinity;
PWSTRING _StringChannel;
PWSTRING _StringPort;
PWSTRING _StringReserved1;
PWSTRING _StringReserved2;
PWSTRING _StringDevSpecificData;
PWSTRING _StringIoInterfaceType;
PWSTRING _StringIoBusNumber;
PWSTRING _StringIoSlotNumber;
PWSTRING _StringIoListNumber;
PWSTRING _StringIoOption;
PWSTRING _StringIoDescriptorNumber;
PWSTRING _StringIoAlignment;
PWSTRING _StringIoMinimumAddress;
PWSTRING _StringIoMaximumAddress;
PWSTRING _StringIoMinimumVector;
PWSTRING _StringIoMaximumVector;
PWSTRING _StringIoMinimumChannel;
PWSTRING _StringIoMaximumChannel;
DSTRING _Separator;
DSTRING _StringFooter;
DSTRING _EmptyLine;
DSTRING _IndentString;
DSTRING _DateTimeSeparator;
BOOLEAN _PrintToFile;
int _FileHandle;
};
#endif // _PRINT_MANAGER_