193 lines
2.8 KiB
C
193 lines
2.8 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1990-1995 Microsoft Corporation
|
|||
|
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
convert.c
|
|||
|
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module contains all version conversion function
|
|||
|
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
10-Oct-1995 Tue 19:24:43 created -by- Daniel Chou (danielc)
|
|||
|
|
|||
|
|
|||
|
[Environment:]
|
|||
|
|
|||
|
NT Windows - Common Printer Driver UI DLL
|
|||
|
|
|||
|
|
|||
|
[Notes:]
|
|||
|
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
|
|||
|
#include "precomp.h"
|
|||
|
#pragma hdrstop
|
|||
|
|
|||
|
|
|||
|
#define DBG_CPSUIFILENAME DbgConvert
|
|||
|
|
|||
|
|
|||
|
DEFINE_DBGVAR(0);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LONG
|
|||
|
InitMYDLGPAGE(
|
|||
|
PMYDLGPAGE pMyDP,
|
|||
|
PDLGPAGE pDP,
|
|||
|
UINT cDP
|
|||
|
)
|
|||
|
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
10-Oct-1995 Tue 19:45:47 created -by- Daniel Chou (danielc)
|
|||
|
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
|
|||
|
{
|
|||
|
LONG Result = 0;
|
|||
|
|
|||
|
while (cDP--) {
|
|||
|
|
|||
|
pMyDP->ID = MYDP_ID;
|
|||
|
|
|||
|
CopyMemory(&(pMyDP->DlgPage),
|
|||
|
pDP,
|
|||
|
(pDP->cbSize > sizeof(DLGPAGE)) ? sizeof(DLGPAGE) :
|
|||
|
pDP->cbSize);
|
|||
|
++Result;
|
|||
|
|
|||
|
pMyDP++;
|
|||
|
pDP++;
|
|||
|
}
|
|||
|
|
|||
|
return(Result);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LONG
|
|||
|
GetCurCPSUI(
|
|||
|
PTVWND pTVWnd,
|
|||
|
POIDATA pOIData,
|
|||
|
PCOMPROPSHEETUI pCPSUIFrom
|
|||
|
)
|
|||
|
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
10-Oct-1995 Tue 19:56:15 created -by- Daniel Chou (danielc)
|
|||
|
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
{
|
|||
|
POPTITEM pItem;
|
|||
|
POIEXT pOIExt;
|
|||
|
OIEXT OIExt;
|
|||
|
UINT cItem;
|
|||
|
LONG cConvert = 0;
|
|||
|
|
|||
|
|
|||
|
CopyMemory(&pTVWnd->ComPropSheetUI,
|
|||
|
pCPSUIFrom,
|
|||
|
(pCPSUIFrom->cbSize > sizeof(COMPROPSHEETUI)) ?
|
|||
|
sizeof(COMPROPSHEETUI) : pCPSUIFrom->cbSize);
|
|||
|
|
|||
|
//
|
|||
|
// This is the default OIEXT
|
|||
|
//
|
|||
|
|
|||
|
OIExt.cbSize = sizeof(OIEXT);
|
|||
|
OIExt.Flags = (pTVWnd->Flags & TWF_ANSI_CALL) ? OIEXTF_ANSI_STRING :
|
|||
|
0;
|
|||
|
OIExt.hInstCaller = pTVWnd->ComPropSheetUI.hInstCaller;
|
|||
|
OIExt.pHelpFile = pTVWnd->ComPropSheetUI.pHelpFile;
|
|||
|
pItem = pTVWnd->ComPropSheetUI.pOptItem;
|
|||
|
cItem = pTVWnd->ComPropSheetUI.cOptItem;
|
|||
|
|
|||
|
while (cItem--) {
|
|||
|
|
|||
|
pItem->wReserved = 0;
|
|||
|
|
|||
|
ZeroMemory(&(pItem->dwReserved[0]),
|
|||
|
sizeof(OPTITEM) - FIELD_OFFSET(OPTITEM, dwReserved));
|
|||
|
|
|||
|
|
|||
|
if ((pItem->Flags & OPTIF_HAS_POIEXT) &&
|
|||
|
(pOIExt = pItem->pOIExt) &&
|
|||
|
(pOIExt->cbSize >= sizeof(OIEXT))) {
|
|||
|
|
|||
|
cConvert++;
|
|||
|
|
|||
|
} else {
|
|||
|
|
|||
|
pOIExt = &OIExt;
|
|||
|
}
|
|||
|
|
|||
|
pOIData->OIExtFlags = pOIExt->Flags;
|
|||
|
pOIData->hInstCaller = pOIExt->hInstCaller ? pOIExt->hInstCaller : OIExt.hInstCaller;
|
|||
|
pOIData->pHelpFile = pOIExt->pHelpFile;
|
|||
|
_OI_POIDATA(pItem) = pOIData;
|
|||
|
|
|||
|
pOIData++;
|
|||
|
pItem++;
|
|||
|
}
|
|||
|
|
|||
|
return(cConvert);
|
|||
|
}
|