mirror of https://github.com/lianthony/NT4.0
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.
292 lines
6.0 KiB
292 lines
6.0 KiB
/*++
|
|
|
|
Copyright (c) 1990-1995 Microsoft Corporation
|
|
|
|
|
|
Module Name:
|
|
|
|
apilayer.h
|
|
|
|
|
|
Abstract:
|
|
|
|
This module contains all API layer's definiton
|
|
|
|
|
|
Author:
|
|
|
|
02-Jan-1996 Tue 13:28:08 created -by- Daniel Chou (danielc)
|
|
|
|
|
|
[Environment:]
|
|
|
|
NT Windows - Common Printer Driver UI DLL
|
|
|
|
|
|
[Notes:]
|
|
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
#ifndef CPSUI_APILAYER
|
|
#define CPSUI_APILAYER
|
|
|
|
|
|
//================= Internal Data structures =============================
|
|
//
|
|
|
|
|
|
#define TABTABLE_COUNT (MAXPROPPAGES + 2)
|
|
|
|
#define TAB_MODE_INIT 0
|
|
#define TAB_MODE_FIND 1
|
|
#define TAB_MODE_INSERT 2
|
|
#define TAB_MODE_DELETE 3
|
|
#define TAB_MODE_DELETE_ALL 4
|
|
|
|
#define GET_REAL_INSIDX(ptbl) ((ptbl)->Table[(ptbl)->InsIdx])
|
|
|
|
|
|
|
|
typedef struct _TABTABLE {
|
|
struct _TABTABLE *pTabTable;
|
|
HWND hWndTab;
|
|
WNDPROC WndProc;
|
|
HANDLE hRootPage;
|
|
WORD cTab;
|
|
WORD InsIdx;
|
|
SHORT Table[TABTABLE_COUNT];
|
|
} TABTABLE, *PTABTABLE;
|
|
|
|
|
|
#define CPSUIPAGE_ID 0x43444955
|
|
|
|
#define CPF_ROOT 0x00000001
|
|
#define CPF_PARENT 0x00000002
|
|
#define CPF_PFNPROPSHEETUI 0x00000004
|
|
#define CPF_COMPROPSHEETUI 0x00000008
|
|
#define CPF_USER_GROUP 0x00000010
|
|
#define CPF_DLL 0x00000020
|
|
#define CPF_CALLER_HPSPAGE 0x00000040
|
|
#define CPF_ANSI_CALL 0x00000080
|
|
#define CPF_DONE_PROPSHEET 0x00000100
|
|
#define CPF_DONE_PROPSHEETPROC 0x00000200
|
|
#define CPF_SHOW_PROPSHEET 0x00000400
|
|
#define CPF_DOCPROP 0x00000800
|
|
#define CPF_ADVDOCPROP 0x00001000
|
|
#define CPF_PRINTERPROP 0x00002000
|
|
|
|
typedef struct _CPSUIPAGE;
|
|
|
|
|
|
|
|
typedef struct _ROOTINFO {
|
|
HWND hDlg;
|
|
LPDWORD pResult;
|
|
PTABTABLE pTabTable;
|
|
struct _CPSUIPAGE *pStartPage;
|
|
WORD cPage;
|
|
WORD cCPSUIPage;
|
|
} ROOTINFO, *PROOTINFO;
|
|
|
|
typedef struct _PFNINFO {
|
|
HINSTANCE hInst;
|
|
PFNPROPSHEETUI pfnPSUI;
|
|
LPARAM lParamInit;
|
|
DWORD UserData;
|
|
DWORD Result;
|
|
} PFNINFO, *PPFNINFO;
|
|
|
|
typedef struct _CPSUIINFO {
|
|
PTVWND pTVWnd;
|
|
LONG Result;
|
|
LONG TVPageIdx;
|
|
LONG StdPageIdx;
|
|
} CPSUIINFO, PCPSUIINFO;
|
|
|
|
typedef struct _GPINFO {
|
|
DWORD dwReserved[5];
|
|
} GPINFO, *PGPINFO;
|
|
|
|
typedef struct _HPAGEINFO {
|
|
HWND hDlg;
|
|
DLGPROC DlgProc;
|
|
LPFNPSPCALLBACK pspCB;
|
|
LPARAM lParam;
|
|
HICON hIcon;
|
|
DWORD dwSize;
|
|
} HPAGEINFO, *PHPAGEINFO;
|
|
|
|
|
|
typedef struct _CPSUIPAGE {
|
|
DWORD ID;
|
|
DWORD cLock;
|
|
DWORD Flags;
|
|
HANDLE hCPSUIPage;
|
|
union {
|
|
struct _CPSUIPAGE *pChild;
|
|
HPROPSHEETPAGE hPage;
|
|
} DUMMYUNIONNAME;
|
|
union {
|
|
ROOTINFO RootInfo;
|
|
PFNINFO pfnInfo;
|
|
CPSUIINFO CPSUIInfo;
|
|
GPINFO GPInfo;
|
|
HPAGEINFO hPageInfo;
|
|
} DUMMYUNIONNAME2;
|
|
struct _CPSUIPAGE *pParent;
|
|
struct _CPSUIPAGE *pPrev;
|
|
struct _CPSUIPAGE *pNext;
|
|
} CPSUIPAGE, *PCPSUIPAGE;
|
|
|
|
|
|
typedef BOOL (CALLBACK *CPSUIPAGEENUMPROC)(PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
LPARAM lParam);
|
|
|
|
|
|
|
|
//
|
|
// Local structure
|
|
//
|
|
|
|
typedef struct _PSPEX {
|
|
PROPSHEETPAGE psp;
|
|
PSPINFO pspInfo;
|
|
} PSPEX, *PPSPEX;
|
|
|
|
typedef struct _PSHINFO {
|
|
WCHAR CaptionName[MAX_RES_STR_CHARS];
|
|
} PSHINFO, *PPSHINFO;
|
|
|
|
typedef struct _PAGEPROCINFO {
|
|
union {
|
|
HPROPSHEETPAGE *phPage;
|
|
HANDLE *pHandle;
|
|
} DUMMYUNIONNAME;
|
|
WORD cPage;
|
|
WORD iPage;
|
|
} PAGEPROCINFO, *PPAGEPROCINFO;
|
|
|
|
|
|
typedef struct _INSPAGEIDXINFO {
|
|
PCPSUIPAGE pCPSUIPage;
|
|
PTABTABLE pTabTable;
|
|
} INSPAGEIDXINFO, *PINSPAGEIDXINFO;
|
|
|
|
|
|
//
|
|
// Function prototypes
|
|
//
|
|
|
|
BOOL
|
|
CALLBACK
|
|
SetInsPageIdxProc(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
LPARAM lParam
|
|
);
|
|
|
|
DWORD
|
|
FilterException(
|
|
HANDLE hPage,
|
|
LPEXCEPTION_POINTERS pExceptionPtr
|
|
);
|
|
|
|
BOOL
|
|
EnumCPSUIPagesSeq(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
CPSUIPAGEENUMPROC CPSUIPageEnumProc,
|
|
LPARAM lParam
|
|
);
|
|
|
|
BOOL
|
|
EnumCPSUIPages(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
CPSUIPAGEENUMPROC CPSUIPageEnumProc,
|
|
LPARAM lParam
|
|
);
|
|
|
|
LONG
|
|
SetPSUIPageTitle(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pPage,
|
|
LPWSTR pTitle,
|
|
BOOL AnsiCall
|
|
);
|
|
|
|
LONG
|
|
SetPSUIPageIcon(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pPage,
|
|
HICON hIcon
|
|
);
|
|
|
|
PCPSUIPAGE
|
|
AddCPSUIPage(
|
|
PCPSUIPAGE pParent,
|
|
HANDLE hInsert,
|
|
BYTE Mode
|
|
);
|
|
|
|
BOOL
|
|
AddPropSheetPage(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
LPPROPSHEETPAGE pPSPage,
|
|
HPROPSHEETPAGE hPSPage
|
|
);
|
|
|
|
LONG
|
|
AddComPropSheetPage(
|
|
PCPSUIPAGE pCPSUIPage,
|
|
UINT PageIdx
|
|
);
|
|
|
|
LONG
|
|
AddComPropSheetUI(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pCPSUIPage,
|
|
PCOMPROPSHEETUI pCPSUI
|
|
);
|
|
|
|
LONG
|
|
InsertPSUIPage(
|
|
PCPSUIPAGE pRootPage,
|
|
PCPSUIPAGE pParentPage,
|
|
HANDLE hInsert,
|
|
PINSERTPSUIPAGE_INFO pInsPageInfo,
|
|
BOOL AnsiCall
|
|
);
|
|
|
|
LONG
|
|
CALLBACK
|
|
CPSUICallBack(
|
|
HANDLE hComPropSheet,
|
|
UINT Function,
|
|
LPARAM lParam1,
|
|
LPARAM lParam2
|
|
);
|
|
|
|
LONG
|
|
DoComPropSheet(
|
|
PCPSUIPAGE pRootPage,
|
|
PPROPSHEETUI_INFO_HEADER pPSUIInfoHdr
|
|
);
|
|
|
|
LONG
|
|
DoCommonPropertySheetUI(
|
|
HWND hWndOwner,
|
|
PFNPROPSHEETUI pfnPropSheetUI,
|
|
LPARAM lParam,
|
|
LPDWORD pResult,
|
|
BOOL AnsiCall
|
|
);
|
|
|
|
|
|
#endif // CPSUI_APILAYER
|