diff options
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++')
317 files changed, 0 insertions, 82225 deletions
diff --git a/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP b/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP Binary files differdeleted file mode 100644 index 8ba599b2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/CUSTOMDRV.HLP +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp deleted file mode 100644 index acee806b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.cpp +++ /dev/null @@ -1,2858 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Features.cpp -// -// PURPOSE: Implementation wrapper class for PScript Driver Features and Options. -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "globals.h" -#include "devmode.h" -#include "stringutils.h" -#include "helper.h" -#include "features.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Internal Defines and Macros -//////////////////////////////////////////////////////// - -#define INITIAL_ENUM_FEATURES_SIZE 1024 -#define INITIAL_ENUM_OPTIONS_SIZE 64 -#define INITIAL_FEATURE_DISPLAY_NAME_SIZE 64 -#define INITIAL_OPTION_DISPLAY_NAME_SIZE 32 -#define INITIAL_GET_OPTION_SIZE 64 -#define INITIAL_GET_REASON_SIZE 1024 - -#define DRIVER_FEATURE_PREFIX '%' -#define IS_DRIVER_FEATURE(f) (DRIVER_FEATURE_PREFIX == (f)[0]) - -// Flags that the uDisplayNameID should be returned as -// MAKEINTRESOURCE() instead of loading the string resource. -#define RETURN_INT_RESOURCE 1 - -// Macros to test for conditions of KEYWORDMAP entry. -#define IS_MAPPING_INT_RESOURCE(p) ((p)->dwFlags & RETURN_INT_RESOURCE) - -// TAG the identifies feature OPTITEM data stuct. -#define FEATURE_OPTITEM_TAG 'FETR' - - -//////////////////////////////////////////////////////// -// Type Definitions -//////////////////////////////////////////////////////// - -// Struct used to identify OPTITEM as -// feature OPTITEM and to map back from -// an OPTITEM to the feature. -typedef struct _tagFeatureOptitemData -{ - DWORD dwSize; - DWORD dwTag; - PCSTR pszFeatureKeyword; - COptions *pOptions; - -} FEATUREOPTITEMDATA, *PFEATUREOPTITEMDATA; - - - -//////////////////////////////////////////////////////// -// Internal Constants -//////////////////////////////////////////////////////// - -static KEYWORDMAP gkmFeatureMap[] = -{ - "%AddEuro", NULL, IDS_ADD_EURO, OEMCUIP_PRNPROP, 0, - "%CtrlDAfter", NULL, IDS_CTRLD_AFTER, OEMCUIP_PRNPROP, 0, - "%CtrlDBefore", NULL, IDS_CTRLD_BEFORE, OEMCUIP_PRNPROP, 0, - //"%CustomPageSize", NULL, IDS_PSCRIPT_CUSTOMSIZE, OEMCUIP_DOCPROP, 0, - "%GraphicsTrueGray", NULL, IDS_TRUE_GRAY_GRAPH, OEMCUIP_PRNPROP, 0, - "%JobTimeout", NULL, IDS_JOBTIMEOUT, OEMCUIP_PRNPROP, 0, - "%MaxFontSizeAsBitmap", NULL, IDS_PSMAXBITMAP, OEMCUIP_PRNPROP, 0, - "%MetafileSpooling", NULL, IDS_METAFILE_SPOOLING, OEMCUIP_DOCPROP, 0, - "%MinFontSizeAsOutline", NULL, IDS_PSMINOUTLINE, OEMCUIP_PRNPROP, 0, - "%Mirroring", NULL, IDS_MIRROR, OEMCUIP_DOCPROP, 0, - "%Negative", NULL, IDS_NEGATIVE_PRINT, OEMCUIP_DOCPROP, 0, - "%Orientation", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ORIENTATION, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE, - "%OutputFormat", NULL, IDS_PSOUTPUT_OPTION, OEMCUIP_DOCPROP, 0, - "%OutputProtocol", NULL, IDS_PSPROTOCOL, OEMCUIP_PRNPROP, 0, - "%OutputPSLevel", NULL, IDS_PSLEVEL, OEMCUIP_DOCPROP, 0, - "%PageOrder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEORDER, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE, - "%PagePerSheet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP, OEMCUIP_DOCPROP, RETURN_INT_RESOURCE, - "%PSErrorHandler", NULL, IDS_PSERROR_HANDLER, OEMCUIP_DOCPROP, 0, - "%PSMemory", NULL, IDS_POSTSCRIPT_VM, OEMCUIP_PRNPROP, 0, - "%TextTrueGray", NULL, IDS_TRUE_GRAY_TEXT, OEMCUIP_PRNPROP, 0, - "%TTDownloadFormat", NULL, IDS_PSTT_DLFORMAT, OEMCUIP_DOCPROP, 0, - "%WaitTimeout", NULL, IDS_WAITTIMEOUT, OEMCUIP_PRNPROP, 0, -}; -static const NUM_FEATURE_MAP = (sizeof(gkmFeatureMap)/sizeof(gkmFeatureMap[0])); - - -static KEYWORDMAP gkmOptionMap[] = -{ - "True", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRUE, 0, RETURN_INT_RESOURCE, - "False", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FALSE, 0, RETURN_INT_RESOURCE, - "Portrait", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PORTRAIT, 0, RETURN_INT_RESOURCE, - "Landscape", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LANDSCAPE, 0, RETURN_INT_RESOURCE, - "RotatedLandscape", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ROT_LAND, 0, RETURN_INT_RESOURCE, - "Speed", NULL, IDS_PSOPT_SPEED, 0, RETURN_INT_RESOURCE, - "Portability", NULL, IDS_PSOPT_PORTABILITY, 0, 0, - "EPS", NULL, IDS_PSOPT_EPS, 0, 0, - "Archive", NULL, IDS_PSOPT_ARCHIVE, 0, 0, - "ASCII", NULL, IDS_PSPROTOCOL_ASCII, 0, 0, - "BCP", NULL, IDS_PSPROTOCOL_BCP, 0, 0, - "TBCP", NULL, IDS_PSPROTOCOL_TBCP, 0, 0, - "Binary", NULL, IDS_PSPROTOCOL_BINARY, 0, 0, - "FrontToBack", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FRONTTOBACK, 0, RETURN_INT_RESOURCE, - "BackToFront", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BACKTOFRONT, 0, RETURN_INT_RESOURCE, - "1", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NORMAL, 0, RETURN_INT_RESOURCE, - "2", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_TWOUP, 0, RETURN_INT_RESOURCE, - "4", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_FOURUP, 0, RETURN_INT_RESOURCE, - "6", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXUP, 0, RETURN_INT_RESOURCE, - "9", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NINEUP, 0, RETURN_INT_RESOURCE, - "16", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXTEENUP, 0, RETURN_INT_RESOURCE, - "Booklet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BOOKLET, 0, RETURN_INT_RESOURCE, - "Automatic", NULL, IDS_TTDL_DEFAULT, 0, 0, - "Outline", NULL, IDS_TTDL_TYPE1, 0, 0, - "Bitmap", NULL, IDS_TTDL_TYPE3, 0, 0, - "NativeTrueType", NULL, IDS_TTDL_TYPE42, 0, 0, -}; -static const NUM_OPTION_MAP = (sizeof(gkmOptionMap)/sizeof(gkmOptionMap[0])); - - - - -//////////////////////////////////////////// -// -// COptions Methods -// - -// -// Private Methods -// - -// Initializes class data members. -void COptions::Init() -{ - m_wOptions = 0; - m_cType = TVOT_COMBOBOX; - m_pmszRaw = NULL; - m_pszFeature = NULL; - m_ppszOptions = NULL; - m_ptRange.x = 0; - m_ptRange.y = 0; - m_dwSize = 0; - m_pszUnits = NULL; - m_hHeap = NULL; - m_pInfo = NULL; -} - -void COptions::Clear() -{ - // Free memory associated with data members. - if(NULL != m_pmszRaw) HeapFree(m_hHeap, 0, m_pmszRaw); - if(NULL != m_ppszOptions) HeapFree(m_hHeap, 0, m_ppszOptions); - if( (NULL != m_pszUnits) && !IS_INTRESOURCE(m_pszUnits)) HeapFree(m_hHeap, 0, m_pszUnits); - - // Free option info. - FreeOptionInfo(); - - // Initialize data members. - Init(); -} - -// Frees memory associated with Option Info array. -void COptions::FreeOptionInfo() -{ - // Validate parameters. - if( (NULL == m_hHeap) - || - (NULL == m_pInfo) - ) - { - return; - } - - // Free strings in the array. - for(WORD wIndex = 0; wIndex < m_wOptions; ++wIndex) - { - PWSTR pszDisplay = m_pInfo[wIndex].pszDisplayName; - - if( (NULL != pszDisplay) - && - !(IS_INTRESOURCE(pszDisplay)) - ) - { - HeapFree(m_hHeap, 0, pszDisplay); - } - } - - // Free the array. - HeapFree(m_hHeap, 0, m_pInfo); - m_pInfo = NULL; -} - -// Will do init for features that need special handling. -HRESULT COptions::GetOptionsForSpecialFeatures(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - HRESULT hrResult = E_NOTIMPL; - - - // See if this is a special feature. - // If it is, then call the special option init for the - // feature. - if(!lstrcmpA(m_pszFeature, "%CustomPageSize")) - { - // There is no option init for CustomPageSize. - // The item itself must be handled specially. - hrResult = S_OK; - } - else if( !lstrcmpA(m_pszFeature, "%JobTimeout") - || - !lstrcmpA(m_pszFeature, "%WaitTimeout") - ) - { - // JobTimeout and WaitTimeout feature options are string representations - // of an integer that represents number of seconds in the range 0 through - // 2,147,483,647 (i.e. LONG_MAX). However, COMPSTUI limits us to - // WORD size, which has range of 0 to 32,767 (i.e. SHRT_MAX). - m_cType = TVOT_UDARROW; - m_ptRange.x = 0; - m_ptRange.y = SHRT_MAX; - hrResult = GetOptionSelectionShort(Helper, poemuiobj); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - } - else if( !lstrcmpA(m_pszFeature, "%MaxFontSizeAsBitmap") - || - !lstrcmpA(m_pszFeature, "%MinFontSizeAsOutline") - ) - { - // MaxFontSizeAsBitmap, and MinFontSizeAsOutline feature options - // are string representations of an integer that represents number - // of pixels in the range 0 through 32,767 (i.e. SHRT_MAX). - m_cType = TVOT_UDARROW; - m_ptRange.x = 0; - m_ptRange.y = SHRT_MAX; - hrResult = GetOptionSelectionShort(Helper, poemuiobj); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - } - else if( !lstrcmpA(m_pszFeature, "%PSMemory") ) - { - DWORD dwType; - DWORD dwLevel; - DWORD dwNeeded; - - - // PSMemory option is string representation of an integer - // that represents number of seconds in the range 0 - // through 32,767 (i.e. SHRT_MAX). - // However, the minimum is 172 KB for Level 1 and 249 KB for level 2 - m_cType = TVOT_UDARROW; - m_ptRange.y = SHRT_MAX; - hrResult = GetOptionSelectionShort(Helper, poemuiobj); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // Get the global attribute for max language level. - hrResult = Helper.GetGlobalAttribute(poemuiobj, - 0, - "LanguageLevel", - &dwType, - (PBYTE) &dwLevel, - sizeof(dwLevel), - &dwNeeded); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get global attribute \"LanguageLevel\". (hrResult = 0x%x)\r\n"), - hrResult); - - goto Exit; - } - - // Set minimum range based on PS Max Language level. - switch(dwLevel) - { - case 1: - m_ptRange.x = 172; - break; - - default: - case 2: - case 3: - m_ptRange.x = 249; - break; - } - - // Get Units string. - //GetStringResource(m_pszUnits - } - else if(!lstrcmpA(m_pszFeature, "%OutputPSLevel")) - { - hrResult = GetOptionsForOutputPSLevel(Helper, poemuiobj); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForSpecialFeatures() failed to get current selection for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - } - - -Exit: - - return hrResult; -} - -// Do init for PS Level options. -HRESULT COptions::GetOptionsForOutputPSLevel(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - WORD wCount = 0; - DWORD dwLevel = 0; - DWORD dwType = 0; - DWORD dwNeeded = 0; - HRESULT hrResult = E_NOTIMPL; - - - // PS Level is integers from 1 to "LanguageLevel" - // global atribute. - m_cType = TVOT_COMBOBOX; - - // Get the global attribute for max language level. - hrResult = Helper.GetGlobalAttribute(poemuiobj, - 0, - "LanguageLevel", - &dwType, - (PBYTE) &dwLevel, - sizeof(dwLevel), - &dwNeeded); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to get global attribute \"LanguageLevel\". (hrResult = 0x%x)\r\n"), - hrResult); - - goto Exit; - } - - // - // Create Options for PS Level - // - - // Set the number of options to the PS Level supported. - m_wOptions = (WORD) dwLevel; - - // Allocate keyword list. - // Allocate memory for pointer to keyword and the keyword itself, so that - // the memory for the keyword strings will get de-allocated with the keyword list - // on object destruction, just like regular features for which EnumOptions works. - // User the size of a pointer (4 bytes on x86, and 8 on IA64) so that - // it begining of the keyword strings will be DWORD or QUADWORD aligned - // for x86 and IA64 respectively. Keyword strings aren't required to - // be DWORD or QUADWORD aligned, but it is more optimal. Also, this gives - // some additional space for the case of %OutputPSLevel keywords, which are - // in the range of 1 through the max PostScript level supported, and only - // require 2 CHARs (1 for the digit and one for the NULL terminator). - m_ppszOptions = (PCSTR *) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * ( sizeof(PSTR) + sizeof(PCSTR *) ) ); - if(NULL == m_ppszOptions) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate option keyword array for PS Level.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - - // Allocate option info array. - m_pInfo = (POPTION_INFO) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * sizeof(OPTION_INFO)); - if(NULL == m_pInfo) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate info array for PS Level.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Init the option info. - for(wCount = 0; wCount < m_wOptions; ++wCount) - { - // Init keyword. - // The memory for both the keyword list and the keyword strings was allocated above. - m_ppszOptions[wCount] = (PSTR)(m_ppszOptions + m_wOptions) + (sizeof(PSTR) * wCount); - hrResult = StringCbPrintfA(const_cast<PSTR>(m_ppszOptions[wCount]), sizeof(PSTR), "%d", wCount + 1); - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to string representation of item %d.\r\n"), - wCount + 1); - - goto Exit; - } - - // Init option display name. - m_pInfo[wCount].pszDisplayName = (PWSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, 2 * sizeof(WCHAR)); - if(NULL == m_pInfo[wCount].pszDisplayName) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to allocate display string for Level %d.\r\n"), - wCount); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Init option display name. - hrResult = StringCchPrintfW(m_pInfo[wCount].pszDisplayName, 2, TEXT("%d"), wCount + 1); - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionsForOutputPSLevel() failed to create display name for item %d.\r\n"), - wCount + 1); - - goto Exit; - } - } - - // - // Get Current Selection - // - - hrResult = GetOptionSelectionIndex(Helper, poemuiobj); - - -Exit: - - // Don't need to clean up memory allocation on error, since - // all memory allocated are assigned to data members, which - // will be cleaned up in the object destructor. - - return hrResult; -} - -HRESULT COptions::GetOptionSelectionString(CUIHelper &Helper, POEMUIOBJ poemuiobj, _Outptr_result_maybenull_ PSTR *ppszSel) -{ - PSTR pmszFeature = NULL; - PSTR pmszBuf = NULL; - WORD wCount = 0; - PCSTR *ppszList = NULL; - DWORD dwFeatureSize = 0; - DWORD dwNeeded = 0; - DWORD dwSize = INITIAL_GET_OPTION_SIZE; - HRESULT hrResult = S_OK; - - *ppszSel = NULL; - - - // - // Make single feature multi-sz. - // - - // Allocate single feature multi-sz buffer that's the size of the Feature name, plus two bytes for multi-sz termination - if (FAILED(hrResult = SizeTToDWord(strlen(m_pszFeature) + 2, &dwFeatureSize))) - { - goto Exit; - } - - pmszFeature = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, dwFeatureSize); - if(NULL == pmszFeature) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to allocate buffer for single feature multi-sz for feature %hs.\r\n"), - m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Just need to do a regular string copy, since the buffer is already zero filled. - hrResult = StringCbCopyA(pmszFeature, dwFeatureSize, m_pszFeature); - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to copy feature string %hs.\r\n"), m_pszFeature); - } - - // Allocated initial buffer of reasonible size. - pmszBuf = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, dwSize); - if(NULL == pmszBuf) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to allocate buffer to get current setting for feature %hs.\r\n"), - m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Get current option selection. - hrResult = Helper.GetOptions(poemuiobj, - 0, - pmszFeature, - dwFeatureSize, - pmszBuf, - dwSize, - &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded) ) - { - PSTR pTemp = NULL; - - - // INVARIANT: initial buffer not large enough. - - // Re-alloc buffer and try again. - pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, pmszBuf, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to re-allocate buffer to get current setting for feature %hs.\r\n"), - m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - pmszBuf = pTemp; - - - // Try to get current option selection again. - hrResult = Helper.GetOptions(poemuiobj, - 0, - pmszFeature, - dwFeatureSize, - pmszBuf, - dwNeeded, - &dwNeeded); - } - - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to get current setting for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // NOTE: The return string from GetOptions() may return - // contain no strings and not return a HRESULT error - // when the feature isn't supported in the current document or - // printer sticky mode. - if('\0' == pmszBuf[0]) - { - // Feature not supported for this sticky mode. - goto Exit; - } - - // Parse the results buffer to see what the current setting is. - hrResult = MakeStrPtrList(m_hHeap, pmszBuf, &ppszList, &wCount); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to make string list for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // Check that we got 2 strings back. - if(2 != wCount) - { - WARNING(DLLTEXT("COptions::GetOptionSelectionString() the GetOption() return string list for \r\n\tfeature %hs is not of size 2.\r\n\tNumber of string is %d\r\n"), - m_pszFeature, - wCount); - - // Bail if we don't have at least 2 strings. - if(2 > wCount) - { - goto Exit; - } - } - - // Return copy of just the GetOption() result. - *ppszSel = MakeStringCopy(m_hHeap, ppszList[1]); - if(NULL == *ppszSel) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionString() failed to duplicate string GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - -Exit: - - // Free local buffers. - if(NULL != pmszFeature) HeapFree(m_hHeap, 0, pmszFeature); - if(NULL != pmszBuf) HeapFree(m_hHeap, 0, pmszBuf); - if(NULL != ppszList) HeapFree(m_hHeap, 0, ppszList); - - return hrResult; -} - -// Gets current Options selection for LONG value. -HRESULT COptions::GetOptionSelectionLong(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - PSTR pszSel = NULL; - HRESULT hrResult = S_OK; - - - // Get option selection string. - hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionLong() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // Convert string option to LONG and uses that as the selection. - if(NULL != pszSel) m_Sel = atol(pszSel); - - -Exit: - - // Free local buffers. - if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel); - - return hrResult; -} - -// Gets current Options selection for SHORT value. -HRESULT COptions::GetOptionSelectionShort(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - PSTR pszSel = NULL; - HRESULT hrResult = S_OK; - - - // Get option selection string. - hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionLong() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // Convert string option to LONG and uses that as the selection. - if(NULL != pszSel) m_Sel = atoi(pszSel) & 0x00ffff; - - -Exit: - - // Free local buffers. - if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel); - - return hrResult; -} - -// Gets current option selection for feature. -HRESULT COptions::GetOptionSelectionIndex(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - PSTR pszSel = NULL; - HRESULT hrResult = S_OK; - - - // Get option selection string. - hrResult = GetOptionSelectionString(Helper, poemuiobj, &pszSel); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::GetOptionSelectionIndex() failed to get string for GetOptions() return for feature %hs. (hrResult = 0x%x)\r\n"), - m_pszFeature, - hrResult); - - goto Exit; - } - - // Find the matching option for the string returned from GetOption. - m_Sel = FindOption(pszSel, m_wOptions - 1); - - -Exit: - - // Free local buffers. - if(NULL != pszSel) HeapFree(m_hHeap, 0, pszSel); - - return hrResult; -} - - - -// -// Public Methods -// - -// Default constructor -COptions::COptions() -{ - Init(); -} - -// Destructor -COptions::~COptions() -{ - Clear(); -} - -// Get the option list for a feature -HRESULT COptions::Acquire(_In_ HANDLE hHeap, - CUIHelper &Helper, - _In_ POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature) -{ - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - VERBOSE(DLLTEXT("COptions::Acquire(0x%p, Helper, 0x%p, %hs) entered.\r\n"), - hHeap, - poemuiobj, - pszFeature ? pszFeature : "NULL"); - - // Don't retreive the Options again if we already got them. - if( (0 < m_wOptions) - && - (NULL != m_pszFeature) - && - !lstrcmpA(m_pszFeature, pszFeature) - ) - { - VERBOSE(DLLTEXT("COptions::Acquire() already have options for feature %hs.\r\n"), m_pszFeature); - VERBOSE(DLLTEXT("COptions::Acquire() returning with HRESULT of S_OK\r\n")); - - return S_OK; - } - - // Save the heap handle for use later, such as freeing memory at destruction. - m_hHeap = hHeap; - - // Store Keyword string. - m_pszFeature = pszFeature; - - - // - // Enumerate Options. - // - - - // Some features require special handling for initializing their options. - // EnumOpionts isn't implemented for these features. - // Return of E_NOTIMPL indicates it isn't the feature doesn't - // need special handling. - hrResult = GetOptionsForSpecialFeatures(Helper, poemuiobj); - if( SUCCEEDED(hrResult) - || - (!SUCCEEDED(hrResult) && (E_NOTIMPL != hrResult) ) - ) - { - // We either dealt with the special feature or incounter an error - // trying to deal with the special feature. - - goto Exit; - } - - // To try to cut down on having to call EnumOptions more than once, - // pre-allocate a buffer of reasonable size. - m_dwSize = INITIAL_ENUM_OPTIONS_SIZE; - m_pmszRaw = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_dwSize); - if(NULL == m_pmszRaw) - { - ERR(ERRORTEXT("COptions::Acquire() alloc for options for feature %hs failed.\r\n"), m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - - // Try to get options list with initial buffer. - hrResult = Helper.EnumOptions(poemuiobj, 0, m_pszFeature, m_pmszRaw, m_dwSize, &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) && (m_dwSize < dwNeeded)) - { - PSTR pTemp; - - - // INVARIANT: options list multi-sz wasn't large enough. - - // Re-allocate the buffer and try again. - pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_pmszRaw, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("COptions::Acquire() re-alloc for options list for feature %hs failed.\r\n"), m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - m_pmszRaw = pTemp; - m_dwSize = dwNeeded; - - // Try again to get the options list. - hrResult = Helper.EnumOptions(poemuiobj, 0, m_pszFeature, m_pmszRaw, m_dwSize, &dwNeeded); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::Acquire() failed to EnumOptions() for feature %hs after re-allocating buffer.\r\n"), m_pszFeature); - - goto Exit; - } - } - - // Make sure we got the option list. - // Can't do anything more with out it. - if(!SUCCEEDED(hrResult)) - { - if(E_NOTIMPL != hrResult) ERR(ERRORTEXT("COptions::Acquire() failed to enumerate options for feature %hs. (hrResult = 0x%x)\r\n"), m_pszFeature, hrResult); - - goto Exit; - } - - // INVARIANT: successfully got option keyword list. - - // Create array of string pointers to the Option names - // in the multi-sz we got from EnumOptions(). - hrResult = MakeStrPtrList(m_hHeap, m_pmszRaw, &m_ppszOptions, &m_wOptions); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::Acquire() failed to create pointer list to options. (hrResult = 0x%x)\r\n"), hrResult); - - goto Exit; - } - - // - // Build Option Information - // - - // Allocate array to hold feature info - m_pInfo = (POPTION_INFO) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_wOptions * sizeof(OPTION_INFO)); - if(NULL == m_pInfo) - { - ERR(ERRORTEXT("COptions::Acquire() failed to alloc feature info array.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // For each option, build or get useful information, such as display name. - for(WORD wIndex = 0; wIndex < m_wOptions; ++wIndex) - { - POPTION_INFO pCurrent = m_pInfo + wIndex; - - - // Get or build a keyword mapping entry - // that maps from keyword to usefully where to get info, such as - // display name, icon, option type, for keywords that may not be - // able to get info for from Helper. - pCurrent->pMapping = FindKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, m_ppszOptions[wIndex]); - - // Get display names for each of the Options. - // The function implements a heuristic for detemining the display name, - // since can't get the display name from the UI Helper for all Options. - hrResult = DetermineOptionDisplayName(m_hHeap, - Helper, - poemuiobj, - m_pszFeature, - m_ppszOptions[wIndex], - pCurrent->pMapping, - &pCurrent->pszDisplayName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("COptions::Acquire() failed to get display name for %hs of feature %hs. (hrResult = 0x%x)\r\n"), - m_ppszOptions[wIndex], - m_pszFeature, - hrResult); - - goto Exit; - } - } - - // - // Get current option selection. - // - - hrResult = GetOptionSelectionIndex(Helper, poemuiobj); - - -Exit: - - // Clean up if weren't successful. - if(!SUCCEEDED(hrResult)) - { - Clear(); - } - - VERBOSE(DLLTEXT("COptions::Acquire() returning with HRESULT of 0x%x\r\n"), hrResult); - - return hrResult; -} - -// Return nth options keyword. -PCSTR COptions::GetKeyword(WORD wIndex) const -{ - // Validate parameters. - if( (wIndex >= m_wOptions) - || - (NULL == m_ppszOptions) - ) - { - return NULL; - } - - return m_ppszOptions[wIndex]; -} - -// Return nth options display name. -PCWSTR COptions::GetName(WORD wIndex) const -{ - // Validate parameters. - if( (wIndex >= m_wOptions) - || - (NULL == m_pInfo) - ) - { - ERR(ERRORTEXT("COptions::GetName() invalid parameters.\r\n")); - - return NULL; - } - - if(NULL == m_pInfo[wIndex].pszDisplayName) ERR(ERRORTEXT("COptions::GetName() returning NULL option display name.\r\n")); - - return m_pInfo[wIndex].pszDisplayName; -} - -// Find option with matching keyword string. -WORD COptions::FindOption(_In_opt_ PCSTR pszOption, WORD wDefault) const -{ - BOOL bFound = FALSE; - WORD wMatch = wDefault; - - - // Validate parameters. - if( (NULL == pszOption) - || - (NULL == m_ppszOptions) - ) - { - return wDefault; - } - - // Walk the option keyword looking for a match. - for(WORD wIndex = 0; !bFound && (wIndex < m_wOptions); ++wIndex) - { - bFound = !lstrcmpA(pszOption, m_ppszOptions[wIndex]); - if(bFound) - { - wMatch = wIndex; - } - } - - return wMatch; -} - -// Initializes OptItem with options for a feature. -HRESULT COptions::InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem) -{ - WORD wParams = 0; - WORD wOptions = 0; - HRESULT hrResult = S_OK; - - - // Set option selection. - pOptItem->pSel = m_pSel; - - // Get count of number of options. - // NOTE: Some feature options have no counts. - wOptions = GetCount(); - - // Different OPTTYPE types require different number of OPTPARAMs. - switch(m_cType) - { - // For up down arrow control, the OPTPARAMs need is 2. - case TVOT_UDARROW: - wParams = 2; - break; - - // For combobox, the OPTPARAMs needed is on per options. - case TVOT_COMBOBOX: - wParams = wOptions; - break; - - // The default is the option count. - default: - WARNING(DLLTEXT("COptions::InitOptItem() OPTTYPE type %d num of OPTPARAMs not handled. Default to option count of %d.\r\n"), - m_cType, - wOptions); - wParams = wOptions; - break; - } - - // Only do OPTTYPEs if we have non-Zero number of OPTPARAMs. - // Every OPTTYPE has at leas one OPTPARAM. - if(0 < wParams) - { - // Allocate memory for feature options. - pOptItem->pOptType = CreateOptType(hHeap, wParams); - if(NULL == pOptItem->pOptType) - { - ERR(ERRORTEXT("COptions::InitOptItem() failed to allocate OPTTYPEs for OPTITEM %hs.\r\n"), - m_pszFeature); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Set OPTTYPE. - pOptItem->pOptType->Type = m_cType; - - // Different OPTTYPE types require different initialization. - switch(m_cType) - { - // For up down arrow control, OPTPARAM[0] is used by the contrl. - // pOptParam[0]->pData is the Units description string. - // pOptParam[1].IconID is the min limit. - // pOptParam[1].lParam is the max limit. - case TVOT_UDARROW: - assert(2 == wParams); - pOptItem->pOptType->pOptParam[0].pData = m_pszUnits; - pOptItem->pOptType->pOptParam[1].IconID = m_ptRange.x; - pOptItem->pOptType->pOptParam[1].lParam = m_ptRange.y; - break; - - // For combobox, the pOptParam[n].pData is the display name of the option. - case TVOT_COMBOBOX: - for(WORD wIndex = 0; wIndex < wParams; ++wIndex) - { - pOptItem->pOptType->pOptParam[wIndex].pData = const_cast<PWSTR>(GetName(wIndex)); - } - break; - - default: - ERR(ERRORTEXT("COptions::InitOptItem() OPTTYPE type %d OPTTYPE init not handled.\r\n"), - m_cType); - break; - } - } - - -Exit: - - return hrResult; -} - -// Refresh option selection. -HRESULT COptions::RefreshSelection(CUIHelper &Helper, POEMUIOBJ poemuiobj) -{ - HRESULT hrResult = S_OK; - - - // Method for getting option selection is based - // on OPTTYPE type. - switch(m_cType) - { - - case TVOT_UDARROW: - hrResult = GetOptionSelectionShort(Helper, poemuiobj); - break; - - case TVOT_COMBOBOX: - hrResult = GetOptionSelectionIndex(Helper, poemuiobj); - break; - - default: - ERR(ERRORTEXT("COptions::RefreshSelection() not handled for type %d OPTTYPE.\r\n"), - m_cType); - break; - } - - return hrResult; -} - - - -//////////////////////////////////////////// -// -// CFeatures Methods -// - -// -// Private Methods -// - -// Initializes class -void CFeatures::Init() -{ - // Initialize data members. - m_wFeatures = 0; - m_wDocFeatures = 0; - m_wPrintFeatures = 0; - m_pmszRaw = NULL; - m_ppszKeywords = NULL; - m_dwSize = 0; - m_hHeap = NULL; - m_pInfo = NULL; -} - -// Cleans up class and re-initialize it. -void CFeatures::Clear() -{ - // Free memory associated with data members. - if(NULL != m_pmszRaw) HeapFree(m_hHeap, 0, m_pmszRaw); - if(NULL != m_ppszKeywords) HeapFree(m_hHeap, 0, m_ppszKeywords); - - // Free feature info - FreeFeatureInfo(); - - // Re-initialize - Init(); -} - -// Free feature info -void CFeatures::FreeFeatureInfo() -{ - // Validate parameters. - if( (NULL == m_hHeap) - || - (NULL == m_pInfo) - ) - { - return; - } - - // Free memory associated with feature info. - for(WORD wIndex = 0; wIndex < m_wFeatures; ++wIndex) - { - PWSTR pszDisplay = m_pInfo[wIndex].pszDisplayName; - - - // Free display name. - if( (NULL != pszDisplay) - && - !IS_INTRESOURCE(pszDisplay) - ) - { - HeapFree(m_hHeap, 0, pszDisplay); - } - } - - // Free feature info array. - // Feature Info array allocated with new so - // that each of the constructors for COptions - // in fhte Feature Info array will be called. - delete[] m_pInfo; -} - -// Turns index for mode to modeless index, which -// is the real index to the feature. -WORD CFeatures::GetModelessIndex(WORD wIndex, DWORD dwMode) const -{ - WORD wCount = 0; - - - switch(dwMode) - { - // Number of features, all modes - case 0: - wCount = wIndex; - break; - - // Find the nth feature that matches the mode - case OEMCUIP_DOCPROP: - case OEMCUIP_PRNPROP: - // Walk the feature list looking for nth feature - // with matching mode. - for(wCount = 0; wCount < m_wFeatures; ++wCount) - { - // Count down to the feature we want. - // Only count down for matching modes. - if(dwMode == m_pInfo[wCount].dwMode) - { - if(0 == wIndex) - { - break; - } - else - { - --wIndex; - } - } - } - break; - } - - return wCount; -} - - -// -// Public Methods -// - -// Default constructor -CFeatures::CFeatures() -{ - Init(); -} - -// Destructor -CFeatures::~CFeatures() -{ - // Clean up class. - Clear(); -} - -// Gets Core Driver Features, if not already retrieved. -HRESULT CFeatures::Acquire(_In_ HANDLE hHeap, - CUIHelper &Helper, - _In_ POEMUIOBJ poemuiobj - ) -{ - WORD wIndex = 0; - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - VERBOSE(DLLTEXT("CFeatures::Acquire(0x%p, Helper, 0x%p) entered.\r\n"), - hHeap, - poemuiobj); - - // Don't retreive the Features again if we already got them. - if(0 < m_wFeatures) - { - VERBOSE(DLLTEXT("CFeatures::Acquire() features already enumerated.\r\n")); - VERBOSE(DLLTEXT("CFeatures::Acquire() returning S_OK.\r\n")); - - return S_OK; - } - - // Save the heap handle for use later, such as freeing memory at destruction. - m_hHeap = hHeap; - - // - // Enumerate features. - // - - // To try to cut down on having to call EnumFeatures more than once, - // pre-allocate a buffer of reasonable size. - m_dwSize = INITIAL_ENUM_FEATURES_SIZE; - m_pmszRaw = (PSTR) HeapAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_dwSize); - if(NULL == m_pmszRaw) - { - ERR(ERRORTEXT("CFeatures::Acquire() alloc for feature list failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - - // Try to get feature list with initial buffer. - hrResult = Helper.EnumFeatures(poemuiobj, 0, m_pmszRaw, m_dwSize, &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) && (m_dwSize < dwNeeded)) - { - PSTR pTemp; - - - // INVARIANT: feature list multi-sz wasn't large enough. - - - // Re-allocate the buffer and try again. - pTemp = (PSTR) HeapReAlloc(m_hHeap, HEAP_ZERO_MEMORY, m_pmszRaw, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("CFeatures::Acquire() re-alloc for feature list failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - m_pmszRaw = pTemp; - m_dwSize = dwNeeded; - - // Try again to get the feature list. - hrResult = Helper.EnumFeatures(poemuiobj, 0, m_pmszRaw, m_dwSize, &dwNeeded); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to EnumFeatures() after re-allocating buffer.\r\n")); - - goto Exit; - } - } - - // Make sure we got the feature list. - // Can't do anything more with out it. - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to enumerate features. (hrResult = 0x%x)\r\n"), hrResult); - - goto Exit; - } - - // INVARIANT: successfully got feature keyword list. - - // Create array of string pointers to the feature keywords - // in the multi-sz we got from EnumFreatures(). - hrResult = MakeStrPtrList(m_hHeap, m_pmszRaw, &m_ppszKeywords, &m_wFeatures); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to create pointer list to keywords. (hrResult = 0x%x)\r\n"), hrResult); - - goto Exit; - } - - - // - // Build Feature Information - // - - - // Allocate array to hold feature info - // Use new for allocation so class - // constructors/destructors get called. - m_pInfo = new FEATURE_INFO[m_wFeatures]; - if(NULL == m_pInfo) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to alloc feature info array.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // For each feature, build/get feature info.... - for(wIndex = 0; wIndex < m_wFeatures; ++wIndex) - { - PFEATURE_INFO pCurrent = m_pInfo + wIndex; - - - // Get or build a keyword mapping entry - // that maps from keyword to usefully where to get info, such as - // display name, icon, option type, for keywords that may not be - // able to get info for from Helper. - pCurrent->pMapping = FindKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, m_ppszKeywords[wIndex]); - - // Get display names for each of the featurs. - // The function implements a heuristic for detemining the display name, - // since can't get the display name from the UI Helper for all features. - hrResult = DetermineFeatureDisplayName(m_hHeap, - Helper, - poemuiobj, - m_ppszKeywords[wIndex], - pCurrent->pMapping, - &pCurrent->pszDisplayName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to get display name for feature %hs. (hrResult = 0x%x)\r\n"), - m_ppszKeywords[wIndex], - hrResult); - - goto Exit; - } - - // Get options for each feature. - // NOTE: some features don't have options; the HRESULT will be E_NOTIMPL for these. - hrResult = pCurrent->Options.Acquire(hHeap, - Helper, - poemuiobj, - m_ppszKeywords[wIndex]); - if(!SUCCEEDED(hrResult) && (E_NOTIMPL != hrResult)) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to get options for feature %hs. (hrResult = 0x%x)\r\n"), - m_ppszKeywords[wIndex], - hrResult); - - goto Exit; - } - - // Determine if feature is Printer or Document sticky. - hrResult = DetermineStickiness(Helper, - poemuiobj, - m_ppszKeywords[wIndex], - pCurrent->pMapping, - &pCurrent->dwMode); - // Don't propagate error if failure from unhandled driver feature. - if( !SUCCEEDED(hrResult) - && - !IS_DRIVER_FEATURE(m_ppszKeywords[wIndex]) - ) - { - ERR(ERRORTEXT("CFeatures::Acquire() failed to determine stickiness for feature %hs. (hrResult = 0x%x)\r\n"), - m_ppszKeywords[wIndex], - hrResult); - - goto Exit; - } - - // Keep track of mode counts. - switch(pCurrent->dwMode) - { - case OEMCUIP_DOCPROP: - ++m_wDocFeatures; - break; - - case OEMCUIP_PRNPROP: - ++m_wPrintFeatures; - break; - - default: - ERR(ERRORTEXT("CFeatures::Acquire() unknown stickiness for feature %hs.\r\n"), - m_ppszKeywords[wIndex]); - break; - } - - } - - // INVARIANT: successfully build feature list. - - // Make sure that we always return success if we reach this point. - hrResult = S_OK; - - -Exit: - - // Clean up if weren't successful. - if(!SUCCEEDED(hrResult)) - { - Clear(); - } - - - VERBOSE(DLLTEXT("CFeatures::Acquire() returning HRESULT of 0x%x.\r\n"), hrResult); - - return hrResult; -} - -// Returns number of features contained in class instance. -WORD CFeatures::GetCount(DWORD dwMode) const -{ - WORD wCount = 0; - - - switch(dwMode) - { - // Number of features, all modes - case 0: - wCount = m_wFeatures; - break; - - case OEMCUIP_DOCPROP: - wCount = m_wDocFeatures; - break; - - case OEMCUIP_PRNPROP: - wCount = m_wPrintFeatures; - break; - - } - - VERBOSE(DLLTEXT("CFeatures::GetCount() returning %d\r\n"), wCount); - - return wCount; -} - -// Returns nth feature's keyword -PCSTR CFeatures::GetKeyword(WORD wIndex, DWORD dwMode) const -{ - // Validate parameters. - if( (wIndex >= GetCount(dwMode)) - || - (NULL == m_ppszKeywords) - ) - { - return NULL; - } - - // Get internal index. - wIndex = GetModelessIndex(wIndex, dwMode); - - // Return keyword - return m_ppszKeywords[wIndex]; -} - -// Return nth feature's Display Name. -PCWSTR CFeatures::GetName(WORD wIndex, DWORD dwMode) const -{ - // Validate parameters. - if( (wIndex >= GetCount(dwMode)) - || - (NULL == m_pInfo) - ) - { - return NULL; - } - - // Get internal index. - wIndex = GetModelessIndex(wIndex, dwMode); - - // Return display name. - return m_pInfo[wIndex].pszDisplayName; -} - -// Returns pointer to option class for nth feature. -COptions* CFeatures::GetOptions(WORD wIndex, DWORD dwMode) const -{ - // Validate parameters. - if( (wIndex >= GetCount(dwMode)) - || - (NULL == m_pInfo) - ) - { - return NULL; - } - - // Get internal index. - wIndex = GetModelessIndex(wIndex, dwMode); - - // Return options pointer. - return &m_pInfo[wIndex].Options; -} - -// Formats OPTITEM for specied feature. -HRESULT CFeatures::InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wIndex, DWORD dwMode) -{ - COptions *pOptions = NULL; - HRESULT hrResult = S_OK; - PFEATUREOPTITEMDATA pData = NULL; - - - // Validate parameters. - if( (wIndex >= GetCount(dwMode)) - || - (NULL == m_pInfo) - || - (NULL == pOptItem) - ) - { - return E_INVALIDARG; - } - - // Map mode index to internal index. - wIndex = GetModelessIndex(wIndex, dwMode); - - // Get name of feature. - pOptItem->pName = const_cast<PWSTR>(GetName(wIndex)); - - // Add feature OPTITEM data to OPTITEM to facilitate saving - // selection changes. - pData = (PFEATUREOPTITEMDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(FEATUREOPTITEMDATA)); - if(NULL == pData) - { - ERR(ERRORTEXT("CFeatures::InitOptItem() failed to allocated memory for feature OPTITEM data.")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - pData->dwSize = sizeof(FEATUREOPTITEMDATA); - pData->dwTag = FEATURE_OPTITEM_TAG; - pData->pszFeatureKeyword = GetKeyword(wIndex); - pData->pOptions = GetOptions(wIndex); - pOptItem->UserData = (ULONG_PTR) pData; - - - // Get pointer to options for this feature. - // NOTE: some features do not have option list for various reasons. - pOptions = GetOptions(wIndex); - if(NULL != pOptions) - { - // Initialize COption parts of the OPTITEM - hrResult = pOptions->InitOptItem(hHeap, pOptItem); - } - -Exit: - - Dump(pOptItem); - - return hrResult; -} - -////////////////////////////////////////////////// -// -// Regular functions not part of class -// -////////////////////////////////////////////////// - - -// Maps feature keywords to display names for the features. -HRESULT DetermineFeatureDisplayName(_In_ HANDLE hHeap, - CUIHelper &Helper, - POEMUIOBJ poemuiobj, - _In_ PCSTR pszKeyword, - const PKEYWORDMAP pMapping, - _Outptr_result_maybenull_ PWSTR *ppszDisplayName) -{ - DWORD dwDataType = 0; - DWORD dwSize = INITIAL_FEATURE_DISPLAY_NAME_SIZE; - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - // Validate parameters. - if( (NULL == hHeap) - || - (NULL == pszKeyword) - || - (NULL == ppszDisplayName) - ) - { - ERR(ERRORTEXT("DetermineFeatureDisplayName() invalid arguement.\r\n")); - - hrResult = E_INVALIDARG; - goto Exit; - } - - // - // Call the Helper function. - // - - // Helper will return Display Names for PPD Features, but - // not for Driver Synthisized features (i.e. features prefixed with %). - // Do it for Driver Synthisized features, just in case the helper - // interface changes to support it. - - // Pre-allocate a buffer of reasonable size to try - // to one have to call GetFeatureAttribute() once. - *ppszDisplayName = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize); - if(NULL == *ppszDisplayName) - { - ERR(ERRORTEXT("DetermineFeatureDisplayName() alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Try to get diplay name for feature from Helper. - hrResult = Helper.GetFeatureAttribute(poemuiobj, - 0, - pszKeyword, - "DisplayName", - &dwDataType, - (PBYTE) *ppszDisplayName, - dwSize, - &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded)) - { - PWSTR pTemp; - - - // INVARIANT: initial buffer wasn't large enough. - - // Re-alloc buffer and try again. - pTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszDisplayName, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("DetermineFeatureDisplayName() re-alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - *ppszDisplayName = pTemp; - - // Try to get the display name from Helper, again. - hrResult = Helper.GetFeatureAttribute(poemuiobj, - 0, - pszKeyword, - "DisplayName", - &dwDataType, - (PBYTE) *ppszDisplayName, - dwNeeded, - &dwNeeded); - } - - if(SUCCEEDED(hrResult)) - { - // INVARIANT: Successfully got display name from Helper for feature. - // Don't need to do anything more. - - // Check the data type, it should be kADT_UNICODE. - if(kADT_UNICODE != dwDataType) WARNING(DLLTEXT("DetermineFeatureDisplayName() feature attribute type not kADT_UNICODE. (dwDataType = %d)\r\n"), dwDataType); - - goto Exit; - } - - // INVARIANT: Did not get the display name from the Helper. - - // Free memory allocated for call to Helper. - if(NULL != *ppszDisplayName) - { - HeapFree(hHeap, 0, *ppszDisplayName); - *ppszDisplayName = NULL; - } - - // Try alternative methods for getting the display name other - // than from the Helper function. - // If we have a mapping entry, then try to get resource string - // for the display name. - // Otherwise, covert the keyword to UNICODE and use that. - if(NULL != pMapping) - { - // - // Try mapping the keyword to resource string. - // - - hrResult = GetDisplayNameFromMapping(hHeap, pMapping, ppszDisplayName); - } - else - { - // - // Convert the keyword to UNICODE and use that. - // - - // Convert ANSI keyword to Unicode string for display name. - // Need to remove the % for Driver Synthisized features. - // For debug version, add marker that shows that the display name was faked. - PCSTR pConvert = IS_DRIVER_FEATURE(pszKeyword) ? pszKeyword + 1 : pszKeyword; - #if DBG - CHAR szTemp[256]; - if(FAILED(StringCbPrintfA(szTemp, sizeof(szTemp), "%s (Keyword)", pConvert))) - { - ERR(ERRORTEXT("DetermineFeatureDisplayName() StringCbPrintfA() called failed.\r\n")); - } - pConvert = szTemp; - #endif - *ppszDisplayName = MakeUnicodeString(hHeap, pConvert); - if(NULL == *ppszDisplayName) - { - ERR(ERRORTEXT("DetermineFeatureDisplayName() alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Return success even though we faked a display name. - hrResult = S_OK; - } - - -Exit: - - // If failed, then return no string. - if(!SUCCEEDED(hrResult)) - { - if(ppszDisplayName && NULL != *ppszDisplayName) - { - HeapFree(hHeap, 0, *ppszDisplayName); - *ppszDisplayName = NULL; - } - } - - return hrResult; -} - -// Maps option keywords to display names for the option. -HRESULT DetermineOptionDisplayName(_In_ HANDLE hHeap, - CUIHelper &Helper, - POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature, - _In_ PCSTR pszOption, - const PKEYWORDMAP pMapping, - _Outptr_result_maybenull_ PWSTR *ppszDisplayName) -{ - DWORD dwDataType = 0; - DWORD dwSize = INITIAL_OPTION_DISPLAY_NAME_SIZE; - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - // Validate parameters. - if( (NULL == hHeap) - || - (NULL == pszFeature) - || - (NULL == pszOption) - || - (NULL == ppszDisplayName) - ) - { - ERR(ERRORTEXT("DetermineOptionDisplayName() invalid arguement.\r\n")); - - hrResult = E_INVALIDARG; - goto Exit; - } - - // - // Call the Helper function. - // - - // Helper will return Display Names for PPD Feature Options, but - // not for Driver Synthisized features options (i.e. features prefixed with %). - // Do it for all options, just in case the helper interface changes to support it. - - // Pre-allocate a buffer of reasonable size to try - // to one have to call GetOptionAttribute() once. - *ppszDisplayName = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize); - if(NULL == *ppszDisplayName) - { - ERR(ERRORTEXT("DetermineOptionDisplayName() alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Try to get diplay name for feature from Helper. - hrResult = Helper.GetOptionAttribute(poemuiobj, - 0, - pszFeature, - pszOption, - "DisplayName", - &dwDataType, - (PBYTE) *ppszDisplayName, - dwSize, - &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) && (dwSize < dwNeeded)) - { - PWSTR pTemp; - - - // INVARIANT: initial buffer wasn't large enough. - - // Re-alloc buffer and try again. - pTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszDisplayName, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("GetOptionAttribute() re-alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - *ppszDisplayName = pTemp; - - // Try to get the display name from Helper, again. - hrResult = Helper.GetOptionAttribute(poemuiobj, - 0, - pszFeature, - pszOption, - "DisplayName", - &dwDataType, - (PBYTE) *ppszDisplayName, - dwNeeded, - &dwNeeded); - } - - if(SUCCEEDED(hrResult)) - { - // INVARIANT: Successfully got display name from Helper for feature. - // Don't need to do anything more. - - // Check the data type, it should be kADT_UNICODE. - if(kADT_UNICODE != dwDataType) WARNING(DLLTEXT("DetermineOptionDisplayName() feature attribute type not kADT_UNICODE. (dwDataType = %d)\r\n"), dwDataType); - - goto Exit; - } - - // INVARIANT: Did not get the display name from the Helper. - - // Free memory allocated for call to Helper. - if(NULL != *ppszDisplayName) - { - HeapFree(hHeap, 0, *ppszDisplayName); - *ppszDisplayName = NULL; - } - - // Try alternative methods for getting the display name other - // than from the Helper function. - // If we have a mapping entry, then try to get resource string - // for the display name. - // Otherwise, covert the keyword to UNICODE and use that. - if(NULL != pMapping) - { - // - // Try mapping the keyword to resource string. - // - - hrResult = GetDisplayNameFromMapping(hHeap, pMapping, ppszDisplayName); - } - else - { - // - // Convert the keyword to UNICODE and use that. - // - - // Convert ANSI keyword to Unicode string for display name. - // For debug version, add marker that shows that the display name was faked. - PCSTR pConvert = pszOption; - #if DBG - CHAR szTemp[256]; - if(FAILED(StringCbPrintfA(szTemp, sizeof(szTemp), "%s (Keyword)", pConvert))) - { - ERR(ERRORTEXT("DetermineOptionDisplayName() StringCbPrintfA() called failed.\r\n")); - } - pConvert = szTemp; - #endif - *ppszDisplayName = MakeUnicodeString(hHeap, pConvert); - if(NULL == *ppszDisplayName) - { - ERR(ERRORTEXT("DetermineOptionDisplayName() alloc for feature display name failed.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Return success even though we faked a display name. - hrResult = S_OK; - } - - -Exit: - - // If failed, then return no string. - if(!SUCCEEDED(hrResult)) - { - if(ppszDisplayName && NULL != *ppszDisplayName) - { - HeapFree(hHeap, 0, *ppszDisplayName); - *ppszDisplayName = NULL; - } - } - - return hrResult; -} - -// Determines sticky mode for the feature. -HRESULT DetermineStickiness(CUIHelper &Helper, - POEMUIOBJ poemuiobj, - PCSTR pszKeyword, - const PKEYWORDMAP pMapping, - PDWORD pdwMode) -{ - CHAR szGroupType[32] = {0}; - DWORD dwType = 0; - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - // Use mapping to see what stickiness of the feature is. - if(NULL != pMapping) - { - *pdwMode = pMapping->dwMode; - goto Exit; - } - - // By default make feature Document sticky, if we don't have mapping. - *pdwMode = OEMCUIP_DOCPROP; - - // Try to use Helper to determine stickiness. - hrResult = Helper.GetFeatureAttribute(poemuiobj, - 0, - pszKeyword, - "OpenGroupType", - &dwType, - (PBYTE) szGroupType, - sizeof(szGroupType), - &dwNeeded); - if(SUCCEEDED(hrResult)) - { - // INVARIANT: found out if feature is an installable option. - // Installable options are the only PPD features - // that are Printer sticky. - - if(!lstrcmpA(szGroupType, "InstallableOptions")) - { - *pdwMode = OEMCUIP_PRNPROP; - } - goto Exit; - } - - -Exit: - - return hrResult; -} - -// Find the mapping entry from the keyword. -PKEYWORDMAP FindKeywordMapping(PKEYWORDMAP pKeywordMap, WORD wMapSize, PCSTR pszKeyword) -{ - BOOL bFound = FALSE; - PKEYWORDMAP pMapping = NULL; - - - // Walk mapping array for matching keyword. - for(WORD wIndex = 0; !bFound && (wIndex < wMapSize); ++wIndex) - { - bFound = !lstrcmpA(pszKeyword, pKeywordMap[wIndex].pszKeyword); - if(bFound) - { - pMapping = pKeywordMap + wIndex; - } - } - - return pMapping; -} - -// Get display name from mapping entry. -HRESULT GetDisplayNameFromMapping(_In_ HANDLE hHeap, PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName) -{ - HMODULE hModule = NULL; - HRESULT hrResult = S_OK; - - - // Validate parameters. - if( (NULL == hHeap) - || - (NULL == pMapping) - || - (NULL == ppszDisplayName) - ) - { - hrResult = E_INVALIDARG; - goto Exit; - } - - // Check for simple case of returning INT resource. - if( (NULL == pMapping->pwszModule) - || - IS_MAPPING_INT_RESOURCE(pMapping) - ) - { - // Just need to do MAKEINTRESOURCE on the resource ID and return. - *ppszDisplayName = MAKEINTRESOURCE(pMapping->uDisplayNameID); - goto Exit; - } - - // We only need to get the module if we aren't loading the resource from - // this module (i.e. if module name isn't NULL). - // Also, as an optimization, we assume that the module has already been loaded, - // since the only cases currently are this module, driver ui, and Compstui.dll. - hModule = GetModuleHandle(pMapping->pwszModule); - if(NULL == hModule) - { - DWORD dwError = GetLastError(); - - - ERR(ERRORTEXT("GetDisplayNameFromMapping() for failed to load module %s. (Error %d)\r\n"), - pMapping->pwszModule, - dwError); - - hrResult = HRESULT_FROM_WIN32(dwError); - goto Exit; - } - - // INVARIANT: have handle to module to load resource from or the - // resource is being loaded from this module. - - // Get the string resouce. - hrResult = GetStringResource(hHeap, hModule, pMapping->uDisplayNameID, ppszDisplayName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("GetDisplayNameFromMapping() failed to load string. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - -Exit: - - return hrResult; -} - -// Test if an OPTITEM is an OPTITEM for a feature. -// Macro for testing if OPTITEM is feature OPTITEM -BOOL IsFeatureOptitem(POPTITEM pOptItem) -{ - BOOL bRet = FALSE; - PFEATUREOPTITEMDATA pData = NULL; - - - // Make sure pointers are NULL. - if( (NULL == pOptItem) - || - (NULL == pOptItem->UserData) - ) - { - // INVARIANT: can't be feature OPTITEM, since one of - // the necessary pointer are NULL. - - return FALSE; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData); - - // Check size and tag. - bRet = (sizeof(FEATUREOPTITEMDATA) == pData->dwSize) - && - (FEATURE_OPTITEM_TAG == pData->dwTag); - - return bRet; -} - - - -// Walks array of OPTITEMs saving each feature OPTITEM -// that has changed. -HRESULT SaveFeatureOptItems(_In_ HANDLE hHeap, - CUIHelper *pHelper, - POEMUIOBJ poemuiobj, - HWND hWnd, - POPTITEM pOptItem, - WORD wItems) -{ - PSTR pmszPairs = NULL; - WORD wPairs = 0; - WORD wReasons = 0; - DWORD dwSize = 0; - DWORD dwResult = 0; - PCSTR *ppszReasons = NULL; - PWSTR pszConfilictFeature = NULL; - PWSTR pszConfilictOption = NULL; - PWSTR pszCaption = NULL; - PWSTR pszFormat = NULL; - PWSTR pszMessage = NULL; - HRESULT hrResult = S_OK; - - - // Validate parameters - if( (NULL == hHeap) - || - (NULL == pHelper) - || - (NULL == pOptItem) - ) - { - ERR(ERRORTEXT("SaveFeatureOptItems() called with invalid parameters.\r\n")); - - hrResult = E_INVALIDARG; - goto Exit; - } - - // Get feature option pairs to save. - hrResult = GetChangedFeatureOptions(hHeap, pOptItem, wItems, &pmszPairs, &wPairs, &dwSize); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() failed to get changed feature option pairs. (hrResult = 0x%x)\r\n"), - hrResult); - - goto Exit; - } - - // Don't need to do anything more if no feature options changed. - if(0 == wPairs || !pmszPairs) - { - VERBOSE(DLLTEXT("SaveFeatureOptItems() no feature options that need to be set.\r\n")); - - goto Exit; - } - - // Set the change feature options. - // For the first SetOptions() call, don't have the - // core driver UI resolve conflicts, so we can - // prompt user for automatic resolution or let - // them do the conflict resolving. - hrResult = pHelper->SetOptions(poemuiobj, - SETOPTIONS_FLAG_KEEP_CONFLICT, - pmszPairs, - dwSize, - &dwResult); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() call to SetOptions() failed. (hrResult = 0x%x, dwResult = %d\r\n"), - hrResult, - dwResult); - - goto Exit; - } - - // Check to see if we were able to save changed feature options, - // or if there is a conflict that needs resolution. - if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult) - { - int nRet; - DWORD dwRet; - CONFLICT Conflict; - PKEYWORDMAP pMapping = NULL; - - - // INVARIANT: constraint conflict, options weren't saved. - - // Get list of all features that have conflict. - hrResult = GetFirstConflictingFeature(hHeap, - pHelper, - poemuiobj, - pOptItem, - wItems, - &Conflict); - if(!SUCCEEDED(hrResult)) - { - goto Exit; - } - - // Create string pointer list in to multi-sz of first conflict. - hrResult = MakeStrPtrList(hHeap, Conflict.pmszReasons, &ppszReasons, &wReasons); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() failed to make string list for conflict reasons. (hrResult = 0x%x)\r\n"), - hrResult); - - goto Exit; - } - - // Ensure that we have at least 2 reasons. Later code assumes that we do. - if (wReasons < 2) - { - hrResult = E_UNEXPECTED; - - goto Exit; - } - - // - // Get display versions of feature/option conflict reason. - // - - // Get or build a keyword mapping entry - // that maps from keyword to usefully where to get info, such as - // display name, icon, option type, for keywords that may not be - // able to get info for from Helper. - pMapping = FindKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, ppszReasons[0]); - - // Get display names for each of the featurs. - // The function implements a heuristic for detemining the display name, - // since can't get the display name from the UI Helper for all features. - hrResult = DetermineFeatureDisplayName(hHeap, - *pHelper, - poemuiobj, - ppszReasons[0], - pMapping, - &pszConfilictFeature); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems failed to get display name for feature %hs. (hrResult = 0x%x)\r\n"), - ppszReasons[0], - hrResult); - - goto Exit; - } - - // Get or build a keyword mapping entry - // that maps from keyword to usefully where to get info, such as - // display name, icon, option type, for keywords that may not be - // able to get info for from Helper. - pMapping = FindKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, ppszReasons[1]); - - // Get option display name. - hrResult = DetermineOptionDisplayName(hHeap, - *pHelper, - poemuiobj, - ppszReasons[0], - ppszReasons[1], - pMapping, - &pszConfilictOption); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() failed to get display name for %hs of feature %hs. (hrResult = 0x%x)\r\n"), - ppszReasons[1], - ppszReasons[0], - hrResult); - - goto Exit; - } - - // - // Prompt user about how to resolve conflict. - // - - // Get caption name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &pszCaption); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() failed to get caption name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Get message body format string. - hrResult = GetStringResource(hHeap, ghInstance, IDS_CONSTRAINT_CONFLICT, &pszFormat); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems() failed to get constraint conflict format. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - - // Get messsage body. - PVOID paArgs[4] = {pszConfilictFeature, - pszConfilictOption, - const_cast<PWSTR>(Conflict.pszFeature), - Conflict.pszOption - }; - dwRet = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY, - pszFormat, - 0, - 0, - (PWSTR) &pszMessage, - 0, - (va_list *) paArgs); - if(0 == dwRet) - { - DWORD dwError = GetLastError(); - - ERR(ERRORTEXT("SaveFeatureOptItems() failed to FormatMessage() for constraint conflict of feature %hs option %hs. (Last Error %d)\r\n"), - Conflict.pszFeatureKeyword, - Conflict.pszOptionKeyword, - dwError); - - hrResult = HRESULT_FROM_WIN32(dwError); - goto Exit; - } - - // Display simple message box with prompt. - nRet = MessageBox(hWnd, pszMessage, pszCaption, MB_YESNO | MB_ICONWARNING); - - // Check to see how user wants to resolve conflict. - if(IDYES == nRet) - { - // Let core driver resolve conflict resolution. - hrResult = pHelper->SetOptions(poemuiobj, - SETOPTIONS_FLAG_RESOLVE_CONFLICT, - pmszPairs, - dwSize, - &dwResult); - - // Conflict resolution requires refreshing current option - // selection for each feature, since selection may have - // changed because of conflict resolution. - RefreshOptItemSelection(pHelper, poemuiobj, pOptItem, wItems); - } - - // Return failure if there are still conflictts. - if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult) - { - hrResult = E_FAIL; - } - } - - -Exit: - - // Clean up... - - // cleanup heap allocs. - if(NULL != pmszPairs) HeapFree(hHeap, 0, pmszPairs); - if(NULL != ppszReasons) HeapFree(hHeap, 0, ppszReasons); - if(NULL != pszConfilictFeature) HeapFree(hHeap, 0, pszConfilictFeature); - if(NULL != pszConfilictOption) HeapFree(hHeap, 0, pszConfilictOption); - if(NULL != pszCaption) HeapFree(hHeap, 0, pszCaption); - if(NULL != pszFormat) HeapFree(hHeap, 0, pszFormat); - if(NULL != pszMessage) LocalFree(pszMessage); - - return hrResult; -} - -// Allocates buffer, if needed, and calls IPrintCoreUI2::WhyConsrained -// to get reason for constraint. -HRESULT GetWhyConstrained(_In_ HANDLE hHeap, - CUIHelper *pHelper, - POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature, - _In_ PCSTR pszOption, - _Inout_ PSTR *ppmszReason, - _Inout_ PDWORD pdwSize) -{ - PSTR pmszReasonList = *ppmszReason; - DWORD dwNeeded = 0; - HRESULT hrResult = S_OK; - - - // If buffer wasn't passed in, then allocate one. - if( (NULL == pmszReasonList) || (0 == *pdwSize) ) - { - // If no size or size is smaller than default, then change to default - // size. We want to try to only allocate and call once. - if(*pdwSize < INITIAL_GET_REASON_SIZE) - { - *pdwSize = INITIAL_GET_REASON_SIZE; - } - - // Alloc initial buffer for reason constrained. - pmszReasonList = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, *pdwSize); - if(NULL == pmszReasonList) - { - ERR(ERRORTEXT("GetWhyConstrained() failed to alloc buffer for constraint reasons for feature %hs and option %hs.\r\n"), - pszFeature, - pszOption); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - } - - // Get reason for constraint. - hrResult = pHelper->WhyConstrained(poemuiobj, - 0, - pszFeature, - pszOption, - pmszReasonList, - *pdwSize, - &dwNeeded); - if( (E_OUTOFMEMORY == hrResult) - && - (*pdwSize < dwNeeded) - ) - { - PSTR pTemp; - - - // INVARIANT: initial buffer not large enough. - - // Re-alloc buffer to needed size. - pTemp = (PSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pmszReasonList, dwNeeded); - if(NULL == pTemp) - { - ERR(ERRORTEXT("GetWhyConstrained() failed to re-allocate buffer for constraint reason for feature %hs and option %hs.\r\n"), - pszFeature, - pszOption); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - pmszReasonList = pTemp; - *pdwSize = dwNeeded; - - // Retry getting constaint reason. - hrResult = pHelper->WhyConstrained(poemuiobj, - 0, - pszFeature, - pszOption, - pmszReasonList, - *pdwSize, - &dwNeeded); - } - - -Exit: - - // On error, do clean up. - if(!SUCCEEDED(hrResult)) - { - // Free reason buffer. - if(NULL != pmszReasonList) HeapFree(hHeap, 0, pmszReasonList); - - // Return NULL and zero size. - *ppmszReason = NULL; - *pdwSize = 0; - } - else - { - *ppmszReason = pmszReasonList; - } - - return hrResult; -} - -// Creates multi-sz list of feature option pairs that have changed. -HRESULT GetChangedFeatureOptions(_In_ HANDLE hHeap, - POPTITEM pOptItem, - WORD wItems, - _Outptr_result_maybenull_ PSTR *ppmszPairs, - _Out_ PWORD pwPairs, - _Out_ PDWORD pdwSize) -{ - WORD wCount = 0; - WORD wChanged = 0; - WORD wPairs = 0; - PSTR pmszPairs = NULL; - DWORD dwNeeded = 2; - DWORD dwOffset = 0; - HRESULT hrResult = S_OK; - PFEATUREOPTITEMDATA pData = NULL; - - - // Walk OPTITEM array looking or changed options, - // and calculating size needed for multi-sz buffer. - for(wCount = 0; wCount < wItems; ++wCount) - { - PSTR pszOption = NULL; - - - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM. - if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags) - || - !IsFeatureOptitem(pOptItem + wCount) - ) - { - continue; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData); - - // Increment options changed and size needed. - pszOption = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount); - if(NULL != pszOption) - { - ++wChanged; - - DWORD dwTmp = 0; - - if (FAILED(hrResult = SizeTToDWord(strlen(pData->pszFeatureKeyword) + strlen(pszOption) + 2, &dwTmp))) - { - goto Exit; - } - - dwNeeded += dwTmp; - - // Need to free option keyword string copy - // allocated in GetOptionKeywordFromOptItem(). - HeapFree(hHeap, 0, pszOption); - pszOption = NULL; - } - } - - // Don't need to do anything more if no feature options changed. - if(0 == wChanged) - { - goto Exit; - } - - // Allocate multi-sz buffer. - pmszPairs = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwNeeded); - if(NULL == pmszPairs) - { - ERR(ERRORTEXT("GetChangedFeatureOptions() failed to allocate multi-sz.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Build mult-sz list of feature option pairs - // that changed. - for(wCount = 0, wPairs = 0; (wCount < wItems) && (wPairs < wChanged); ++wCount) - { - PSTR pszOption = NULL; - - - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM. - if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags) - || - !IsFeatureOptitem(pOptItem + wCount) - ) - { - continue; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData); - - // Add feature option pair. - pszOption = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount); - if(NULL != pszOption) - { - if (FAILED(hrResult = StringCbCopyA(pmszPairs + dwOffset, dwNeeded - dwOffset, pData->pszFeatureKeyword))) - { - goto Exit; - } - - DWORD dwTmp = 0; - - if (FAILED(hrResult = SizeTToDWord(strlen(pData->pszFeatureKeyword) + 1, &dwTmp))) - { - goto Exit; - } - - dwOffset += dwTmp; - - if (FAILED(hrResult = StringCbCopyA(pmszPairs + dwOffset, dwNeeded - dwOffset, pszOption))) - { - goto Exit; - } - - if (FAILED(hrResult = SizeTToDWord(strlen(pszOption) + 1, &dwTmp))) - { - goto Exit; - } - - dwOffset += dwTmp; - - // Keep track of number of pairs added, so - // we are able to exit loop as soon as - // we added all changed feature options. - ++wPairs; - - // Need to free option keyword string copy - // allocated in GetOptionKeywordFromOptItem(). - HeapFree(hHeap, 0, pszOption); - pszOption = NULL; - } - } - - -Exit: - - if(SUCCEEDED(hrResult)) - { - // INVARIANT: either successfully build mutli-sz of changed - // feature option pairs, or there are no feature - // that options changed. - - // Return pairs and number of pairs. - *pwPairs = wPairs; - *pdwSize = dwNeeded; - *ppmszPairs = pmszPairs; - } - else - { - // INVARINAT: error. - - // Clean up. - if(NULL == pmszPairs) HeapFree(hHeap, 0, pmszPairs); - - // Return NULL and zero count. - *pwPairs = 0; - *pdwSize = 0; - *ppmszPairs = NULL; - } - - return hrResult; -} - -// Returns pointer to option keyword for a feature OPTITEM. -PSTR GetOptionKeywordFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem) -{ - char szNumber[16] = {0}; - PSTR pszOption = NULL; - PFEATUREOPTITEMDATA pData = NULL; - - - // Validate parameter. - if(!IsFeatureOptitem(pOptItem)) - { - ERR(ERRORTEXT("GetOptionKeywordFromOptItem() invalid parameter.\r\n")); - - goto Exit; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData); - - // Option selection is based on type of OPTTYPE. - switch(pOptItem->pOptType->Type) - { - // For up down arrow control, selection is just pOptItem->Sel - // converted to string. - case TVOT_UDARROW: - if(FAILED(StringCbPrintfA(szNumber, sizeof(szNumber)/sizeof(szNumber[0]), "%u", pOptItem->Sel))) - { - ERR(ERRORTEXT("GetOptionKeywordFromOptItem() failed to convert number to string.\r\n")); - } - szNumber[sizeof(szNumber)/sizeof(szNumber[0]) - 1] = '\0'; - pszOption = MakeStringCopy(hHeap, szNumber); - break; - - // For combobox, pOptItem->Sel is the index in to the - // option array. - case TVOT_COMBOBOX: - pszOption = MakeStringCopy(hHeap, pData->pOptions->GetKeyword((WORD)pOptItem->Sel)); - break; - - // The default is the option count. - default: - ERR(ERRORTEXT("GetOptionKeywordFromOptItem() OPTTYPE type %d num of OPTPARAMs not handled.\r\n"), - pOptItem->pOptType->Type); - - goto Exit; - break; - } - - -Exit: - - return pszOption; -} - -// Returns pointer to option display name for a feature OPTITEM. -PWSTR GetOptionDisplayNameFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem) -{ - WCHAR szNumber[16] = {0}; - PWSTR pszOption = NULL; - PFEATUREOPTITEMDATA pData = NULL; - - - // Validate parameter. - if(!IsFeatureOptitem(pOptItem)) - { - ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() invalid parameter.\r\n")); - - goto Exit; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData); - - // Option selection is based on type of OPTTYPE. - switch(pOptItem->pOptType->Type) - { - // For up down arrow control, selection is just pOptItem->Sel - // converted to string. - case TVOT_UDARROW: - if(FAILED(StringCbPrintfW(szNumber, sizeof(szNumber)/sizeof(szNumber[0]), L"%u", pOptItem->Sel))) - { - ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() failed to convert number to string.\r\n")); - } - szNumber[sizeof(szNumber)/sizeof(szNumber[0]) - 1] = L'\0'; - pszOption = MakeStringCopy(hHeap, szNumber); - break; - - // For combobox, pOptItem->Sel is the index in to the - // option array. - case TVOT_COMBOBOX: - pszOption = MakeStringCopy(hHeap, pOptItem->pOptType->pOptParam[pOptItem->Sel].pData); - break; - - // The default is the option count. - default: - ERR(ERRORTEXT("GetOptionDisplayNameFromOptItem() OPTTYPE type %d num of OPTPARAMs not handled.\r\n"), - pOptItem->pOptType->Type); - - goto Exit; - break; - } - - -Exit: - - return pszOption; -} - -// Refreshes option selection for each feature OPTITEM -HRESULT RefreshOptItemSelection(CUIHelper *pHelper, - POEMUIOBJ poemuiobj, - POPTITEM pOptItems, - WORD wItems) -{ - HRESULT hrResult = S_OK; - PFEATUREOPTITEMDATA pData = NULL; - - - // Walk OPTITEM array refreshing feature OPTITEMs. - for(WORD wCount = 0; wCount < wItems; ++wCount) - { - // Just go to next item if this OPTITEM isn't a feature OPTITEM. - if(!IsFeatureOptitem(pOptItems + wCount)) - { - continue; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItems[wCount].UserData); - - // Refresh COption selection. - pData->pOptions->RefreshSelection(*pHelper, poemuiobj); - - // Assign COption selection to OPTITEM selection. - pOptItems[wCount].pSel = pData->pOptions->GetSelection(); - - } - - return hrResult; -} - -// Creates array of conflict features. -HRESULT GetFirstConflictingFeature(_In_ HANDLE hHeap, - CUIHelper *pHelper, - POEMUIOBJ poemuiobj, - POPTITEM pOptItem, - WORD wItems, - PCONFLICT pConflict) -{ - WORD wCount = 0; - HRESULT hrResult = S_OK; - PFEATUREOPTITEMDATA pData = NULL; - - - // Walk OPTITEM array looking or changed options that are in conflict. - for(wCount = 0; wCount < wItems; ++wCount) - { - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM. - if( !(OPTIF_CHANGEONCE & pOptItem[wCount].Flags) - || - !IsFeatureOptitem(pOptItem + wCount) - ) - { - continue; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem[wCount].UserData); - - // Init conflict record if this feature is in conflict. - pConflict->pszOptionKeyword = GetOptionKeywordFromOptItem(hHeap, pOptItem + wCount); - if(NULL != pConflict->pszOptionKeyword) - { - // Get reason for conflict - // If the feature isn't in conflict, - // then the pmszReasonList will start - // with NULL terminator. - hrResult = GetWhyConstrained(hHeap, - pHelper, - poemuiobj, - pData->pszFeatureKeyword, - pConflict->pszOptionKeyword, - &pConflict->pmszReasons, - &pConflict->dwReasonsSize); - if(!SUCCEEDED(hrResult)) - { - // NOTE: driver features aren't supported by WhyConstrained. - if((E_INVALIDARG == hrResult) && IS_DRIVER_FEATURE(pData->pszFeatureKeyword)) - { - // Need to reset the result in case it is the last - // feature OPTITEM. - hrResult = S_OK; - continue; - } - - ERR(ERRORTEXT("GetConflictingFeatures() failed to get reason for feature %hs option %hs constraint. (hrResult = 0x%x)\r\n"), - pData->pszFeatureKeyword, - pConflict->pszOptionKeyword, - hrResult); - - goto Exit; - } - - // Record conflict if feature is in conflict. - if( (NULL != pConflict->pmszReasons) - && - (pConflict->pmszReasons[0] != '\0') - ) - { - // Save pointer to feature keyword. - pConflict->pszFeatureKeyword = pData->pszFeatureKeyword; - pConflict->pszFeature = pOptItem[wCount].pName; - pConflict->pszOption = GetOptionDisplayNameFromOptItem(hHeap, pOptItem + wCount); - - // Found first conflict. - break; - } - } - } - - -Exit: - - return hrResult; -} - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h deleted file mode 100644 index 84fee27e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Features.h +++ /dev/null @@ -1,236 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Features.h -// - -#pragma once - -//////////////////////////////////////////////////////// -// Defines and Macros -//////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////// -// Type Definitions -//////////////////////////////////////////////////////// - -// Struct used to map keyword to information -// such as display name and stickiness. -typedef struct _tagKeywordMap -{ - PCSTR pszKeyword; - PCWSTR pwszModule; - UINT uDisplayNameID; - DWORD dwMode; - DWORD dwFlags; - -} KEYWORDMAP, *PKEYWORDMAP; - - -// Struct container for info about -// feature that is in conflict. -typedef struct _tagConflict -{ - PCSTR pszFeatureKeyword; - PCWSTR pszFeature; - PSTR pszOptionKeyword; - PWSTR pszOption; - PSTR pmszReasons; - DWORD dwReasonsSize; - -} CONFLICT, *PCONFLICT; - - - -//////////////////////////////////////////////////////// -// Class Definitions -//////////////////////////////////////////////////////// - -// Class wrapper and container for Core Driver Feature Options. -class COptions -{ - private: - - // Option Infomation - class OPTION_INFO - { - public: - PKEYWORDMAP pMapping; - PWSTR pszDisplayName; - - public: - OPTION_INFO() - { - pMapping = NULL; - pszDisplayName = NULL; - } - - virtual ~OPTION_INFO(){} - }; - typedef class OPTION_INFO *POPTION_INFO; - - // Data Members - WORD m_wOptions; // Count of the number of options contained for an instance of the class. - BYTE m_cType; // CPSUI Option Type (i.e. what to set pOptItem->pOptType->Type to). - PSTR m_pmszRaw; // The RAW multi NULL terminated string buffer used for IPrintCoreUI2::EnumOptions(). - PCSTR m_pszFeature; // Pointer to the feature for which the enumerate options belong. - PCSTR *m_ppszOptions; // String list pointer that points to begining of each of the strings in multi-SZ pointed to by m_pmszRaw. - POINT m_ptRange; // Option range for features, such as %JobTimeout, that have a range of possible vaules not a small selection list. - DWORD m_dwSize; // Size of m_pmszRaw buffer. - PWSTR m_pszUnits; // String that contains the unit specifier for options, such as %JobTimeout, which need Units (i.e. seconds). - HANDLE m_hHeap; // Heap to do allocations from. - POPTION_INFO m_pInfo; // Array of Info about each option for a feature. - - union { // Current selected option for a feature. - LONG m_Sel; // This is what pOptItem->m_pSel or pOptItem->m_Sel - LPTSTR m_pSel; // will be set to. - }; - - public: - COptions(); - virtual ~COptions(); - - // Populate Options list for specified keyword. - HRESULT COptions::Acquire(_In_ HANDLE hHeap, - CUIHelper &Helper, - _In_ POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature); - - // Returns number of feature options contained in class instance. - inline WORD GetCount() const {return m_wOptions;} - - // Returns selection. - inline LPTSTR GetSelection() const {return m_pSel;} - - // Return nth options keyword. - PCSTR GetKeyword(WORD wIndex) const; - - // Return nth option Display Name. - PCWSTR GetName(WORD wIndex) const; - - // Find option with matching keyword string. - WORD FindOption(_In_opt_ PCSTR pszOption, WORD wDefault) const; - - // Initializes options portion of OPTITEM. - HRESULT InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem); - - // Refresh option selection. - HRESULT RefreshSelection(CUIHelper &Helper, POEMUIOBJ poemuiobj); - - private: - void Init(); - void Clear(); - void FreeOptionInfo(); - HRESULT GetOptionsForSpecialFeatures(CUIHelper &Helper, POEMUIOBJ poemuiobj); - HRESULT GetOptionsForOutputPSLevel(CUIHelper &Helper, POEMUIOBJ poemuiobj); - HRESULT GetOptionSelectionString(CUIHelper &Helper, POEMUIOBJ poemuiobj, _Outptr_result_maybenull_ PSTR *ppszSel); - HRESULT GetOptionSelectionLong(CUIHelper &Helper, POEMUIOBJ poemuiobj); - HRESULT GetOptionSelectionShort(CUIHelper &Helper, POEMUIOBJ poemuiobj); - HRESULT GetOptionSelectionIndex(CUIHelper &Helper, POEMUIOBJ poemuiobj); -}; - - -// Class wrapper and container for Cor Driver Features. -class CFeatures -{ - private: - - // Feature Infomation - class FEATURE_INFO - { - public: - PKEYWORDMAP pMapping; - PWSTR pszDisplayName; - COptions Options; - DWORD dwMode; - - public: - FEATURE_INFO() - { - pMapping = NULL; - pszDisplayName = NULL; - dwMode = 0; - } - - virtual ~FEATURE_INFO() {} - }; - typedef class FEATURE_INFO *PFEATURE_INFO; - - WORD m_wFeatures; // Count of the number of features. - WORD m_wDocFeatures; // Count of the number of Document sticky features. - WORD m_wPrintFeatures; // Count of the number of Printer sticky features. - PSTR m_pmszRaw; // Buffer for multi-SZ for call to IPrintCoreUI2::EnumFeatures. - PCSTR *m_ppszKeywords; // String list that points to each of the strings in m_pmszRaw. - DWORD m_dwSize; // Size of m_pmszRaw. - HANDLE m_hHeap; // Heap to do allocations from. - PFEATURE_INFO m_pInfo; // Array of feature information about each of the enumerate features. - - public: - CFeatures(); - virtual ~CFeatures(); - - // Populates the Feature list - HRESULT Acquire(_In_ HANDLE hHeap, CUIHelper &Helper, _In_ POEMUIOBJ poemuiobj); - - // Returns number of features contained in class instance. - WORD GetCount(DWORD dwMode = 0) const; - - // Returns feature keyword. - PCSTR GetKeyword(WORD wIndex, DWORD dwMode = 0) const; - - // Return feature Display Name. - PCWSTR GetName(WORD wIndex, DWORD dwMode = 0) const; - - // Returns pointer to option class for nth feature. - COptions* GetOptions(WORD wIndex, DWORD dwMode = 0) const; - - // Initializes OPTITEM for the feature. - HRESULT InitOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wIndex, DWORD dwMode); - - private: - void Init(); - void Clear(); - void FreeFeatureInfo(); - WORD GetModelessIndex(WORD wIndex, DWORD dwMode) const; -}; - - - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT DetermineFeatureDisplayName(_In_ HANDLE hHeap, CUIHelper &Helper, POEMUIOBJ poemuiobj, - _In_ PCSTR pszKeyword, const PKEYWORDMAP pMapping, - _Outptr_result_maybenull_ PWSTR *ppszDisplayName); -HRESULT DetermineOptionDisplayName(_In_ HANDLE hHeap, CUIHelper &Helper, POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature, _In_ PCSTR pszOption, - const PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName); -HRESULT DetermineStickiness(CUIHelper &Helper, POEMUIOBJ poemuiobj, PCSTR pszKeyword, - const PKEYWORDMAP pMapping,PDWORD pdwMode); - -PKEYWORDMAP FindKeywordMapping(PKEYWORDMAP pKeywordMap, WORD wMapSize, PCSTR pszKeyword); -HRESULT GetDisplayNameFromMapping(_In_ HANDLE hHeap, PKEYWORDMAP pMapping, _Outptr_result_maybenull_ PWSTR *ppszDisplayName); - -BOOL IsFeatureOptitem(POPTITEM pOptItem); -HRESULT SaveFeatureOptItems(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj, - HWND hWnd, POPTITEM pOptItem, WORD wItems); -HRESULT GetWhyConstrained(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj, - _In_ PCSTR pszFeature, _In_ PCSTR pszOption, _Inout_ PSTR *ppmszReason, - _Inout_ PDWORD pdwSize); -HRESULT GetChangedFeatureOptions(_In_ HANDLE hHeap, POPTITEM pOptItem, WORD wItems, - _Outptr_result_maybenull_ PSTR *ppmszPairs, _Out_ PWORD pdwPairs, _Out_ PDWORD pdwSize); -PSTR GetOptionKeywordFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem); -PWSTR GetOptionDisplayNameFromOptItem(_In_ HANDLE hHeap, POPTITEM pOptItem); -HRESULT RefreshOptItemSelection(CUIHelper *pHelper, POEMUIOBJ poemuiobj, POPTITEM pOptItems, - WORD wItems); -HRESULT GetFirstConflictingFeature(_In_ HANDLE hHeap, CUIHelper *pHelper, POEMUIOBJ poemuiobj, - POPTITEM pOptItem, WORD wItems, PCONFLICT pConflict); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp deleted file mode 100644 index 3e1a2da5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.cpp +++ /dev/null @@ -1,457 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Helper.cpp -// -// -// PURPOSE: Implementation of wrapper class for Driver UI Helper interface. -// - -#include "precomp.h" -#include "Helper.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Macros -//////////////////////////////////////////////////////// - - -// Macros for simplifying calling the Driver UI Helper interfaces correctly. - -#define CALL_HELPER(MethodName, args) \ - if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintOemDriverUI)) \ - { \ - return static_cast<IPrintOemDriverUI *>(m_pUIHelper)->MethodName args; \ - } \ - else if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintCoreUI2)) \ - { \ - return static_cast<IPrintCoreUI2 *>(m_pUIHelper)->MethodName args; \ - } \ - return E_NOINTERFACE; - -#define CALL_HELPER2(MethodName, args) \ - if (IsEqualGUID(&m_iidUIHelper, &IID_IPrintCoreUI2)) \ - { \ - return static_cast<IPrintCoreUI2 *>(m_pUIHelper)->MethodName args; \ - } \ - return E_NOINTERFACE; - - -///////////////////////////////////////////////////////////// -// -// CUIHelper Class Methods -// - -// -// Private Methods -// - -// Clears or initializes data members. -void CUIHelper::Clear() -{ - // Clear stored interface - m_pUIHelper = NULL; - m_iidUIHelper = GUID_NULL; -} - - -// -// Public Methods -// - -// Default contructor. -CUIHelper::CUIHelper() -{ - // Initialize the data members. - Clear(); -} - -// Constructor with assignment. -CUIHelper::CUIHelper(const IID &HelperIID, PVOID pHelper) -{ - // Assign the interface. - Assign(HelperIID, pHelper); -} - -// Destructor -CUIHelper::~CUIHelper() -{ - // Release the interface reference. - Release(); -} - -// Stores helper interface in helper entry structure. -void CUIHelper::Assign(const IID &HelperIID, PVOID pHelper) -{ - // If we already have a helper interface, release it. - if(IsValid()) - { - Release(); - } - - // Store helper interface and IID for it. - m_pUIHelper = static_cast<IUnknown*>(pHelper); - m_iidUIHelper = HelperIID; -} - -// Releases the helper interface and -// our removes the references to it. -ULONG CUIHelper::Release() -{ - ULONG ulRef = 0; - - - if(IsValid()) - { - // Release the interface. - // Since IPrintCoreUI2 inherits from IPrintOemDriverUI, - // it is safe to cast both types of helper interfaces - // to IPrintOemDriverUI for purposes of calling a - // method implemented in IPrintOemDriverUI. - // NOTE: can't cast to IUnknown since it just has pure virtual - // calls for AddRef and Release. - ulRef = static_cast<IPrintOemDriverUI *>(m_pUIHelper)->Release(); - - // Clear the data members. - Clear(); - } - - return ulRef; -} - - -// -// IPrintOemDriverUI methods -// - -// -// Helper function to get driver settings. This function is only supported -// for UI plugins that do not fully replace core driver's standard UI. -// - -HRESULT __stdcall CUIHelper::DrvGetDriverSetting( - PVOID pci, - PCSTR Feature, - PVOID pOutput, - DWORD cbSize, - PDWORD pcbNeeded, - PDWORD pdwOptionsReturned - ) -{ - CALL_HELPER(DrvGetDriverSetting, - (pci, - Feature, - pOutput, - cbSize, - pcbNeeded, - pdwOptionsReturned - ) - ); -} - -// -// Helper function to allow OEM plugins upgrade private registry -// settings. This function is supported for any UI plugins and should be -// called only by OEM's UpgradePrinter. -// - -HRESULT __stdcall CUIHelper::DrvUpgradeRegistrySetting( - HANDLE hPrinter, - PCSTR pFeature, - PCSTR pOption - ) -{ - CALL_HELPER(DrvUpgradeRegistrySetting, - (hPrinter, - pFeature, - pOption - ) - ); -} - -// -// Helper function to allow OEM plugins to update the driver UI settings. -// This function is only supported for UI plugins that do not fully replace -// core driver's standard UI. It should be called only when the UI is present. -// - -HRESULT __stdcall CUIHelper::DrvUpdateUISetting( - PVOID pci, - PVOID pOptItem, - DWORD dwPreviousSelection, - DWORD dwMode - ) -{ - CALL_HELPER(DrvUpdateUISetting, - (pci, - pOptItem, - dwPreviousSelection, - dwMode - ) - ); -} - -// -// IPrintCoreUI2 new methods -// - -// -// Following four helper functions are only supported for UI plugins that fully -// replace core driver's standard UI. They should only be called by the UI plugin's -// DocumentPropertySheets, DevicePropertySheets and their property sheet callback -// functions. -// -// Helper function to retrieve driver's current setting as a list of -// feature/option keyword pairs. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::GetOptions( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pmszFeaturesRequested, - DWORD cbIn, - PSTR pmszFeatureOptionBuf, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(GetOptions, - (poemuiobj, - dwFlags, - pmszFeaturesRequested, - cbIn, - pmszFeatureOptionBuf, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to change driver's setting using a list of feature/option -// keyword pairs. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::SetOptions( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pmszFeatureOptionBuf, - DWORD cbIn, - PDWORD pdwResult) -{ - CALL_HELPER2(SetOptions, - (poemuiobj, - dwFlags, - pmszFeatureOptionBuf, - cbIn, - pdwResult - ) - ); -} - -// -// Helper function to retrieve the option(s) of a given feature that are -// constrained in driver's current setting. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::EnumConstrainedOptions( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszFeatureKeyword, - PSTR pmszConstrainedOptionList, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(EnumConstrainedOptions, - (poemuiobj, - dwFlags, - pszFeatureKeyword, - pmszConstrainedOptionList, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to retrieve a list of feature/option keyword pairs from -// driver's current setting that conflict with the given feature/option pair. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::WhyConstrained( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszFeatureKeyword, - PCSTR pszOptionKeyword, - PSTR pmszReasonList, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(WhyConstrained, - (poemuiobj, - dwFlags, - pszFeatureKeyword, - pszOptionKeyword, - pmszReasonList, - cbSize, - pcbNeeded - ) - ); -} - -// -// Following five helper functions are supported for any UI plugins. -// -// Helper function to retrieve global attribute. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::GetGlobalAttribute( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszAttribute, - PDWORD pdwDataType, - PBYTE pbData, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(GetGlobalAttribute, - (poemuiobj, - dwFlags, - pszAttribute, - pdwDataType, - pbData, - cbSize, - pcbNeeded - ) - ); -} - - -// -// Helper function to retrieve attribute of a given feature. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::GetFeatureAttribute( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszFeatureKeyword, - PCSTR pszAttribute, - PDWORD pdwDataType, - PBYTE pbData, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(GetFeatureAttribute, - (poemuiobj, - dwFlags, - pszFeatureKeyword, - pszAttribute, - pdwDataType, - pbData, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to retrieve attribute of a given feature/option selection. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::GetOptionAttribute( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszFeatureKeyword, - PCSTR pszOptionKeyword, - PCSTR pszAttribute, - PDWORD pdwDataType, - PBYTE pbData, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(GetOptionAttribute, - (poemuiobj, - dwFlags, - pszFeatureKeyword, - pszOptionKeyword, - pszAttribute, - pdwDataType, - pbData, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to retrieve the list of feature keyword. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::EnumFeatures( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PSTR pmszFeatureList, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(EnumFeatures, - (poemuiobj, - dwFlags, - pmszFeatureList, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to retrieve the list of options keyword of a given feature. -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::EnumOptions( - POEMUIOBJ poemuiobj, - DWORD dwFlags, - PCSTR pszFeatureKeyword, - PSTR pmszOptionList, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(EnumOptions, - (poemuiobj, - dwFlags, - pszFeatureKeyword, - pmszOptionList, - cbSize, - pcbNeeded - ) - ); -} - -// -// Helper function to query system simulation support -// -_Use_decl_annotations_ -HRESULT __stdcall CUIHelper::QuerySimulationSupport( - HANDLE hPrinter, - DWORD dwLevel, - PBYTE pCaps, - DWORD cbSize, - PDWORD pcbNeeded) -{ - CALL_HELPER2(QuerySimulationSupport, - (hPrinter, - dwLevel, - pCaps, - cbSize, - pcbNeeded - ) - ); -} - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h deleted file mode 100644 index 31819dcc..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/Helper.h +++ /dev/null @@ -1,214 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Helper.h -// -#pragma once - -class CUIHelper -{ - private: - IUnknown *m_pUIHelper; // pointer to Driver UI's Helper interface - IID m_iidUIHelper; // Driver UI's Helper interface IID - - public: - CUIHelper(); - CUIHelper(const IID &HelperIID, PVOID pHelper); - virtual ~CUIHelper(); - - inline BOOL IsValid() {return NULL != m_pUIHelper;} - - void Assign(const IID &HelperIID, PVOID pHelper); - ULONG Release(); - - // - // IPrintOemDriverUI methods - // - - // - // Helper function to get driver settings. This function is only supported - // for UI plugins that do not fully replace core driver's standard UI. - // - - STDMETHOD(DrvGetDriverSetting) (THIS_ - PVOID pci, - PCSTR Feature, - PVOID pOutput, - DWORD cbSize, - PDWORD pcbNeeded, - PDWORD pdwOptionsReturned - ); - - // - // Helper function to allow OEM plugins upgrade private registry - // settings. This function is supported for any UI plugins and should be - // called only by OEM's UpgradePrinter. - // - - STDMETHOD(DrvUpgradeRegistrySetting) (THIS_ - HANDLE hPrinter, - PCSTR pFeature, - PCSTR pOption - ); - - // - // Helper function to allow OEM plugins to update the driver UI settings. - // This function is only supported for UI plugins that do not fully replace - // core driver's standard UI. It should be called only when the UI is present. - // - - STDMETHOD(DrvUpdateUISetting) (THIS_ - PVOID pci, - PVOID pOptItem, - DWORD dwPreviousSelection, - DWORD dwMode - ); - - // - // IPrintCoreUI2 new methods - // - - // - // Following four helper functions are only supported for UI plugins that fully - // replace core driver's standard UI. They should only be called by the UI plugin's - // DocumentPropertySheets, DevicePropertySheets and their property sheet callback - // functions. - // - // Helper function to retrieve driver's current setting as a list of - // feature/option keyword pairs. - // - - STDMETHOD(GetOptions) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_reads_bytes_opt_(cbIn) PCSTR pmszFeaturesRequested, - DWORD cbIn, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszFeatureOptionBuf, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to change driver's setting using a list of feature/option - // keyword pairs. - // - - STDMETHOD(SetOptions) (THIS_ - POEMUIOBJ poemuiobj, - DWORD dwFlags, - _In_reads_bytes_(cbIn) PCSTR pmszFeatureOptionBuf, - DWORD cbIn, - _Out_ PDWORD pdwResult); - - // - // Helper function to retrieve the option(s) of a given feature that are - // constrained in driver's current setting. - // - - STDMETHOD(EnumConstrainedOptions) (THIS_ - _In_ POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_ PCSTR pszFeatureKeyword, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszConstrainedOptionList, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - - // - // Helper function to retrieve a list of feature/option keyword pairs from - // driver's current setting that conflict with the given feature/option pair. - // - - STDMETHOD(WhyConstrained) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_ PCSTR pszFeatureKeyword, - _In_ PCSTR pszOptionKeyword, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszReasonList, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Following five helper functions are supported for any UI plugins. - // - // Helper function to retrieve global attribute. - // - - STDMETHOD(GetGlobalAttribute) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_opt_ PCSTR pszAttribute, - _Out_ PDWORD pdwDataType, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to retrieve attribute of a given feature. - // - - STDMETHOD(GetFeatureAttribute) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_ PCSTR pszFeatureKeyword, - _In_opt_ PCSTR pszAttribute, - _Out_ PDWORD pdwDataType, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to retrieve attribute of a given feature/option selection. - // - - STDMETHOD(GetOptionAttribute) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_ PCSTR pszFeatureKeyword, - _In_ PCSTR pszOptionKeyword, - _In_opt_ PCSTR pszAttribute, - _Out_ PDWORD pdwDataType, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pbData, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to retrieve the list of feature keyword. - // - - STDMETHOD(EnumFeatures) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszFeatureList, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to retrieve the list of options keyword of a given feature. - // - - STDMETHOD(EnumOptions) (THIS_ - POEMUIOBJ poemuiobj, - _Reserved_ DWORD dwFlags, - _In_ PCSTR pszFeatureKeyword, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PSTR pmszOptionList, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - // - // Helper function to query system simulation support - // - - STDMETHOD(QuerySimulationSupport) (THIS_ - HANDLE hPrinter, - DWORD dwLevel, - _Out_writes_bytes_to_opt_(cbSize, *pcbNeeded) PBYTE pCaps, - DWORD cbSize, - _Out_ _On_failure_(_When_(return == E_OUTOFMEMORY, _Post_valid_)) PDWORD pcbNeeded); - - private: - void Clear(); -}; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc deleted file mode 100644 index d68603e1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/OEMUI.rc +++ /dev/null @@ -1,260 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "PS UI Replacement Sample" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "PSUIREP" - VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "PSUIREP.dll" - VALUE "ProductName", "Microsoft PS UI Replacement Sample" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Device Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11 - PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14 -END - -IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Document Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_DEVICE_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 172 - TOPMARGIN, 8 - BOTTOMMARGIN, 106 - END - - IDD_DOC_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 203 - TOPMARGIN, 7 - BOTTOMMARGIN, 147 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "OEM UI Added Item" - IDS_CALIBRATED "Printer has been calibrated." - IDS_NAME "OEM UI Customization DLL" - IDS_DEVICE_SETTINGS_NAME "Device Settings" - IDS_CONSTRAINT_CONFLICT "Ther are one or more conflicting settings.\r\nOne of the conflicting is:\r\n\t%1: %2\r\n\t%3: %4\r\n\r\nDo you want driver to automatically resolve conflict?" - IDS_DEV_SECTION "Device Settings OEM UI Added Item" - IDS_ADV_SECTION "Advanced OEM UI Added Item" -END - -STRINGTABLE -BEGIN - IDS_POSTSCRIPT_VM "Available PostScript Memory" - IDS_KBYTES "KB" - IDS_SECONDS "seconds" - IDS_PSTIMEOUTS "PostScript Timeout Values" - IDS_JOBTIMEOUT "Job Timeout" - IDS_WAITTIMEOUT "Wait Timeout" - IDS_PRINTER_DEFAULT "Use Current Setting in the Printer" - IDS_INSTALLABLE_OPTIONS "Installable Options" - IDS_DOWNLOAD_AS_SOFTFONT "<Don't Substitute>" - IDS_USE_DEVFONTS "Use Device Fonts?" - IDS_FONTSUB_OPTION "Font Substitution" - IDS_FONTSUB_DEFAULT "Normal" - IDS_FONTSUB_SLOW "Slow but more accurate" - IDS_FONTSUB_TABLE "Font Substitution Table" - IDS_DEFAULT_TRAY " / Default tray" - IDS_DRAW_ONLY_FROM_SELECTED "Draw selected form only from this tray" -END - -STRINGTABLE -BEGIN - IDS_RESTORE_DEFAULTS "&Restore Defaults" - IDS_PRINTER_FEATURES "Printer Features" - IDS_METAFILE_SPOOLING "Advanced Printing Features" - IDS_ENABLED "&Enabled" - IDS_DISABLED "&Disabled" - IDS_PSOPTIONS "PostScript Options" - IDS_MIRROR "Mirrored Output" - IDS_NEGATIVE_PRINT "Negative Output" - IDS_PAGEINDEP "Page Independence" - IDS_COMPRESSBMP "Compress bitmaps" - IDS_CTRLD_BEFORE "Send CTRL-D Before Each Job" - IDS_CTRLD_AFTER "Send CTRL-D After Each Job" - IDS_JOB_CONTROL "Generate Job Control Code" - IDS_TEXT_ASGRX "Print Optimizations" -END - -STRINGTABLE -BEGIN - IDS_TRUE_GRAY_TEXT "Convert Gray Text to PostScript Gray" - IDS_TRUE_GRAY_GRAPH "Convert Gray Graphics to PostScript Gray" - IDS_ADD_EURO "Add Euro Currency Symbol to PostScript Fonts" -END - -STRINGTABLE -BEGIN - IDS_PAGE_PROTECTION "Page Protection" - IDS_CANCEL_CONFLICT "Restore my previous settings" - IDS_IGNORE_CONFLICT "Keep this setting, and I will change it later" - IDS_RESOLVE_CONFLICT "Resolve this conflict for me automatically" - IDS_DRIVERUI_COLORMODE "Color Mode Option" - IDS_ENVELOPE "Envelope" - IDS_ENV_PREFIX "Env" - IDS_PSPROTOCOL "Output Protocol" - IDS_PSPROTOCOL_ASCII "ASCII" - IDS_PSPROTOCOL_BCP "BCP" - IDS_PSPROTOCOL_TBCP "TBCP" - IDS_PSPROTOCOL_BINARY "Binary" - IDS_TRAY_FORMSOURCE "Automatically Select" - IDS_OEMERR_DLGTITLE "OEM Customization Module Failed" - IDS_OEMERR_OPTITEM "Couldn't add custom items from OEM customization module '%s'.\n\nPlease contact its vendor for support." -END - -STRINGTABLE -BEGIN - IDS_OEMERR_PROPSHEET "Couldn't add custom property sheet pages from OEM customization module '%s'.\n\nPlease contact its vendor for support." - IDS_CANCEL_CONFLICT_FINAL "I will resolve the conflict for myself" - IDS_PSERROR_HANDLER "Send PostScript Error Handler" - IDS_PSMINOUTLINE "Minimum Font Size to Download as Outline" - IDS_PSMAXBITMAP "Maximum Font Size to Download as Bitmap" - IDS_PIXELS "pixel(s)" - IDS_PSOUTPUT_OPTION "PostScript Output Option" - IDS_PSOPT_SPEED "Optimize for Speed" - IDS_PSOPT_PORTABILITY "Optimize for Portability" - IDS_PSOPT_EPS "Encapsulated PostScript (EPS)" - IDS_PSOPT_ARCHIVE "Archive Format" - IDS_PSTT_DLFORMAT "TrueType Font Download Option" - IDS_TTDL_DEFAULT "Automatic" - IDS_TTDL_TYPE1 "Outline" - IDS_TTDL_TYPE3 "Bitmap" - IDS_TTDL_TYPE42 "Native TrueType" -END - -STRINGTABLE -BEGIN - IDS_PSLEVEL "PostScript Language Level" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj deleted file mode 100644 index a8816083..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj +++ /dev/null @@ -1,1066 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{5D63CD51-110C-41B7-B8B0-6AB27398690B}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{50E3486C-DFB5-4447-A055-55B51DE6A08C}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>PSUIREP</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>PSUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="features.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="helper.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="stringutils.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="OEMUI.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters deleted file mode 100644 index a7adcd57..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/PSUIREP.vcxproj.Filters +++ /dev/null @@ -1,397 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{34758E7D-B1F9-45D1-BF4C-84952A011FD8}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{5FBB97F9-5E07-46FA-9D57-352EF01D247C}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{B3D9DA9C-3DC0-474A-8E98-121243DA58B3}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="features.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="helper.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="stringutils.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="Helper.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="StringUtils.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="OEMUI.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="psuirep.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp deleted file mode 100644 index 01690f07..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.cpp +++ /dev/null @@ -1,315 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: StringUtils.cpp -// -// PURPOSE: Implementation wrapper class for WinXP PS Driver Features and Options. -// - - -#include "precomp.h" -#include "debug.h" -#include "devmode.h" -#include "globals.h" -#include "helper.h" -#include "features.h" -#include "oemui.h" -#include "stringutils.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// Create a list of pointers to the strings -// in a multi-sz. -_Use_decl_annotations_ -HRESULT MakeStrPtrList(HANDLE hHeap, PCSTR pmszMultiSz, PCSTR **pppszList, PWORD pwCount) -{ - PCSTR *ppszList = NULL; - HRESULT hrResult = S_OK; - - - // Validate parameters - if( (NULL == hHeap) - || - (NULL == pmszMultiSz) - || - (NULL == pppszList) - || - (NULL == pwCount) - ) - { - return E_INVALIDARG; - } - - // Get the count of strings in the multi-sz. - *pwCount = mstrcount(pmszMultiSz); - if(0 == *pwCount) - { - WARNING(DLLTEXT("MakeStrPtrList() pmszMultiSz contains no strings.\r\n")); - - *pppszList = NULL; - - goto Exit; - } - - // Allocate pointer list. - *pppszList = (PCSTR *) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, (*pwCount) * sizeof(PCSTR)); - if(NULL == *pppszList) - { - ERR(ERRORTEXT("MakeStrPtrList() failed to allote array of PCSTR.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - ppszList = *pppszList; - - // Walk multi-sz mapping string pointers. - for(WORD wIndex = 0; wIndex < *pwCount; ++wIndex) - { - ppszList[wIndex] = pmszMultiSz; - pmszMultiSz += strlen(pmszMultiSz) + 1; - } - - -Exit: - - return hrResult; -} - - -// Determine how many strings are in the multi-sz. -WORD mstrcount(PCSTR pmszMultiSz) -{ - WORD wCount = 0; - - - // NULL string pointers have no strings. - if(NULL == pmszMultiSz) - { - return 0; - } - - // Walk list of strings counting them. - while(pmszMultiSz[0] != '\0') - { - ++wCount; - pmszMultiSz += strlen(pmszMultiSz) + 1; - } - - return wCount; -} - -// Allocates and converts ANSI string to Unicode. -PWSTR MakeUnicodeString(HANDLE hHeap, PCSTR pszAnsi) -{ - int nSize = 0; - PWSTR pszUnicode = NULL; - - - // Validate parameters - if( (NULL == hHeap) - || - (NULL == pszAnsi) - ) - { - return NULL; - } - - // Get the size needed for UNICODE string. - nSize = MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, NULL, 0); - if(0 != nSize) - { - // Allocate unicode string. - pszUnicode = (PWSTR) HeapAlloc(hHeap, 0, nSize * sizeof(WCHAR)); - if(NULL != pszUnicode) - { - // Convert ANSI to Unicode - nSize = MultiByteToWideChar(CP_ACP, 0, pszAnsi, -1, pszUnicode, nSize); - if(0 == nSize) - { - // INVARIANT: failed to convert. - - // free buffer and return NULL. - HeapFree(hHeap, 0, pszUnicode); - pszUnicode = NULL; - } - } - } - - return pszUnicode; -} - -// Allocates and copies source string. -PWSTR MakeStringCopy(HANDLE hHeap, PCWSTR pszSource) -{ - PWSTR pszCopy = NULL; - DWORD dwSize; - - - // Validate parameters - if( (NULL == hHeap) - || - (NULL == pszSource) - ) - { - return NULL; - } - - // Allocate memory for string duplication, and duplicate the string. - dwSize = (DWORD)(wcslen(pszSource) + 1) * sizeof(WCHAR); - pszCopy = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize); - if(NULL != pszCopy) - { - HRESULT hResult; - - - hResult = StringCbCopyW(pszCopy, dwSize, pszSource); - if(FAILED(hResult)) - { - HeapFree(hHeap, 0, pszCopy); - pszCopy = NULL; - SetLastError(hResult); - } - } - - return pszCopy; -} - -// Allocates and copies source string. -PSTR MakeStringCopy(HANDLE hHeap, PCSTR pszSource) -{ - PSTR pszCopy = NULL; - size_t dwSize; - - - // Validate parameters - if( (NULL == hHeap) - || - (NULL == pszSource) - ) - { - return NULL; - } - - // Allocate memory for string duplication, and duplicate the string. - dwSize = (strlen(pszSource) + 1) * sizeof(CHAR); - pszCopy = (PSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize); - if(NULL != pszCopy) - { - HRESULT hResult; - - hResult = StringCbCopyA(pszCopy, dwSize, pszSource); - if(FAILED(hResult)) - { - HeapFree(hHeap, 0, pszCopy); - pszCopy = NULL; - SetLastError(hResult); - } - } - - return pszCopy; -} - -// Frees list of strings. -// NOTE: don't use this for string list made with MakeStrPtrList(), since -// the strings pointed to be list made with MakeStrPtrList() will -// be freed when the multi-sz is freed. -void FreeStringList(HANDLE hHeap, _In_reads_(wCount) PWSTR *ppszList, WORD wCount) -{ - // Validate parameters. - if( (NULL == hHeap) - || - (NULL == ppszList) - ) - { - return; - } - - // Free each of the strings in the list. - for(WORD wIndex = 0; wIndex < wCount; ++wIndex) - { - if(NULL != ppszList[wIndex]) HeapFree(hHeap, 0, ppszList[wIndex]); - } - - // Free list. - HeapFree(hHeap, 0, ppszList); -} - - -// Retrieves pointer to a String resource. -HRESULT GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource, _Outptr_result_maybenull_ PWSTR *ppszString) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PWSTR pszString = NULL; - HRESULT hrResult = S_OK; - - - VERBOSE(DLLTEXT("GetStringResource(%#x, %#x, %d) entered.\r\n"), hHeap, hModule, uResource); - - // Validate parameters. - if( (NULL == hHeap) - || - (NULL == ppszString) - ) - { - return E_INVALIDARG; - } - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(WCHAR)); - if(NULL == pszString) - { - ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString(hModule, uResource, pszString, dwSize); - if(nResult > 0) - { - PWSTR pszTemp; - - - VERBOSE(DLLTEXT("LoadString() returned %d!\r\n"), nResult); - VERBOSE(DLLTEXT("String load was \"%s\".\r\n"), pszString); - - pszTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(WCHAR)); - if(NULL != pszTemp) - { - pszString = pszTemp; - } - else - { - WARNING(DLLTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError()); - } - } - else - { - DWORD dwError = GetLastError(); - - - ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError()); - ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource); - - HeapFree(hHeap, 0, pszString); - pszString = NULL; - hrResult = HRESULT_FROM_WIN32(dwError); - } - - -Exit: - - // Save string pointer to caller. - // NOTE: string pointer will be NULL on failure. - *ppszString = pszString; - - return hrResult; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h deleted file mode 100644 index 35de69f2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/StringUtils.h +++ /dev/null @@ -1,23 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 2001 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: StringUtils.h -// -// PURPOSE: Header file for string utility routines. -// -#pragma once - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// -_Success_(return >= 0 && *pwCount > 0) HRESULT MakeStrPtrList(HANDLE hHeap, PCSTR pmszMultiSz, _Outptr_result_buffer_(*pwCount) PCSTR **pppszList, _Out_ PWORD pwCount); -WORD mstrcount(PCSTR pmszMultiSz); -PWSTR MakeUnicodeString(HANDLE hHeap, PCSTR pszAnsi); -PWSTR MakeStringCopy(HANDLE hHeap, PCWSTR pszSource); -PSTR MakeStringCopy(HANDLE hHeap, PCSTR pszSource); -void FreeStringList(HANDLE hHeap, _In_reads_(wCount) PWSTR *ppszList, WORD wCount); -HRESULT GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource, _Outptr_result_maybenull_ PWSTR *ppszString); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp deleted file mode 100644 index f7a3d842..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.cpp +++ /dev/null @@ -1,405 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.cpp -// -// PURPOSE: Debug functions. -// -// - -#include "precomp.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL DEFINES -//////////////////////////////////////////////////////// - -#define DEBUG_BUFFER_SIZE 1024 -#define PATH_SEPARATOR '\\' -#define MAX_LOOP 10 - -// Determine what level of debugging messages to eject. -#ifdef VERBOSE_MSG - #define DEBUG_LEVEL DBG_VERBOSE -#elif TERSE_MSG - #define DEBUG_LEVEL DBG_TERSE -#elif WARNING_MSG - #define DEBUG_LEVEL DBG_WARNING -#elif ERROR_MSG - #define DEBUG_LEVEL DBG_ERROR -#elif RIP_MSG - #define DEBUG_LEVEL DBG_RIP -#elif NO_DBG_MSG - #define DEBUG_LEVEL DBG_NONE -#else - #define DEBUG_LEVEL DBG_WARNING -#endif - - - -//////////////////////////////////////////////////////// -// EXTERNAL GLOBALS -//////////////////////////////////////////////////////// - -INT giDebugLevel = DEBUG_LEVEL; - - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist); -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist); - - - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist) -{ - DWORD dwSize = DEBUG_BUFFER_SIZE; - DWORD dwLoop = 0; - LPSTR lpszMsgBuf = NULL; - HRESULT hr; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - do - { - // Allocate memory for message buffer. - if(NULL != lpszMsgBuf) - { - delete[] lpszMsgBuf; - dwSize *= 2; - } - lpszMsgBuf = new CHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - { - return FALSE; - } - - hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist); - - // Pass the variable parameters to wvsprintf to be formated. - } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) ); - - // Dump string to Debug output. - OutputDebugStringA(lpszMsgBuf); - - // Cleanup. - delete[] lpszMsgBuf; - - return SUCCEEDED(hr); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist) -{ - LPWSTR lpszMsgBuf; - HRESULT hResult; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - // Allocate memory for message buffer. - lpszMsgBuf = new WCHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - return FALSE; - - // Pass the variable parameters to wvsprintf to be formated. - hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist); - - // Dump string to debug output. - OutputDebugStringW(lpszMsgBuf); - - // Clean up. - delete[] lpszMsgBuf; - - return SUCCEEDED(hResult); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV for processing. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCWSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV to be processed. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - -void Dump(PPUBLISHERINFO pPublisherInfo) -{ - VERBOSE(TEXT("pPublisherInfo:\r\n")); - if(NULL == pPublisherInfo) - { - VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode); - VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM); - VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM); -} - -void Dump(POEMDMPARAM pOemDMParam) -{ - VERBOSE(TEXT("pOemDMParam:\r\n")); - if(NULL == pOemDMParam) - { - VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize); - VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj); - VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter); - VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule); - VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn); - VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut); - VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn); - VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut); - VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize); -} - -void Dump(PPROPSHEETUI_INFO pPSUIInfo) -{ - VERBOSE(TEXT("pPSUIInfo:\r\n")); - if(NULL == pPSUIInfo) - { - VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize); - VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version); - VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags); - VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason); - VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet); - VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet); - VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit); - VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData); - VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result); -} - -void Dump(POPTITEM pOptItem) -{ - VERBOSE(TEXT("pOptItem:\r\n")); - if(NULL == pOptItem) - { - VERBOSE(TEXT("\tpOptItem is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize); - VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level); - VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx); - VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags); - VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData); - VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>")); - VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex); - VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID); - VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID); - VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved); - VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt); - - Dump(pOptItem->pOptType); -} - -void Dump(POPTTYPE pOptType) -{ - VERBOSE(TEXT("\tpOptType:\r\n")); - if(NULL == pOptType) - { - VERBOSE(TEXT("\t\tpOptType is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize); - VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type); - VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags); - VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count); - VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID); - VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style); - - Dump(pOptType->pOptParam, pOptType->Count); -} - -void Dump(POPTPARAM pOptParam, WORD wCount) -{ - if(NULL == pOptParam) - { - VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n")); - return; - } - - for(WORD wIndex = 0; wIndex < wCount; ++wIndex) - { - VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n")); - VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize); - VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags); - VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style); - VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData); - VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID); - VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam); - } -} - - -PCSTR -StripDirPrefixA( - IN PCSTR pstrFilename - ) - -/*++ - -Routine Description: - - Strip the directory prefix off a filename (ANSI version) - -Arguments: - - pstrFilename - Pointer to filename string - -Return Value: - - Pointer to the last component of a filename (without directory prefix) - ---*/ - -{ - PCSTR pstr; - - pstr = strrchr(pstrFilename, PATH_SEPARATOR); - if (pstr) - return pstr + 1; - - return pstrFilename; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h deleted file mode 100644 index b4d57b0b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/debug.h +++ /dev/null @@ -1,166 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. -// -// - -#pragma once - -// VC and Build use different debug defines. -// The following makes it so either will -// cause the inclusion of debugging code. -#if !defined(_DEBUG) && defined(DBG) - #define _DEBUG DBG -#elif defined(_DEBUG) && !defined(DBG) - #define DBG _DEBUG -#endif - - - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// - -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// VERBOSE(msg) -// Display a message if the current debug level is <= DBG_VERBOSE. -// -// TERSE(msg) -// Display a message if the current debug level is <= DBG_TERSE. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// ASSERTMSG(cond, msg) -// Verify a condition is true. If not, display a message and -// force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// These macros require extra parantheses for the msg argument -// example, ASSERTMSG(x > 0, ("x is less than 0\n")); -// WARNING(("App passed NULL pointer, ignoring...\n")); -// - -#define DBG_VERBOSE 1 -#define DBG_TERSE 2 -#define DBG_WARNING 3 -#define DBG_ERROR 4 -#define DBG_RIP 5 -#define DBG_NONE 6 - -#if DBG - - #define DebugMsg DebugMessage - - // - // Strip the directory prefix from a filename (ANSI version) - // - - PCSTR - StripDirPrefixA( - IN PCSTR pstrFilename - ); - - extern INT giDebugLevel; - - - #define DBGMSG(level, prefix, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \ - DebugMsg(msg); \ - } \ - } - - #define DBGPRINT(level, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg(msg); \ - } \ - } - - #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg - #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg - #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg - #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg - - #define ASSERT(cond) { \ - if (! (cond)) { \ - RIP(("\n")); \ - } \ - } - - #define ASSERTMSG(cond, msg) { \ - if (! (cond)) { \ - RIP(msg); \ - } \ - } - - #define RIP(msg) { \ - DBGMSG(DBG_RIP, "RIP", msg); \ - DebugBreak(); \ - } - - -#else // !DBG - - #define DebugMsg NOP_FUNCTION - - #define VERBOSE NOP_FUNCTION - #define TERSE NOP_FUNCTION - #define WARNING NOP_FUNCTION - #define ERR NOP_FUNCTION - - #define ASSERT(cond) - - #define ASSERTMSG(cond, msg) - #define RIP(msg) - #define DBGMSG(level, prefix, msg) - #define DBGPRINT(level, msg) - -#endif - - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR, ...); -BOOL DebugMessage(LPCWSTR, ...); -void Dump(PPUBLISHERINFO pPublisherInfo); -void Dump(POEMDMPARAM pOemDMParam); -void Dump(PPROPSHEETUI_INFO pPSUIInfo); -void Dump(POPTITEM pOptItem); -void Dump(POPTTYPE pOptType); -void Dump(POPTPARAM pOptParam, WORD wCount); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp deleted file mode 100644 index 43da0361..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.cpp +++ /dev/null @@ -1,193 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -#include "precomp.h" - -#include "debug.h" -#include "globals.h" -#include "devmode.h" -#include "helper.h" -#include "features.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - VERBOSE(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam); - - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n")); - Dump(pOEMDevOut); - break; - - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut, pOemDMParam->cbBufSize); - break; - - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut, pOemDMParam->cbBufSize); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - Dump(pOemDMParam); - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut, DWORD dwSize) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - || - (dwSize < sizeof(OEMDEV)) - ) - { - ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - VERBOSE(DLLTEXT("pOEMDevIn:\r\n")); - Dump(pOEMDevIn); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(dwSize, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize))); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data, if not valid. - if(pOEMDevmode->dwDriverData > 100) - { - pOEMDevmode->dwDriverData = 0; - } - - // Set Advanced driver data, if not valid. - if(pOEMDevmode->dwAdvancedData > 100) - { - pOEMDevmode->dwAdvancedData = 0; - } - - return TRUE; -} - - -void Dump(PCOEMDEV pOEMDevmode) -{ - if( (NULL != pOEMDevmode) - && - (pOEMDevmode->dmOEMExtra.dwSize >= sizeof(OEMDEV)) - && - (OEM_SIGNATURE == pOEMDevmode->dmOEMExtra.dwSignature) - ) - { - VERBOSE(TEXT("\tdmOEMExtra.dwSize = %d\r\n"), pOEMDevmode->dmOEMExtra.dwSize); - VERBOSE(TEXT("\tdmOEMExtra.dwSignature = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwSignature); - VERBOSE(TEXT("\tdmOEMExtra.dwVersion = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwVersion); - VERBOSE(TEXT("\tdwDriverData = %#x\r\n"), pOEMDevmode->dwDriverData); - VERBOSE(TEXT("\tdwAdvancedData = %#x\r\n"), pOEMDevmode->dwAdvancedData); - } - else - { - ERR(ERRORTEXT("Dump(POEMDEV) unknown private OEM DEVMODE.\r\n")); - } -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h deleted file mode 100644 index 83202d6a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/devmode.h +++ /dev/null @@ -1,56 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - - - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -// -//Can add info to the private devmode bellow here. -//Note : -// This structure must be prefixed by OEM_DMEXTRAHEADER -// Your plug-in must implement the IPrintOemUI::DevMode method -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - DWORD dwDriverData; - DWORD dwAdvancedData; - - // - //Private DevMode Members - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut, DWORD dwSize); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); -void Dump(PCOEMDEV pOEMDevIn); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp deleted file mode 100644 index da0a1885..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/dllentry.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "debug.h" -#include "globals.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp deleted file mode 100644 index 785330cb..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// PURPOSE: File that contains all the globals. -// - -#include "precomp.h" -#include "globals.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h deleted file mode 100644 index 70d17f1c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/globals.h +++ /dev/null @@ -1,31 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -// OEM Signature and version. -#define PROP_TITLE L"OEM PS UI Replacement Page" -#define DLLTEXT(s) TEXT("PSUIREP: ") TEXT(s) - -// OEM UI Misc defines. -#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s) - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp deleted file mode 100644 index 5ab1bffe..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.cpp +++ /dev/null @@ -1,709 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PLATFORMS: Windows 2000, Windows XP, Windows Server 2003 -// - -#include "precomp.h" - - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "globals.h" -#include "devmode.h" -#include "stringutils.h" -#include "helper.h" -#include "features.h" -#include "oemui.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Internal Constants -//////////////////////////////////////////////////////// - -// -// List all of the supported Driver UI Helper interface IIDs from the -// latest to the oldest, that's the order we will query for the -// the Driver UI Helper interface to use. -// - -const IID *Helper_IIDs[] = -{ - &IID_IPrintCoreUI2, - &IID_IPrintOemDriverUI, -}; -const NUM_HELPER_IIDs = (sizeof(Helper_IIDs)/sizeof(Helper_IIDs[0])); - - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI2 body -// -IOemUI2::IOemUI2() -{ - VERBOSE(DLLTEXT("IOemUI2:IOemUI2() default constructor called.\r\n\r\n")); - - // Init ref count to 1 on creation, since AddRef() is implied. - m_cRef = 1; - - // The default for UI Hiding is FALSE, since HideStandardUI method - // will only be called by Driver UIs that support it. - // Older Driver UIs don't know about this method and won't call us. - m_bHidingStandardUI = FALSE; - - // Increment component count. - InterlockedIncrement(&g_cComponents); -} - -IOemUI2::~IOemUI2() -{ - VERBOSE(DLLTEXT("IOemUI2:~IOemUI2() destructor called.\r\n\r\n")); - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); - - // Decrement component count. - InterlockedDecrement(&g_cComponents); -} - -HRESULT __stdcall IOemUI2::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IOemUI2:QueryInterface entry.\r\n\r\n")); - -#if DBG - TCHAR szIID[80] = {0}; - StringFromGUID2(iid, szIID, _countof(szIID)); // can not fail! -#endif - - // Determine what object to return, if any. - if(iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - } - else if(iid == IID_IPrintOemUI2) - { - *ppv = static_cast<IPrintOemUI2*>(this); - } - else if(iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this); - } - else - { - // Interface not supported. -#if DBG - VERBOSE(DLLTEXT("IOemUI2::QueryInterface %s not supported.\r\n"), szIID); -#endif - - *ppv = NULL ; - return E_NOINTERFACE ; - } - -#if DBG - VERBOSE(DLLTEXT("IOemUI2::QueryInterface returning pointer to %s.\r\n"), szIID); -#endif - - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK ; -} - -ULONG __stdcall IOemUI2::AddRef() -{ - VERBOSE(DLLTEXT("IOemUI2:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI2::Release() -{ - VERBOSE(DLLTEXT("IOemUI2:Release entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -HRESULT __stdcall IOemUI2::PublishDriverInterface( - IUnknown *pIUnknown) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("IOemUI2:PublishDriverInterface entry.\r\n")); - - // Core Driver UI shouldn't call us more than once if we were successful. - // Thus, if m_Helper is already valid, we shouldn't be getting called. - ASSERT(!m_Helper.IsValid()); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (!m_Helper.IsValid()) - { - PVOID pHelper = NULL; - - - // Try to get the newest version fo the Helper function - // that Driver UI supports. - hResult = E_FAIL; - for(DWORD dwIndex = 0; !SUCCEEDED(hResult) && (dwIndex < NUM_HELPER_IIDs); ++dwIndex) - { - // Query Driver UI for Helper interface. - hResult = pIUnknown->QueryInterface(*Helper_IIDs[dwIndex], &pHelper); - if(SUCCEEDED(hResult)) - { - // INVARIANT: we got a Helper interface. - - - // Store Helper interface. - m_Helper.Assign(*Helper_IIDs[dwIndex], pHelper); - } - } - } - - return hResult; -} - -HRESULT __stdcall IOemUI2::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IOemUI2::GetInfo(%d) entry.\r\r\n"), dwMode); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING(DLLTEXT("IOemUI2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IOemUI2::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IOemUI2::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IOemUI2::GetInfo() exit S_OK, (*pBuffer is %#x).\r\r\n"), *(PDWORD)pBuffer); - return S_OK; -} - -HRESULT __stdcall IOemUI2::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IOemUI2:DevMode(%d, %#x) entry.\r\n"), dwMode, pOemDMParam); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IOemUI2::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE(DLLTEXT("IOemUI2:CommonUIProp entry.\r\n")); - - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -HRESULT __stdcall IOemUI2::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI2:DocumentPropertySheets entry.\r\n")); - - return hrOEMDocumentPropertySheets(pPSUIInfo, - lParam, - m_Helper, - &m_Features, - m_bHidingStandardUI); -} - -HRESULT __stdcall IOemUI2::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI2:DevicePropertySheets entry.\r\n")); - - return hrOEMDevicePropertySheets(pPSUIInfo, - lParam, - m_Helper, - &m_Features, - m_bHidingStandardUI); -} - -HRESULT __stdcall IOemUI2::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE(DLLTEXT("IOemUI2:DeviceCapabilities entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI2::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE(DLLTEXT("IOemUI2:DevQueryPrintEx entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI2::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE(DLLTEXT("IOemUI2:UpgradePrinter entry.\r\n")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI2::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI2:PrinterEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI2::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI2:DriverEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -HRESULT __stdcall IOemUI2::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - VERBOSE(DLLTEXT("IOemUI2:QueryColorProfile entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI2::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI2:FontInstallerDlgProc entry.\r\n")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI2::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE(DLLTEXT("IOemUI2:UpdateExternalFonts entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -// *********** IPrintOEMUI2 FUNCTIONS **************** - -// -// QueryJobAttribtues -// - -HRESULT __stdcall IOemUI2::QueryJobAttributes( - HANDLE hPrinter, - PDEVMODE pDevmode, - DWORD dwLevel, - LPBYTE lpAttributeInfo) -{ - TERSE(DLLTEXT("IOemUI2:QueryJobAttributes entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDevmode); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(lpAttributeInfo); - - return E_NOTIMPL; -} - -// -// Hide Standard UI -// - -HRESULT __stdcall IOemUI2::HideStandardUI( - DWORD dwMode) -{ - HRESULT hrReturn = E_NOTIMPL; - - - TERSE(DLLTEXT("IOemUI2:HideStandardUI entry.\r\n")); - - switch(dwMode) - { - // By returning S_OK for both OEMCUIP_DOCPROP and OEMCUIP_PRNPROP, - // we will hide the Standard UI for both Document Properties, - // and Device Properties. - // To not hide one or both, return E_NOTIMPL instead of S_OK, - case OEMCUIP_DOCPROP: - case OEMCUIP_PRNPROP: - // Flag that we are hiding the Standard UI. - // This is so we can tell easily between Driver UI - // that supports HideStandardUI (such as WinXP PS UI), - // or ones that don't (such as Win2K PS or Unidrv UI). - m_bHidingStandardUI = TRUE; - - hrReturn = S_OK; - break; - } - - return hrReturn; -} - -// -// DocumentEvent -// - -HRESULT __stdcall IOemUI2::DocumentEvent( - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hdc); - UNREFERENCED_PARAMETER(iEsc); - UNREFERENCED_PARAMETER(cbIn); - UNREFERENCED_PARAMETER(pbIn); - UNREFERENCED_PARAMETER(cbOut); - UNREFERENCED_PARAMETER(pbOut); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { -#if DBG - TCHAR szOutput[80] = {0}; - StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail! - WARNING(DLLTEXT("IOemCF::QueryInterface %s not supported.\r\n"), szOutput); -#endif - - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IOemUI2* pOemCB = new IOemUI2 ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h deleted file mode 100644 index d723cbb7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/intrface.h +++ /dev/null @@ -1,220 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.h -// -// PURPOSE: Header of interface for PScript5UI replacement plug-in. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI2 -// -class IOemUI2: public IPrintOemUI2 -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - // - // IPrintOemUI2 methods - // - - // - // QueryJobAttributes - // - - STDMETHOD(QueryJobAttributes) (THIS_ - HANDLE hPrinter, - PDEVMODE pDevmode, - DWORD dwLevel, - LPBYTE lpAttributeInfo - ); - - // - // Hide Standard UI - // - - STDMETHOD(HideStandardUI) (THIS_ - DWORD dwMode - ); - - // - // DocumentEvent - // - - STDMETHOD(DocumentEvent) (THIS_ - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ); - - - IOemUI2(); - virtual ~IOemUI2(); - -protected: - LONG m_cRef; // Reference count - BOOL m_bHidingStandardUI; // Flag indicating if we are hiding the Standard UI. - // NOTE: Not all Driver UI versions support hinding - // the Standard Driver UI. - CUIHelper m_Helper; // Container for Driver UI Helper interface. - CFeatures m_Features; // Core Driver features and feature options. -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp deleted file mode 100644 index 331be437..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.cpp +++ /dev/null @@ -1,1042 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.cpp -// -// -// PURPOSE: Main file for OEM UI test module. -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "globals.h" -#include "devmode.h" -#include "stringutils.h" -#include "helper.h" -#include "features.h" -#include "oemui.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - CUIHelper *pHelper; - POEMUIOBJ poemuiobj; - BOOL bPermission; - BOOL bHidingStandardUI; - -} CBUSERDATA, *PCBUSERDATA; - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUIItemCallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam); -LONG APIENTRY OEMDevUICallBack(PCPSUICBPARAM pCallbackParam); -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); - - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMPropertyPage(%d) entry.\r\n"), dwMode); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR(ERRORTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - VERBOSE(DLLTEXT("\tdwMode = %d, pOEMUIParam = %#lx.\r\n"), dwMode, pOEMUIParam); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam); - break; - - default: - // Should never reach this! - ERR(ERRORTEXT("hrOEMPropertyPage() Invalid dwMode, %d"), dwMode); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hrResult = S_OK; - - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems); - } - else - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMDocUIItemCallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - - hrResult = GetStringResource(pOEMUIParam->hOEMHeap, - (HMODULE) pOEMUIParam->hModule, - IDS_ADV_SECTION, - &pOEMUIParam->pOEMOptItems[0].pName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrDocumentPropertyPage() failed to get section name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - -Exit: - - return hrResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM printer property UI. -// -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hrResult = S_OK; - - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM printer property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems); - } - else - { - DWORD dwError; - DWORD dwDeviceValue; - DWORD dwType; - DWORD dwNeeded; - - - VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems); - - // Get device settings value from printer. - dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue, - sizeof(dwDeviceValue), &dwNeeded); - if( (ERROR_SUCCESS != dwError) - || - (dwDeviceValue > 100) - ) - { - // Failed to get the device value or value is invalid, just use the default. - dwDeviceValue = 0; - } - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - hrResult = GetStringResource(pOEMUIParam->hOEMHeap, - (HMODULE) pOEMUIParam->hModule, - IDS_DEV_SECTION, - &pOEMUIParam->pOEMOptItems[0].pName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrPrinterPropertyPage() failed to get section name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - -Exit: - - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to Document property sheet. -// -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam, - CUIHelper &Helper, - CFeatures *pFeatures, - BOOL bHidingStandardUI) -{ - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - VERBOSE(DLLTEXT("OEMDocumentPropertySheets() entry.\r\n")); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(ERRORTEXT("OEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - WORD wFeatures = 0; - WORD wIndex = 0; - DWORD dwSheets = 0; - PCBUSERDATA pUserData = NULL; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - BOOL bPermission = ((pOEMUIParam->dwFlags & DM_NOPERMISSION) == 0); - HANDLE hHeap = pOEMUIParam->hOEMHeap; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - COMPROPSHEETUI Sheet; - - - // Make sure that we have the Core Driver Features. - // Only get features if we are hiding the standard - // document property sheets. - if(bHidingStandardUI) - { - pFeatures->Acquire(hHeap, Helper, pOEMUIParam->poemuiobj); - wFeatures = pFeatures->GetCount(OEMCUIP_DOCPROP); - } - - // Init property page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0; - Sheet.hInstCaller = ghInstance; - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDocUICallBack; - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = wFeatures + 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Get Caller's name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get caller name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Get section name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get section name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Init user data. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if(NULL == pUserData) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - pUserData->pHelper = &Helper; - pUserData->poemuiobj = pOEMUIParam->poemuiobj; - pUserData->bPermission = bPermission; - pUserData->bHidingStandardUI = bHidingStandardUI; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if(NULL == Sheet.pOptItem) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Add Core Driver features. - for(wIndex = 0; wIndex < wFeatures; ++wIndex) - { - // Initialize level and basic state for feature. - Sheet.pOptItem[wIndex].Level = 1; - Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE; - - // Get the OPTITEM for this feature. - hrResult = pFeatures->InitOptItem(hHeap, - Sheet.pOptItem + wIndex, - wIndex, - OEMCUIP_DOCPROP); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get OPTITEM for feature %hs.\r\n"), - pFeatures->GetKeyword(wIndex, OEMCUIP_DOCPROP)); - - goto Exit; - } - } - - // Initialize Plug-in OptItems - Sheet.pOptItem[wIndex].Level = 1; - Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE; - Sheet.pOptItem[wIndex].Sel = pOEMDev->dwDriverData; - - // get optitem name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItem[wIndex].pName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to get OptItem %d name. (hrResult = 0x%x)\r\n"), - wIndex, - hrResult); - goto Exit; - } - - Sheet.pOptItem[wIndex].pOptType = CreateOptType(hHeap, 2); - - Sheet.pOptItem[wIndex].pOptType->Type = TVOT_UDARROW; - Sheet.pOptItem[wIndex].pOptType->pOptParam[1].IconID = 0; - Sheet.pOptItem[wIndex].pOptType->pOptParam[1].lParam = 100; - - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to printer property sheet. -// -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam, - CUIHelper &Helper, - CFeatures *pFeatures, - BOOL bHidingStandardUI) -{ - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMDevicePropertySheets(%#x, %#x) entry\r\n"), pPSUIInfo, lParam); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - Dump(pPSUIInfo); - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - PROPSHEETPAGE Page; - - // If hiding standard UI, then - // need to add Device Settings page, too. - if(bHidingStandardUI) - { - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - BOOL bPermission = ((pOEMUIParam->dwFlags & DPS_NOPERMISSION) == 0); - HANDLE hHeap = pOEMUIParam->hOEMHeap; - WORD wFeatures = 0; - WORD wIndex = 0; - DWORD dwSheets = 0; - DLGPAGE DlgPage; - PCBUSERDATA pUserData = NULL; - COMPROPSHEETUI Sheet; - - - // Make sure that we have the Core Driver Features. - pFeatures->Acquire(hHeap, Helper, pOEMUIParam->poemuiobj); - wFeatures = pFeatures->GetCount(OEMCUIP_PRNPROP); - - // Init DlgPage struct for Device Settings replacement page. - memset(&DlgPage, 0, sizeof(DLGPAGE)); - DlgPage.cbSize = sizeof(DLGPAGE); - DlgPage.DlgTemplateID = DP_STD_TREEVIEWPAGE; - - // Get Device Settings display name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_DEVICE_SETTINGS_NAME, &DlgPage.pTabName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get Device Settings display name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Init Device Settings replacement page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0; - Sheet.hInstCaller = ghInstance; - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDevUICallBack; - Sheet.pDlgPage = &DlgPage; //CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = wFeatures; - Sheet.cDlgPage = 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Get Caller's name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get caller name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Get section name. - hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get section name. (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // Allocate and init User data used in our callback for this page. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if(NULL == pUserData) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to allocate user data.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - pUserData->pHelper = &Helper; - pUserData->poemuiobj = pOEMUIParam->poemuiobj; - pUserData->bPermission = bPermission; - pUserData->bHidingStandardUI = bHidingStandardUI; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if(NULL == Sheet.pOptItem) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to allocate OPTITEMs.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Add Core Driver features. - for(wIndex = 0; wIndex < wFeatures; ++wIndex) - { - // Initialize level and basic state for feature. - Sheet.pOptItem[wIndex].Level = 1; - Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE; - - // Get the OPTITEM for this feature. - hrResult = pFeatures->InitOptItem(hHeap, - Sheet.pOptItem + wIndex, - wIndex, - OEMCUIP_PRNPROP); - if(!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to get OPTITEM for feature %hs.\r\n"), - pFeatures->GetKeyword(wIndex, OEMCUIP_PRNPROP)); - - goto Exit; - } - } - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - if(!SUCCEEDED(lResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to add Device Settings replacement page. (lResult = 0x%x)\r\n"), - lResult); - goto Exit; - } - } - - // Init our property page. - memset(&Page, 0, sizeof(PROPSHEETPAGE)); - Page.dwSize = sizeof(PROPSHEETPAGE); - Page.dwFlags = PSP_DEFAULT; - Page.hInstance = ghInstance; - Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE); - Page.pfnDlgProc = DevicePropPageProc; - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0); - if(!SUCCEEDED(lResult)) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() failed to add our Device Property page. (lResult = 0x%x)\r\n"), - lResult); - goto Exit; - } - - VERBOSE(DLLTEXT("hrOEMDevicePropertySheets() pfnComPropSheet returned %d.\r\n"), lResult); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM printer property UI. -// -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - - VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - { - DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel; - - // Store OptItems state in printer data. - SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD)); - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Call back for OEM device property UI. -// -#pragma warning(push) -// 2 MAX_PATH strings just slightly exceed the default threshold for the prefast stack usage warning -#pragma warning( disable : 6262 ) -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) -{ - switch (uiMsg) - { - case WM_COMMAND: - switch(HIWORD(wParam)) - { - case BN_CLICKED: - switch(LOWORD(wParam)) - { - case IDC_CALIBRATE: - // Just display a message that the printer is calibrated, - // since we don't acutally calibrate anything. - { - TCHAR szName[MAX_PATH]; - TCHAR szCalibrated[MAX_PATH]; - - - LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0])); - LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0])); - MessageBox(hDlg, szCalibrated, szName, MB_OK); - } - break; - } - break; - - default: - return FALSE; - } - return TRUE; - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) // type of notification message - { - case PSN_SETACTIVE: - break; - - case PSN_KILLACTIVE: - break; - - case PSN_APPLY: - break; - - case PSN_RESET: - break; - } - } - break; - } - - return FALSE; -} -#pragma warning(pop) - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM document property UI. -// -LONG APIENTRY OEMDocUIItemCallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMDocUIItemCallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData) - { - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam) -{ - WORD wItems = pCallbackParam->cOptItem; - LONG lReturn = CPSUICB_ACTION_NONE; - POPTITEM pOptItem = pCallbackParam->pOptItem; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap; - POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMDocUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - // - // If user has no permission to change anything, then - // simply return without taking any action. - // - - if (!pUserData->bPermission && (pCallbackParam->Reason != CPSUICB_REASON_ABOUT)) - return CPSUICB_ACTION_NONE; - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - if(wItems > 0) - { - // Save feature options if hidig standard UI. - if(pUserData->bHidingStandardUI) - { - HRESULT hrResult; - - - // Save feature OPTITEMs. - hrResult = SaveFeatureOptItems(hHeap, - pUserData->pHelper, - pUserData->poemuiobj, - pCallbackParam->hDlg, - pOptItem, - wItems); - if(!SUCCEEDED(hrResult)) - { - // Return that we didn't save changes. - // NOTE: it is up to SaveFeatureOptItems() to display - // any UI for failure. - return CPSUICB_ACTION_NO_APPLY_EXIT; - } - } - - // Save OPTITEM that we explicitly added. - pOEMDev->dwDriverData = pOptItem[wItems - 1].Sel; - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - - } - break; - - case CPSUICB_REASON_KILLACTIVE: - if(wItems > 0) - { - // Update OPTITEM that we explicitly added. - pOEMDev->dwDriverData = pOptItem[wItems - 1].Sel; - } - break; - - case CPSUICB_REASON_SETACTIVE: - if(wItems > 0) - { - if((DWORD)(pOptItem[wItems - 1].Sel) != pOEMDev->dwDriverData) - { - // Update OPTITEM that we explicitly added. - pOptItem[wItems - 1].Sel = pOEMDev->dwDriverData; - pOptItem[wItems - 1].Flags |= OPTIF_CHANGED; - } - } - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - break; - - default: - break; - } - - return lReturn; -} - -LONG APIENTRY OEMDevUICallBack(PCPSUICBPARAM pCallbackParam) -{ - WORD wItems = pCallbackParam->cOptItem; - LONG lReturn = CPSUICB_ACTION_NONE; - POPTITEM pOptItem = pCallbackParam->pOptItem; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap; - - - VERBOSE(DLLTEXT("OEMDevUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - // - // If user has no permission to change anything, then - // simply return without taking any action. - // - - if (!pUserData->bPermission && (pCallbackParam->Reason != CPSUICB_REASON_ABOUT)) - return CPSUICB_ACTION_NONE; - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - if(wItems > 0) - { - // Save feature options if hidig standard UI. - if(pUserData->bHidingStandardUI) - { - HRESULT hrResult; - - - // Save feature OPTITEMs. - hrResult = SaveFeatureOptItems(hHeap, - pUserData->pHelper, - pUserData->poemuiobj, - pCallbackParam->hDlg, - pOptItem, - wItems); - if(!SUCCEEDED(hrResult)) - { - // Return that we didn't save changes. - // NOTE: it is up to SaveFeatureOptItems() to display - // any UI for failure. - return CPSUICB_ACTION_NO_APPLY_EXIT; - } - } - - - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - } - break; - - case CPSUICB_REASON_KILLACTIVE: - break; - - case CPSUICB_REASON_SETACTIVE: - break; - - default: - break; - } - - return lReturn; -} - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Creates and Initializes OptItems. -// -POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems) -{ - POPTITEM pOptItems = NULL; - SIZE_T sizeOfOptItems = 0; - - // Compute the size of memory needed for the OptItems: - if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems))) - { - // Allocate memory for OptItems; - pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems); - if(NULL != pOptItems) - { - InitOptItems(pOptItems, dwOptItems); - } - else - { - ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n")); - } - } - else - { - ERR(ERRORTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n")); - } - - return pOptItems; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE(DLLTEXT("InitOptItems() entry.\r\n")); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE(DLLTEXT("CreateOptType() entry.\r\n")); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h deleted file mode 100644 index c00b87ef..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/oemui.h +++ /dev/null @@ -1,33 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.H -// -#pragma once - - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - -// Printer registry keys where OEM data is stored. -#define OEMUI_VALUE TEXT("OEMUI_VALUE") -#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE") - - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, CUIHelper &Helper, CFeatures *pFeatures, - BOOL bHidingStandardUI); -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, CUIHelper &Helper, CFeatures *pFeatures, - BOOL bHidingStandardUI); - -POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems); -POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h deleted file mode 100644 index 1374db76..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precomp.h +++ /dev/null @@ -1,55 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// PURPOSE: Header files that should be in the precompiled header. -// -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <LIMITS.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// Safe integer functions to detect integer overflow/underflow conditions: -#include <intsafe.h> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def deleted file mode 100644 index eacb15a5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/psuirep.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY PSUIREP -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h deleted file mode 100644 index 958598da..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PSUIRep/resource.h +++ /dev/null @@ -1,92 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by OEMUI.rc -// -#define IDS_SECTION 1 -#define IDS_CALIBRATED 2 -#define IDS_NAME 3 -#define IDS_DEVICE_SETTINGS_NAME 4 -#define IDS_CONSTRAINT_CONFLICT 5 -#define IDS_DEV_SECTION 6 -#define IDS_ADV_SECTION 10 -#define IDD_DEVICE_PROPPAGE 106 -#define IDD_DOC_PROPPAGE 107 -#define IDS_POSTSCRIPT_VM 400 -#define IDS_KBYTES 401 -#define IDS_SECONDS 402 -#define IDS_PSTIMEOUTS 403 -#define IDS_JOBTIMEOUT 404 -#define IDS_WAITTIMEOUT 405 -#define IDS_PRINTER_DEFAULT 406 -#define IDS_INSTALLABLE_OPTIONS 407 -#define IDS_DOWNLOAD_AS_SOFTFONT 408 -#define IDS_USE_DEVFONTS 409 -#define IDS_FONTSUB_OPTION 410 -#define IDS_FONTSUB_DEFAULT 411 -#define IDS_FONTSUB_SLOW 412 -#define IDS_FONTSUB_TABLE 413 -#define IDS_DEFAULT_TRAY 414 -#define IDS_DRAW_ONLY_FROM_SELECTED 415 -#define IDS_RESTORE_DEFAULTS 417 -#define IDS_PRINTER_FEATURES 418 -#define IDS_METAFILE_SPOOLING 419 -#define IDS_ENABLED 420 -#define IDS_DISABLED 421 -#define IDS_PSOPTIONS 422 -#define IDS_MIRROR 423 -#define IDS_NEGATIVE_PRINT 424 -#define IDS_PAGEINDEP 425 -#define IDS_COMPRESSBMP 426 -#define IDS_CTRLD_BEFORE 427 -#define IDS_CTRLD_AFTER 428 -#define IDS_JOB_CONTROL 429 -#define IDS_TEXT_ASGRX 431 -#define IDS_PAGE_PROTECTION 432 -#define IDS_CANCEL_CONFLICT 433 -#define IDS_IGNORE_CONFLICT 434 -#define IDS_RESOLVE_CONFLICT 435 -#define IDS_GETDATA_FAILED 436 -#define IDS_DRIVERUI_COLORMODE 437 -#define IDS_ENVELOPE 438 -#define IDS_ENV_PREFIX 439 -#define IDS_PSPROTOCOL 440 -#define IDS_PSPROTOCOL_ASCII 441 -#define IDS_PSPROTOCOL_BCP 442 -#define IDS_PSPROTOCOL_TBCP 443 -#define IDS_PSPROTOCOL_BINARY 444 -#define IDS_TRAY_FORMSOURCE 445 -#define IDS_OEMERR_DLGTITLE 446 -#define IDS_OEMERR_OPTITEM 447 -#define IDS_OEMERR_PROPSHEET 448 -#define IDS_CANCEL_CONFLICT_FINAL 449 -#define IDS_PSERROR_HANDLER 450 -#define IDS_PSMINOUTLINE 451 -#define IDS_PSMAXBITMAP 452 -#define IDS_PIXELS 453 -#define IDS_PSOUTPUT_OPTION 454 -#define IDS_PSOPT_SPEED 455 -#define IDS_PSOPT_PORTABILITY 456 -#define IDS_PSOPT_EPS 457 -#define IDS_PSOPT_ARCHIVE 458 -#define IDS_PSTT_DLFORMAT 459 -#define IDS_TTDL_DEFAULT 460 -#define IDS_TTDL_TYPE1 461 -#define IDS_TTDL_TYPE3 462 -#define IDS_TTDL_TYPE42 463 -#define IDS_PSLEVEL 471 -#define IDS_TRUE_GRAY_TEXT 507 -#define IDS_TRUE_GRAY_GRAPH 508 -#define IDS_ADD_EURO 509 -#define IDS_PSCRIPT_CUSTOMSIZE 600 -#define IDC_CALIBRATE 1001 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1002 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd deleted file mode 100644 index fa3e7864..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.gpd +++ /dev/null @@ -1,763 +0,0 @@ -*GPDFileName: "ptpcplpr.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*Include: "ttfsub.gpd" -*ModelName: "UniDrv PT/PC Plugin Provider" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "<1B>&l1O" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l0H" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l1H" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option2 - *Option: Option1 - { - *Name: "600 x 600" =DOTS_PER_INCH - *DPI: PAIR(600, 600) - *TextDPI: PAIR(600, 600) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R" - } - } - *Option: Option2 - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: Option3 - { - *Name: "150 x 150" =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(150, 150) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R" - } - } -} - -*%****************************************************************************************** -*% HP-GL/2 Graphics Support -*%****************************************************************************************** -*Ifdef: WINNT_51 -*Personality: =PERSONALITY_HPGL2 -*Feature: GraphicsMode -{ - *rcNameID: =GRAPHICSMODE_DISPLAY - *DefaultOption: RASTERMODE - *Option: HPGL2MODE - { - *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY - } - *Option: RASTERMODE - { - *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>" - } - } -} -*Endif: - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1028 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1692 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4109 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4249 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 3198 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y" - } - } - } - } -} - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: STANDARD - *Option: STANDARD - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n6WdPlain" - } - } - *Option: CustomPhotographicPaper - { - *Name: "Photographic" - *PrintSchemaKeywordMap: "Photographic" - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n13WdPhotographic" - } - } -} - -*%****************************************************************************************** -*% Color Mode -*%****************************************************************************************** -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *DefaultOption: 24bpp - *Option: Mono - { - *rcNameID: =MONO_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 1 - *Color?: FALSE - } - *Option: Color - { - *rcNameID: =COLOR_DISPLAY - *DevNumOfPlanes: 3 - *DevBPP: 1 - *DrvBPP: 4 - EXTERN_GLOBAL: *RasterSendAllData?: TRUE - *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW) - *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" } - *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" } - *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" } - *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" } - *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" } - *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" } - *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" } - *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*r-3U" - } - } - *Option: 8bpp - { - *rcNameID: =8BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 8 - *DrvBPP: 8 - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>" - } - } - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 24 - *DrvBPP: 24 - *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*" -+ "o3W<060400>" - } - } -} - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Memory -*% -*% Note: Unidrv uses the font memory information to estimate when it needs to stop -*% downloading fonts for a page, and thus driver writers should err on the conservative -*% side. Otherwise, printers will generate "out of memory" device errors for pages with -*% a large number of fonts / unique glyphs. -*%****************************************************************************************** -*Feature: Memory -{ - *rcNameID: =PRINTER_MEMORY_DISPLAY - *DefaultOption: 32768KB - *Option: 4096KB - { - *Name: "4MB" - *MemoryConfigKB: PAIR(4096, 6750) - } - *Option: 8192KB - { - *Name: "8MB" - *MemoryConfigKB: PAIR(8192, 10350) - } - *Option: 16384KB - { - *Name: "16MB" - *MemoryConfigKB: PAIR(16384, 13950) - } - *Option: 24576KB - { - *Name: "24MB" - *MemoryConfigKB: PAIR(24576, 21150) - } - *Option: 32768KB - { - *Name: "32MB" - *MemoryConfigKB: PAIR(32768, 28350) - } - *Option: 49152KB - { - *Name: "48MB" - *MemoryConfigKB: PAIR(49152, 43050) - } - *Option: 65536KB - { - *Name: "64MB" - *MemoryConfigKB: PAIR(65536, 57150) - } - *Option: 98304KB - { - *Name: "96MB" - *MemoryConfigKB: PAIR(98304, 85950) - } - *Option: 102400KB - { - *Name: "100MB" - *MemoryConfigKB: PAIR(102400, 89700) - } - *Option: 114688KB - { - *Name: "112MB" - *MemoryConfigKB: PAIR(114688, 100550) - } - *Option: 131072KB - { - *Name: "128MB" - *MemoryConfigKB: PAIR(131072, 116250) - } -} - -*%****************************************************************************************** -*% Duplex Unit -*%****************************************************************************************** -*Feature: DuplexUnit -{ - *rcNameID: 429 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *rcNameID: 444 - *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL) - } - *Option: TRUE - { - *rcNameID: 443 - } -} - -*%****************************************************************************************** -*% Duplex Type -*%****************************************************************************************** -*Feature: Duplex -{ - *rcNameID: =TWO_SIDED_PRINTING_DISPLAY - *DefaultOption: NONE - *Option: NONE - { - *rcNameID: =NONE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l0S" - } - } - *Option: VERTICAL - { - *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l1S" - } - } - *Option: HORIZONTAL - { - *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l2S" - } - } -} - -*%****************************************************************************************** -*% Page Photo Printing Intent -*%****************************************************************************************** -*Feature: PhotoPrintingIntent -{ - *Name: "Photo Printing Intent" - *PrintSchemaKeywordMap: "PagePhotoPrintingIntent" - *DefaultOption: None - *Option: None - { - *Name: "None" - *PrintSchemaKeywordMap: "None" - } - *Option: Draft - { - *Name: "Draft" - *PrintSchemaKeywordMap: "PhotoDraft" - } - *Option: Standard - { - *Name: "Standard" - *PrintSchemaKeywordMap: "PhotoStandard" - } - *Option: Best - { - *Name: "Best" - *PrintSchemaKeywordMap: "PhotoBest" - } -} - - -*Feature: OutputQuality -{ - *Name: "Page Output Quality" - *PrintSchemaKeywordMap: "PageOutputQuality" - *DefaultOption: None - *Option: None - { - *Name: "None" - *PrintSchemaKeywordMap: "None" - } - *Option: Draft - { - *Name: "Draft" - *PrintSchemaKeywordMap: "Draft" - } - *Option: High - { - *Name: "High" - *PrintSchemaKeywordMap: "High" - } - *Option: Photographic - { - *Name: "Photographic" - *PrintSchemaKeywordMap: "Photographic" - } -} - -*%****************************************************************************************** -*% Page Protect -*%****************************************************************************************** -*Feature: PageProtect -{ - *rcNameID: =PAGE_PROTECTION_DISPLAY - *DefaultOption: OFF - *Option: ON - { - *rcNameID: =ON_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" - } - } - *Option: OFF - { - *rcNameID: =OFF_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "<1B>&u1200D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} - -*%****************************************************************************************** -*% Cursor, Page and Color Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*%****************************************************************************************** -*% Font Descriptions and Commands -*%****************************************************************************************** -*TTFSEnabled?: TRUE -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157, -+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) -*MinFontID: 16534 -*MaxFontID: 32768 -*switch: Resolution -{ - *case: Option1 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option2 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option3 - { - *FontFormat: HPPCL_RES - } -} -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } - - -*%******************************************************************************************** -*%* Vector Commands. -*%******************************************************************************************** -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf Binary files differdeleted file mode 100644 index 067896bd..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini deleted file mode 100644 index 5535181a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/install/ptpcplpr.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=PTPCPLPR.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj deleted file mode 100644 index 33380c3f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj +++ /dev/null @@ -1,904 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{CED613CF-6666-43FC-9414-02AFBDA83A34}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{77D353B7-7DE8-4AB3-A89C-86F5EB1FC56C}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>PTPCPLPR</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;PLUGIN_PRINTTICKET</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;msxml6.lib;uuid.lib</AdditionalDependencies> - <ModuleDefinitionFile>PTPCPLPR.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="dllentry.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="oemptprovider.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="printschema.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="xmlhandler.cxx"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.hxx</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.hxx.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="PTPCPlPr.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters deleted file mode 100644 index abd9c1c0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/PTPCPLPR.vcxproj.Filters +++ /dev/null @@ -1,272 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{968C24E3-F5FE-4473-9D02-E46A409462B6}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{D7302931-5FEA-4B5A-B5B1-7B1938023A9E}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{1475CB34-56B8-45D0-9740-D86566D868E6}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="dllentry.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="oemptprovider.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="printschema.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="xmlhandler.cxx"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - <ClInclude Include="debug.hxx"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="globals.hxx" /> - <ClInclude Include="intrface.hxx" /> - <ClInclude Include="oem.hxx" /> - <ClInclude Include="oemptprovider.hxx" /> - <ClInclude Include="precomp.hxx" /> - <ClInclude Include="printschema.hxx" /> - <ClInclude Include="xmlhandler.hxx" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="PTPCPlPr.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="ptpcplpr.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx deleted file mode 100644 index 877fd6e3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/debug.hxx +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.hxx -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx deleted file mode 100644 index 4934dfc2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/dllentry.cxx +++ /dev/null @@ -1,48 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cxx -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.hxx" -#include "oem.hxx" -#include "debug.hxx" -#include "globals.hxx" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID ) -{ - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx deleted file mode 100644 index 75abea62..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.cxx +++ /dev/null @@ -1,21 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: globals.cxx -// - -#include "precomp.hxx" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx deleted file mode 100644 index 72f3aa11..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/globals.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: globals.hxx -// - -#pragma once - -// -// Maximum string length limit for STRSAFE string length function StringCchLength -// Must be less than or equal to maximum upper bound on string length defined by STRSAFE -// library ie STRSAFE_MAX_CCH -// -#define STR_MAX_CCH 10000 - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx deleted file mode 100644 index 3d6f3b90..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.cxx +++ /dev/null @@ -1,493 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.cxx -// -// -// PURPOSE: Implementation of interface for PScript4, PScript5, Unidrv4, -// Unidrv5 UI plug-ins. -// -// - - -#include "precomp.hxx" -#include "debug.hxx" -#include "intrface.hxx" -#include "oem.hxx" -#include "oemptprovider.hxx" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Private Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI body -// - -IOemUI::~IOemUI() -{ - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n")); - if (IID_IUnknown == iid) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n")); - } - else if (IID_IPrintOemUI == iid) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n")); - } - else - { - VERBOSE(DLLTEXT("IOemUI::QueryInterface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemUI::AddRef() -{ - VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI::Release() -{ - VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n")); - ASSERT (0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - -HRESULT __stdcall IOemUI::PublishDriverInterface( - IUnknown *) -{ - VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n")); - - return S_OK; -} - -HRESULT __stdcall IOemUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IOemUI::GetInfo entry.\r\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK.\r\r\n")); - return S_OK; -} - -HRESULT __stdcall IOemUI::DevMode( - DWORD , - POEMDMPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:DevMode entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::CommonUIProp( - DWORD , - POEMCUIPPARAM) -{ - VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n")); - - return E_NOTIMPL; -} - - -HRESULT __stdcall IOemUI::DocumentPropertySheets( - PPROPSHEETUI_INFO , - LPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DevicePropertySheets( - PPROPSHEETUI_INFO , - LPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DeviceCapabilities( - POEMUIOBJ , - HANDLE , -_In_ PWSTR , - WORD , - PVOID , - PDEVMODE , - PVOID , - DWORD , - DWORD * ) -{ - VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DevQueryPrintEx( - POEMUIOBJ , - PDEVQUERYPRINT_INFO , - PDEVMODE , - PVOID ) -{ - VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::UpgradePrinter( - DWORD , - PBYTE ) -{ - VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::PrinterEvent( -_In_ PWSTR , - INT , - DWORD , - LPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n")); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DriverEvent( - DWORD , - DWORD , - LPBYTE , - LPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n")); - - return E_NOTIMPL; -}; - - -#define PROFILE_NAME L"OEMPROFILE.icm\0" - -HRESULT __stdcall IOemUI::QueryColorProfile( - HANDLE , - POEMUIOBJ , - PDEVMODE , - PVOID , - ULONG , - VOID *, - ULONG *, - FLONG *) -{ - - VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n")); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::FontInstallerDlgProc( - HWND , - UINT , - WPARAM , - LPARAM ) -{ - VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n")); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::UpdateExternalFonts( - HANDLE , - HANDLE , -_In_ PWSTR ) -{ - VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n")); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) {}; - ~IOemCF() {}; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((IID_IUnknown == iid) || (IID_IClassFactory == iid)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - VERBOSE(DLLTEXT("IOemCF::QueryInterface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - HRESULT hr = S_OK; - - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (NULL != pUnknownOuter) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IOemUI* pOemCB = new IOemUI ; - if (NULL == pOemCB) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - - if (FAILED(hr)) - { - IOEMPTProvider * pOemPT = new IOEMPTProvider(); - - if(NULL == pOemPT) - { - return E_OUTOFMEMORY; - } - - hr = pOemPT->QueryInterface(iid, ppv) ; - - pOemPT->Release(); - } - - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((0 == g_cComponents) && (0 == g_cServerLocks)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (CLSID_OEMUI != clsid && CLSID_OEMPTPROVIDER != clsid) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (NULL == pFontCF) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx deleted file mode 100644 index 99b950d3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/intrface.hxx +++ /dev/null @@ -1,178 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.cxx -// -// PURPOSE: Header of interface for PScript4, PScript5, Unidrv4, -// Unidrv5 UI plug-ins. -// -// - -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI -// -class IOemUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - IOemUI() : m_cRef(1) {}; - ~IOemUI(); - -protected: - LONG m_cRef; -}; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx deleted file mode 100644 index a8c7b03c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oem.hxx +++ /dev/null @@ -1,26 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: oem.hxx -// - -#pragma once - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - -// OEM UI Misc defines. -#define DLLTEXT(s) "PTPC Plugin: " s - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx deleted file mode 100644 index e0e94632..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.cxx +++ /dev/null @@ -1,1145 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: oemptprovider.cxx -// -// -// PURPOSE: Implementation of IOEMPTProvider Class. -// The Provider class implements the -// IPrintOemPrintTicketProvider interface functions that -// provide the plug-in access to Print Ticket and allow the -// plug-in to understand the Unidrv private setting in -// the Print Ticket and expose its private settings to -// Unidrv by putting them publicly in the Print Ticket. The -// various provider methods make use of the -// IPrintCoreHelper Interface methods to -// create instances of XML objects and to communicate -// information with Unidrv. -// -// Functions: -// IPrintOemPrintTicketProvider Interface Functions. -// Private Functions of class IOEMPTProvider. -// - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -#include "precomp.hxx" -#include "globals.hxx" -#include "debug.hxx" -#include "oem.hxx" -#include "xmlhandler.hxx" -#include "oemptprovider.hxx" -#include "printschema.hxx" - -/*++ - -Routine Name: - - IOEMPTProvider constructor - -Routine Description: - - Constructor - -Arguments: - - None - -Return Value: - - None - ---*/ -IOEMPTProvider::IOEMPTProvider() - : m_pCoreHelper(NULL), - m_cRef(1) -{ -} - -/*++ - -Routine Name: - - IOEMPTProvider destructor - -Routine Description: - - Destructor - -Arguments: - - None - -Return Value: - - None - ---*/ - -IOEMPTProvider::~IOEMPTProvider() -{ - - // - // Make sure that helper interface is released. - // - if (m_pCoreHelper) - { - m_pCoreHelper->Release(); - m_pCoreHelper = NULL; - } - - // - // If this instance of the object is being deleted, then the reference - // count should be zero. - // - ASSERT(0 == m_cRef); - -} - -/*++ - -Routine Name: - - IOEMPTProvider QueryInterface - -Routine Description: - - Returns a pointer to a specified interface on an object to which a client currently holds an - interface pointer. - This function must call IUnknown::AddRef on the pointer it returns. - -Arguments: - - riid - Identifier of requested Interface. - ppObj - Output variable that receives the pointer to requested Interface on success - -Return Value: - - HRESULT - S_OK - If the Interface requested is supported - E_NOINTERFACE otherwise - ---*/ - -STDMETHODIMP IOEMPTProvider::QueryInterface( - REFIID riid, - void **ppObj - ) -{ - if ((IID_IUnknown == riid) || (IID_IPrintOemPrintTicketProvider == riid)) - { - *ppObj = static_cast<IPrintOemPrintTicketProvider *>(this); - } - else - { - *ppObj = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppObj)->AddRef(); - return S_OK ; -} - -/*++ - -Routine Name: - - AddRef - -Routine Description: - - The AddRef method increments the reference count for an an interface - on an object. It should be called for every new copy of a pointer to - an interface on a given object. - -Arguments: - - None - -Return Value: - - Returns the value of the new reference count. - ---*/ - -STDMETHODIMP_(ULONG) IOEMPTProvider::AddRef( - VOID - ) -{ - return InterlockedIncrement(&m_cRef); -} - -/*++ - -Routine Name: - - Release - -Routine Description: - - The Release method decrements the reference count for the calling - interface on a object. If the reference count on the object falls - to 0, the object is freed from memory. - -Arguments: - - None - -Return Value: - - Returns the resulting value of the reference count. - ---*/ -_At_(this, __drv_freesMem(object)) -STDMETHODIMP_(ULONG) IOEMPTProvider::Release( - THIS - ) -{ - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (0 == cRef) - { - delete this; - } - return cRef; -} - -/*++ - -Routine Name: - - GetSupportedVersions - -Routine Description: - - The routine returns major versions of Printschema schema supported by the plug-in Provider. - - -Arguments: - hPrinter - Printer Handle - ppVersions - OUT pointer to array of version numbers to be filled in by the plug-in - cVersions - OUT pointer to count of Number of versions supported by plug-in - -Return Value: - HRESULT - S_OK - On Success - E_* - On failure - ---*/ -STDMETHODIMP IOEMPTProvider::GetSupportedVersions -( - _In_ HANDLE , - _Outptr_result_buffer_maybenull_(*cVersions) INT *ppVersions[], - _Out_ INT *cVersions - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::GetSupportedVersions: entry.\r\n")); - - HRESULT hr = S_OK; - - // - // check if input parameters are valid - // - if (!ppVersions || !cVersions) - { - return E_INVALIDARG; - } - - // - // The Plug-in Provider need to allocate memory for the input version array and - // then fill it with version information - // - *ppVersions = (INT *)CoTaskMemAlloc(sizeof(INT)); - - if (!*ppVersions) - { - *cVersions = 0; - return E_OUTOFMEMORY; - } - else - { - // - // version number 1 is the only version supported currently - // - - *cVersions = 1; - (*ppVersions)[0] = PRINTSCHEMA_VERSION_NUMBER; - } - - return hr; -} - -/*++ - -Routine Name: - - BindPrinter - -Routine Description: - - Bind Printer is the part of the Unidrv's activity to bind to a device. It allows the plug-in to cache - certain information that can be used later on. - -Arguments: - - hPrinter - Printer Handle supplied by Unidrv - version - version of Printschema - pOptions - Flags passed out to set configurable options supported by caller - cNamespaces - Count of private namespaces of plug-in - ppNamespaces - OUT pointer to the array of Namespace URIs filled in by plug-in - -Return Value: - - HRESULT - S_OK - On Success - E_VERSION_NOT_SUPPORTED - if printer version specified is not supported by plug-in - E_* - On any other failure - ---*/ - -STDMETHODIMP IOEMPTProvider::BindPrinter -( - _In_ HANDLE hPrinter, - INT version, - _Out_ POEMPTOPTS pOptions, - _Out_ INT *cNamespaces, - _Outptr_result_buffer_maybenull_(*cNamespaces) BSTR **ppNamespaces - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::BindPrinter: entry.\r\n")); - - HRESULT hr = S_OK; - - // - // check if input parameters are NULL - // Printer Handle should be provided by Unidrv in this call, which is cached by plug-in provider and - // is later on used while making calls to Plug-in Helper Interface methods. - // - if (!pOptions || !cNamespaces || !ppNamespaces || !hPrinter) - { - return E_INVALIDARG; - } - - - *ppNamespaces = NULL; - - *cNamespaces = 0; - - // - // Agree on the Printschema version with Unidrv - // Version 1 is the only version currently supported - // - if (PRINTSCHEMA_VERSION_NUMBER != version) - { - return E_VERSION_NOT_SUPPORTED; - } - - // - // Bind to the Physical Printer device - // cache the printer handle for further use - // - m_hPrinterCached = hPrinter; - - // - // Flags to set configurable options, - // OEMPT_DEFAULT defined in prcomoem.h - // - *pOptions = OEMPT_DEFAULT; - - return hr; - -} - -/*++ - -Routine Name: - - PublishPrintTicketHelperInterface - -Routine Description: - - For a number of operations, the plug-in needs to use the Helper Interface utilities provided by - Unidrv. Unidrv uses this method to publish the Print Ticket Helper Interface, IPrintCoreHelper. - Plug-in should return SUCCESS after successfully incrementing the reference count of the interface. - -Arguments: - - pHelper - IPrintCoreHelper interface pointer - -Return Value: - - HRESULT - S_OK - On Success - E_* - On failure - ---*/ -STDMETHODIMP IOEMPTProvider::PublishPrintTicketHelperInterface -( - _In_ IUnknown *pHelper - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::PublishPrintTicketHelperInterface: entry.\r\n")); - - if (!pHelper) - { - return E_INVALIDARG; - } - - HRESULT hr = S_OK; - - // - // Need to store pointer to Driver Helper functions, if we already haven't. - // - if (NULL == m_pCoreHelper) - { - hr = pHelper->QueryInterface(IID_IPrintCoreHelperUni, (VOID**)&m_pCoreHelper); - } - - // - // It's possible that this routine will publish other interfaces in the - // future. If the object published did not support the desired interface, - // this routine should still succeed. - // - // If the helper interface is needed, but for some reason was not - // published (this would be an error on the OS's part), you should - // detect this and fail during the call-back where you intended to - // use the helper interface. - // - - if (E_NOINTERFACE == hr) - { - hr = S_OK; - } - - return hr; -} - -/*++ - -Routine Name: - - QueryDeviceDefaultNamespace - -Routine Description: - - Plug-in should specify the name of Private namespace URI that Unidrv - should be using to handle any features defined in the GPD that Unidrv - does not recognize plug-in may specify a set of namespaces as a result - of the call to BindPrinter method, and Unidrv needs to know which of - them is to be used as default namespace so that, for all the features - that Unidrv does not recognize, it will put them under this namespace - in Print Ticket. - - This method is optional. A plug-in can return E_NOTIMPL from this - method if there are multiple plug-ins and another plug-in is providing - the default, or if the plug-in does not want to change the default - namespace that unidrv provides. - - Note: It is Unidrv's responsibility to add the private namespace URI - that plug-in has specified through this call in the root node of the - DOM document, and also define a prefix for it so that plug-in should - use the prefix defined by Unidrv when it wishes to add any new node to - the Print Ticket under its private namespace. Plug-in should not define - its own prefix for this default private namespace URI. - -Arguments: - - pbstrNamespaceUri - OUT Pointer to namespace URI to be filled in and returned by plug-in - -Return Value: - - HRESULT - S_OK - On success - E_* - On failure - ---*/ - -STDMETHODIMP IOEMPTProvider::QueryDeviceDefaultNamespace -( - _Out_ BSTR * - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::QueryDeviceDefaultNamespace: entry.\r\n")); - - return E_NOTIMPL; -} - -/*++ - -Routine Name: - - ConvertPrintTicketToDevMode - -Routine Description: - - Unidrv will call this routine before it performs its part of PT->DM - conversion. The plug-in is passed with an input Print Ticket that is - fully populated, and Devmode which has default settings in it. For - this conversion, the plug-in needs to undo whatever changes it made to - the Print Ticket during Devmode->PT conversion. - -Arguments: - - pPrintTicket - pointer to input Print Ticket - cbDevmode - size in bytes of input full devmode - pDevmode - pointer to input full devmode buffer - cbDrvPrivateSize - buffer size in bytes of plug-in private devmode - pPrivateDevmode - pointer to plug-in private devmode buffer - - -Return Value: - - HRESULT - S_OK - On Success - E_* - On failure - ---*/ - -STDMETHODIMP IOEMPTProvider::ConvertPrintTicketToDevMode -( - _In_ IXMLDOMDocument2 *pPrintTicket, - ULONG cbDevmode, - _Inout_updates_bytes_(cbDevmode) - PDEVMODE pDevmode, - ULONG , // cbDrvPrivateSize - _Inout_ PVOID // pPrivateDevmode - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::ConvertPrintTicketToDevMode: entry.\r\n")); - - // - // cbDrvPrivateSize will be 0 because this plug-in doesn't - // support a private DEVMODE. - // - if (!cbDevmode || !pDevmode || !pPrintTicket) - { - return E_INVALIDARG; - } - - return S_OK; -} - -/*++ - -Routine Name: - - ConvertDevModeToPrintTicket - -Routine Description: - - Unidrv will call the routine with an Input Print - Ticket that is populated with public and Unidrv private features. For - those features in the GPD that Unidrv does not understand, it puts - them in the PT under the private namespace (either specified by the - plug-in through QueryDeviceDefaultNamespace or created by itself). It - is the plug-in's responsibility to read the corresponding features - from the input PT and put them in public printschema namespace, so - that any higher level application making use of a print ticket can - read and interpret these settings. - - -Arguments: - - cbDevmode - size in bytes of input full devmode - pDevmode - pointer to input full devmode buffer - cbDrvPrivateSize - buffer size in bytes of plug-in private devmode - pPrivateDevmode - pointer to plug-in private devmode buffer - pPrintTicket - pointer to input Print Ticket - -Return Value: - - HRESULT - S_OK - On Success - E_* - On failure - ---*/ -STDMETHODIMP IOEMPTProvider::ConvertDevModeToPrintTicket -( - ULONG cbDevmode, - _Inout_updates_bytes_(cbDevmode) - PDEVMODE pDevmode, - ULONG , // cbDrvPrivateSize - _Inout_ PVOID , // pPrivateDevmode, - _Inout_ IXMLDOMDocument2 *pPrintTicket - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::ConvertDevModeToPrintTicket: entry.\r\n")); - - // - // cbDrvPrivateSize will be 0 because this plug-in doesn't - // support a private DEVMODE. - // - if (!cbDevmode || !pDevmode || !pPrintTicket) - { - return E_INVALIDARG; - } - - HRESULT hr = S_OK; - - OEMPTXMLHandler opxh; - EIntentValue eIntentValue = printschema::photoprintingintent::None; - - // - // Initialize PrintTicketHandler - // - - hr = opxh.SetRoot(pPrintTicket, m_pCoreHelper); - - if (SUCCEEDED(hr)) - { - hr = ReadAndDeletePhotoPrintingIntent(opxh, eIntentValue); - } - - if (S_FALSE == hr) - { - hr = S_OK; - } - - return hr; -} - - -/*++ - -Routine Name: - - CompletePrintCapabilities - -Routine Description: - - Unidrv calls this routine with an input Device Capabilities Document - that is partially populated with Device capabilities information - filled in by Unidrv for features that it understands. The plug-in - needs to read any private features in the input Print Ticket, delete - them and add them back under Printschema namespace so that higher - level applications can understand them and make use of them. - -Arguments: - - pPrintTicket - pointer to input Print Ticket - pCapabilities - pointer to Device Capabilities Document. - -Return Value: - - HRESULT - S_OK - On Success - E_* - On failure - ---*/ -STDMETHODIMP IOEMPTProvider::CompletePrintCapabilities -( - _In_opt_ IXMLDOMDocument2 *, - _Inout_ IXMLDOMDocument2 *pCapabilities - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::CompletePrintCapabilities: entry.\r\n")); - - if (!pCapabilities) - { - return E_INVALIDARG; - } - - return S_OK; -} - -/*++ - -Routine Name: - - ExpandIntentOptions - -Routine Description: - - As part of its Merge and Validate Procedure, the - Unidrv/Postscript driver will call this routine to give the plug-in a - chance to expand options which represent intent into their individual - settings in other features in the print ticket. This has two - important effects: the client sees the results of the intent - expansion, and unidrv resolves constraints against the individual - features which are affected by the intent. - - If the plug-in does not support any intent features, then the plug-in - should simply return S_OK. - -Arguments: - - pPrintTicket - Pointer to input Print Ticket. - -Return Value: - - HRESULT - S_OK - On Success - E_* - On failure - ---*/ - -STDMETHODIMP IOEMPTProvider::ExpandIntentOptions( - _Inout_ IXMLDOMDocument2 *pPrintTicket - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::ExpandIntentOptions: entry.\r\n")); - - if (!pPrintTicket) - { - return E_INVALIDARG; - } - - HRESULT hr = S_OK; - OEMPTXMLHandler opxh; - - // - // Initialize PrintTicketHandler - // - - hr = opxh.SetRoot(pPrintTicket, m_pCoreHelper); - - // - // Read in the photo printing intent value, if it exists. If it - // doesn't, the default value of None is assumed instead. - // - - EIntentValue eIntentValue = printschema::photoprintingintent::None; - - if (SUCCEEDED(hr)) - { - hr = ReadAndDeletePhotoPrintingIntent(opxh, eIntentValue); - } - - if (S_FALSE == hr) - { - hr = S_OK; - } - - if (printschema::photoprintingintent::None != eIntentValue) - { - IOEMPTProvider::IntentConversionEntry entry = IOEMPTProvider::intentConversionTable[eIntentValue]; - - // - // Set appropriate values for PageMediaType and - // PageOutputQuality. Override any existing values of the - // options (by deleting before adding). - // - - if (SUCCEEDED(hr)) - { - hr = AddOrOverridePageMediaType(opxh, entry.pageMediaType); - } - - if (SUCCEEDED(hr)) - { - hr = AddOrOverridePageOutputQuality(opxh, entry.pageOutputQuality); - } - } - - return hr; -} - -/*++ - -Routine Name: - - ValidatePrintTicket - -Routine Description: - - The plug-in might need to delete any feature under private namespace - from input PT that are also in the public namespace because of Merge - and Validate. - - The Validate method should also perform any conflict resolution if - necessary looking at the settings made in public and unidrv private - part of Print Ticket, to make sure that the resultant Print Ticket is a - valid one, and has all constraints resolved. - -Arguments: - - pBaseTicket - Pointer to input Print Ticket. - -Return Value: - - HRESULT - S_NO_CONFLICT/S_CONFLICT_RESOLVED - On Success - E_* - On failure - ---*/ - -STDMETHODIMP IOEMPTProvider::ValidatePrintTicket( - _Inout_ IXMLDOMDocument2 *pPrintTicket - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::ValidatePrintTicket: entry.\r\n")); - - if (!pPrintTicket) - { - return E_INVALIDARG; - } - - // - // If the plug-in performs validation successfully, it needs to - // send either S_NO_CONFLICT or S_CONFLICT_RESOLVED as the result - // code, sending hr = S_OK will not work since Unidrv expects one - // of the above two success codes to interpret successful - // completion of plug-in validate method. - // - - return S_NO_CONFLICT; -} - -// -// Private stuff -// - -IOEMPTProvider::IntentConversionEntry IOEMPTProvider::intentConversionTable[] = -{ - { NULL, NULL, }, - { printschema::pagemediatype::PLAIN, printschema::pageoutputquality::DRAFT, }, - { printschema::pagemediatype::PHOTOGRAPHIC, printschema::pageoutputquality::HIGH, }, - { printschema::pagemediatype::PHOTOGRAPHIC, printschema::pageoutputquality::PHOTOGRAPHIC, }, -}; - -/*++ - -Routine Name: - - ReadAndDeletePhotoPrintingIntent - -Routine Description: - - This function gets the value of the Photo Printing Intent from a Print - Ticket and returns it in eIntentValue. It also deletes the entire - feature from the Ticket. - -Arguments: - - opxh - reference to input XMLHandler - eIntentValue - reference to output intent value - -Return Value: - - HRESULT - S_OK - On success, if intent was found - S_FALSE - On Success, if intent was not found - E_* - On failure - ---*/ - -HRESULT IOEMPTProvider::ReadAndDeletePhotoPrintingIntent( - OEMPTXMLHandler &opxh, - EIntentValue &eIntentValue - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::ReadAndDeletePhotoPrintingIntent: entry.\r\n")); - - HRESULT hr = S_OK; - - IXMLDOMElement *pPhotoPrintingIntentFeature = NULL; - IXMLDOMElement *pPhotoPrintingIntentOption = NULL; - - hr = opxh.GetFeatureNode(NULL, // meaning root is parent - printschema::KEYWORDS_URI, - printschema::photoprintingintent::FEATURE, - &pPhotoPrintingIntentFeature); - - // - // Check for S_OK == hr and not SUCCEEDED(hr) because - // GetFeatureNode returns S_FALSE if feature is not found - // - - if (S_OK == hr && pPhotoPrintingIntentFeature) - { - hr = opxh.GetOptionNode(pPhotoPrintingIntentFeature, - &pPhotoPrintingIntentOption); - } - - BSTR bstrIntentNamespace = NULL; - BSTR bstrIntentValue = NULL; - - if (S_OK == hr && pPhotoPrintingIntentOption) - { - hr = opxh.GetXMLAttribute(pPhotoPrintingIntentOption, &bstrIntentNamespace, &bstrIntentValue); - } - - if (S_OK == hr && NULL != bstrIntentNamespace) - { - if (0 != wcscmp(bstrIntentNamespace, printschema::KEYWORDS_URI)) - { - // - // We do not delete the node if it specifies a different - // namespace - // - hr = S_FALSE; - } - } - - // - // Search for intent, looping across all possible (valid) values, and store it in eIntentValue - // - - if (S_OK == hr && NULL != bstrIntentValue) - { - EIntentValue e = EIntentValue(0); - - for (; e < printschema::photoprintingintent::EIntentValueMax; ++e) - { - if (0 == wcscmp(bstrIntentValue, printschema::photoprintingintent::OPTIONS[e])) - { - eIntentValue = e; - break; - } - } - - if (printschema::photoprintingintent::EIntentValueMax == e) - { - // - // We do not delete the node if the attribute name - // in the Print Ticket is not one of the valid ones - // - hr = S_FALSE; - } - } - - // - // If found, delete intent - // - - if (S_OK == hr) - { - hr = opxh.DeleteFeatureNode(NULL, pPhotoPrintingIntentFeature); - } - - // - // Make sure all BSTRs are freed, ... - // - - if (bstrIntentNamespace) - { - SysFreeString(bstrIntentNamespace); - bstrIntentNamespace = NULL; - } - - if (bstrIntentValue) - { - SysFreeString(bstrIntentValue); - bstrIntentValue = NULL; - } - - // - // ... and interface pointers released - // - - if (pPhotoPrintingIntentFeature) - { - pPhotoPrintingIntentFeature->Release(); - } - - if (pPhotoPrintingIntentOption) - { - pPhotoPrintingIntentOption->Release(); - } - - return hr; -} - -/*++ - -Routine Name: - - AddOrOverridePageMediaType - -Routine Description: - - This routine takes in the value of the PageMediaType to be set, - depending on the intent that was present. It then deletes any existing - PageMediaType value in the ticket, and then adds the new PageMediaType - value. - -Arguments: - - opxh - reference to input XMLHandler - lpcwstrPageMediaType - input PageMediaType string - -Return Value: - - HRESULT - S_OK - On success - E_* - On failure - ---*/ - -HRESULT IOEMPTProvider::AddOrOverridePageMediaType( - OEMPTXMLHandler &opxh, - LPCWSTR lpcwstrPageMediaType - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::AddOrOverridePageMediaType: entry.\r\n")); - - HRESULT hr = S_OK; - - if (NULL == lpcwstrPageMediaType) - { - return S_OK; - } - - IXMLDOMElement *pPageMediaTypeOld = NULL; - IXMLDOMElement *pPageMediaTypeNew = NULL; - - // - // Search for, and delete any old PageMediaType option, since we're - // going to override it - // - - hr = opxh.GetFeatureNode(NULL, - printschema::KEYWORDS_URI, - printschema::pagemediatype::FEATURE, - &pPageMediaTypeOld); - - if (S_OK == hr) - { - hr = opxh.DeleteFeatureNode(NULL, pPageMediaTypeOld); - } - - // - // GetFeatureNode might have returned S_FALSE if it couldn't find - // such a node, so from now on, we check for SUCCEEDED - // - - // - // Create PageMediaType feature node - // - - if (SUCCEEDED(hr)) - { - hr = opxh.CreateFeatureNode(NULL, - printschema::KEYWORDS_URI, - printschema::pagemediatype::FEATURE, - &pPageMediaTypeNew); - } - - // - // Create option node under the feature node above - // - - if (SUCCEEDED(hr)) - { - hr = opxh.CreateOptionNode(pPageMediaTypeNew, - printschema::KEYWORDS_URI, - lpcwstrPageMediaType, - NULL); - } - - if (pPageMediaTypeOld) - { - pPageMediaTypeOld->Release(); - } - - if (pPageMediaTypeNew) - { - pPageMediaTypeNew->Release(); - } - - return hr; -} - -/*++ - -Routine Name: - - AddOrOverridePageOutputQuality - -Routine Description: - - This routine, similar to AddOrOverridePageMediaType, takes in the - value of the PageOutputQuality to be set, depending on the intent that - was present. It then deletes any existing PageOutputQuality value in - the ticket, and then adds the new PageOutputQuality value. - -Arguments: - - opxh - reference to input XMLHandler - lpcwstrPageOutputQuality - input PageOutputQuality string - -Return Value: - - HRESULT - S_OK - On success - E_* - On failure - ---*/ - -HRESULT IOEMPTProvider::AddOrOverridePageOutputQuality( - OEMPTXMLHandler &opxh, - LPCWSTR lpcwstrPageOutputQuality - ) -{ - VERBOSE(DLLTEXT("IOEMPTProvider::AddOrOverridePageOutputQuality: entry.\r\n")); - - HRESULT hr = S_OK; - - if (NULL == lpcwstrPageOutputQuality) - { - return S_OK; - } - - IXMLDOMElement *pPageOutputQualityOld = NULL; - IXMLDOMElement *pPageOutputQualityNew = NULL; - - // - // Search for, and delete any old PageOutputQuality option, since we're - // going to override it - // - - hr = opxh.GetFeatureNode(NULL, - printschema::KEYWORDS_URI, - printschema::pageoutputquality::FEATURE, - &pPageOutputQualityOld); - - if (S_OK == hr) - { - hr = opxh.DeleteFeatureNode(NULL, pPageOutputQualityOld); - } - - // - // GetFeatureNode might have returned S_FALSE if it couldn't find - // such a node, so from now on, we check for SUCCEEDED - // - - // - // Create PageOutputQuality feature node - // - - if (SUCCEEDED(hr)) - { - hr = opxh.CreateFeatureNode(NULL, - printschema::KEYWORDS_URI, - printschema::pageoutputquality::FEATURE, - &pPageOutputQualityNew); - } - - // - // Create option node under the feature node above - // - - if (SUCCEEDED(hr)) - { - hr = opxh.CreateOptionNode(pPageOutputQualityNew, - printschema::KEYWORDS_URI, - lpcwstrPageOutputQuality, - NULL); - } - - if (pPageOutputQualityOld) - { - pPageOutputQualityOld->Release(); - } - - if (pPageOutputQualityNew) - { - pPageOutputQualityNew->Release(); - } - - return hr; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx deleted file mode 100644 index 77b54be1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/oemptprovider.hxx +++ /dev/null @@ -1,143 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: oemptprovider.hxx -// -// -// PURPOSE: Definition of IOEMPTProvider Class. -// -// - -#pragma once - -#include "xmlhandler.hxx" -#include "printschema.hxx" - -using printschema::photoprintingintent::EIntentValue; - -// -// The Provider class to Implement IPrintOemPrintTicketProvider Interface -// - -class IOEMPTProvider : public IPrintOemPrintTicketProvider -{ -public: - - // - // Public Methods go here - // - IOEMPTProvider(); - virtual ~IOEMPTProvider(); - - // - // Basic COM Methods - // - STDMETHODIMP QueryInterface(THIS_ REFIID riid, void **ppvObj); - - STDMETHODIMP_(ULONG) AddRef(THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHODIMP_(ULONG) Release(THIS); - - - // - // IPrintOemPrintTicketProvider methods - // - - STDMETHOD(GetSupportedVersions)(THIS_ - _In_ HANDLE hPrinter, - _Outptr_result_buffer_maybenull_(*cVersions) INT *ppVersions[], - _Out_ INT *cVersions - ); - - STDMETHOD(BindPrinter)(THIS_ - _In_ HANDLE hPrinter, - INT version, - _Out_ POEMPTOPTS pOptions, - _Out_ INT *cNamespaces, - _Outptr_result_buffer_maybenull_(*cNamespaces) BSTR **ppNamespaces - ); - - STDMETHOD(PublishPrintTicketHelperInterface)(THIS_ - _In_ IUnknown *pHelper - ); - - STDMETHOD(QueryDeviceDefaultNamespace)(THIS_ - _Out_ BSTR *pbstrNamespaceUri - ); - - STDMETHOD(ConvertPrintTicketToDevMode)(THIS_ - _In_ IXMLDOMDocument2 *pPrintTicket, - ULONG cbDevmode, - _Inout_updates_bytes_(cbDevmode) - PDEVMODE pDevmode, - ULONG cbDrvPrivateSize, - _Inout_ PVOID pPrivateDevmode - ); - - STDMETHOD(ConvertDevModeToPrintTicket)(THIS_ - ULONG cbDevmode, - _Inout_updates_bytes_(cbDevmode) - PDEVMODE pDevmode, - ULONG cbDrvPrivateSize, - _Inout_ PVOID pPrivateDevmode, - _Inout_ IXMLDOMDocument2 *pPrintTicket - ); - - STDMETHOD(CompletePrintCapabilities)(THIS_ - _In_opt_ IXMLDOMDocument2 *pPrintTicket, - _Inout_ IXMLDOMDocument2 *pCapabilities - ); - - STDMETHOD(ExpandIntentOptions)(THIS_ - _Inout_ IXMLDOMDocument2 *pPrintTicket - ); - - STDMETHOD(ValidatePrintTicket)(THIS_ - _Inout_ IXMLDOMDocument2 *pPrintTicket - ); - -private: - - // - // Data members go here - // - LONG m_cRef; // COM reference count - HANDLE m_hPrinterCached; // cached printer handle - IPrintCoreHelperUni *m_pCoreHelper; // cached pointer to plug-in helper interface - - struct IntentConversionEntry - { - LPCWSTR pageMediaType; - LPCWSTR pageOutputQuality; - }; - - static IntentConversionEntry intentConversionTable[printschema::photoprintingintent::EIntentValueMax]; - - // - // Private Methods - // - - HRESULT ReadAndDeletePhotoPrintingIntent( - OEMPTXMLHandler &opxh, - EIntentValue &eIntentValue - ); - - HRESULT AddOrOverridePageMediaType( - OEMPTXMLHandler &opxh, - LPCWSTR lpcwstrPageMediaType - ); - - HRESULT AddOrOverridePageOutputQuality( - OEMPTXMLHandler &opxh, - LPCWSTR lpcwstrPageOutputQuality - ); - -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx deleted file mode 100644 index fc8cb4be..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precomp.hxx +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.hxx -// -// PURPOSE: Header files that should be in the precompiled header. -// - -#pragma once - -// Required header files that shouldn't change often. - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <windows.h> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <INITGUID.H> -#include <msxml6.h> -#include <string.h> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDI.H> -#include <WINDDIUI.H> - -#include <PRINTOEM.H> -#include <prdrvcom.h> -#include <prcomoem.h> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <intsafe.h> -#include <strsafe.h> - -#include "common.ver" - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp deleted file mode 100644 index 5d84a122..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.hxx"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx deleted file mode 100644 index d22ffc10..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.cxx +++ /dev/null @@ -1,64 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: printschema.cxx -// -// PURPOSE: Constant definitions for print schema names. -// -// - -#include "precomp.hxx" -#include "printschema.hxx" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -LPCWSTR printschema::FRAMEWORK_URI = - L"http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework"; - -LPCWSTR printschema::KEYWORDS_URI = - L"http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords"; - -// -// Element types defined in Printschema framework -// - -LPCWSTR printschema::FEATURE_ELEMENT_NAME = L"Feature"; -LPCWSTR printschema::OPTION_ELEMENT_NAME = L"Option"; -LPCWSTR printschema::NAME_ATTRIBUTE_NAME = L"name"; - -// -// Elements described as Printschema keywords -// - -LPCWSTR printschema::photoprintingintent::FEATURE = L"PagePhotoPrintingIntent"; -LPCWSTR printschema::photoprintingintent::OPTIONS[] = { L"None", L"PhotoDraft", L"PhotoStandard", L"PhotoBest", }; - -namespace printschema -{ - namespace photoprintingintent - { - // - // operator prefix increment - // - const EIntentValue & operator++(EIntentValue &e) - - { - e = (EIntentValue)(e + 1); - return e; - } - } -} - -LPCWSTR printschema::pagemediatype::FEATURE = L"PageMediaType"; -LPCWSTR printschema::pagemediatype::PLAIN = L"Plain"; -LPCWSTR printschema::pagemediatype::PHOTOGRAPHIC = L"Photographic"; - -LPCWSTR printschema::pageoutputquality::FEATURE = L"PageOutputQuality"; -LPCWSTR printschema::pageoutputquality::DRAFT = L"Draft"; -LPCWSTR printschema::pageoutputquality::HIGH = L"High"; -LPCWSTR printschema::pageoutputquality::PHOTOGRAPHIC = L"Photographic"; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx deleted file mode 100644 index e6bd73b4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/printschema.hxx +++ /dev/null @@ -1,74 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: printschema.hxx -// -// PURPOSE: Constant declarations for print schema names. -// - -#pragma once - -typedef -enum tagPrintschemaVersion -{ - PRINTSCHEMA_VERSION_NUMBER = 1 -} EPrintschemaVersion; - - -namespace printschema -{ - - extern LPCWSTR FRAMEWORK_URI; - - extern LPCWSTR KEYWORDS_URI; - - // - // Element types defined in Printschema framework - // - - extern LPCWSTR FEATURE_ELEMENT_NAME; - extern LPCWSTR OPTION_ELEMENT_NAME; - extern LPCWSTR NAME_ATTRIBUTE_NAME; - - // - // Elements described as Printschema keywords - // - - namespace photoprintingintent - { - extern LPCWSTR FEATURE; - - enum EIntentValue - { - None = 0, - Draft, - Standard, - Best, - EIntentValueMax, // size of enum list - }; - - extern LPCWSTR OPTIONS[EIntentValueMax]; - - const EIntentValue & operator++(EIntentValue &e); - } - - namespace pagemediatype - { - extern LPCWSTR FEATURE; - extern LPCWSTR PLAIN; - extern LPCWSTR PHOTOGRAPHIC; - } - - namespace pageoutputquality - { - extern LPCWSTR FEATURE; - extern LPCWSTR DRAFT; - extern LPCWSTR HIGH; - extern LPCWSTR PHOTOGRAPHIC; - } - -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def deleted file mode 100644 index 20165c2d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY PTPCPLPR -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc deleted file mode 100644 index c40881de..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/ptpcplpr.rc +++ /dev/null @@ -1,24 +0,0 @@ -#include "winres.h" -#include <ntverp.h> - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT2_UNKNOWN -#define VER_FILEDESCRIPTION_STR "PT/PC Plugin Provider Module" -#define VER_INTERNALNAME_STR "PTPCPlPr" -#define VER_ORIGINALFILENAME_STR "PTPCPlPr.dll" - -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - -#include "common.ver" diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx deleted file mode 100644 index 4bbee2e8..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.cxx +++ /dev/null @@ -1,1612 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: xmlhandler.cxx -// -// -// PURPOSE: Helper Class that handles all functionality related to -// processing of input PrintTicket/PrintCapabilities XML documents. -// -// -// Functions: Public and Private functions of class OEMPTXMLHandler. -// - -#include "precomp.hxx" - -#include "globals.hxx" -#include "printschema.hxx" -#include "xmlhandler.hxx" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//Disable the warnings generated by PFEFAST for conversion between wchar_t * and BSTR -//because MSXML defines all its interfaces parameters as BSTR but officially declares itself -//to be wchar_t safe. - -#pragma prefast(disable:__WARNING_WCHAR_TO_BSTR) - -// -// MSXML makes the guarantee that we can call it's methods with LPTSTRs instead -// of BSTRs, so we need to do a const cast whenever we pass our strings to MSXML. -// -#define MSXMLSTR(lptstr_value) (const_cast<BSTR>(lptstr_value)) - -/*++ -Routine Name: - OEMPTXMLHandler -Routine Description: - Print Ticket Handler Constructor - - -Arguments: - None - -Return Value: - None - ---*/ - -OEMPTXMLHandler::OEMPTXMLHandler() : - m_pRootDocument(NULL), - m_pRootElement(NULL), - m_pNSManager(NULL), - m_dwNextIndex(0) -{ -} - -/*++ -Routine Name: - ~OEMPTXMLHandler( -Routine Description: - Print Ticket Handler Destructor - -Arguments: - None - -Return Value: - None - ---*/ - -OEMPTXMLHandler::~OEMPTXMLHandler() -{ - if (m_pRootDocument) - { - m_pRootDocument->Release(); - m_pRootDocument = NULL; - } - if (m_pRootElement) - { - m_pRootElement->Release(); - m_pRootElement = NULL; - } - if (m_pNSManager) - { - m_pNSManager->Release(); - m_pNSManager = NULL; - } -} - -/*++ -Routine Name: - SetRoot - -Routine Description: - - Initialization routine. Sets root of the DOM tree. Alos creates an instance of xml namespace manager - using plug-in helper interface method. - - Note: This routine MUST BE called before any other xml handling routines are called. - Note also that it is not necessary to call CoInitializeEx because Unidrv has already - made that call while creating the DOM tree with appropriate arguments passed on to it - and when Unidrv makes a call to one of plug-in interface routines, since plug-in is - running in the same thread, it does not need to make that call again - In fact the plug-in SHOULD NOT make that call to CoInitializeEx , because Unidrv must have made - that call with some particular concurrency model settings which plug-in cannot find out, - so the plug-in might end up changing the concurrency setting made by Unidrv. - -Arguments: - pRoot - Root of the input DOM tree. - - -Return Value: - HRESULT Completion status code - ---*/ -HRESULT -OEMPTXMLHandler::SetRoot( - _In_ IXMLDOMDocument2 *pRoot, - _In_ IPrintCoreHelper *pHelper - ) -{ - HRESULT hr = S_OK; - - // - // check if input paramters are not NULL - // - if (!pRoot || !pHelper) - { - return E_INVALIDARG; - } - - m_pRootDocument = pRoot; - - m_pRootDocument->AddRef(); - - - // - // Make use of Plug-in Helper Interface method provided by Unidrv to create an Instance of MSXML Namespace Manager. - // The plug-in must make use of Helper Interface provided by Unidrv while creating instance of namespacemanager - // of MSXML DOM document, the plug-in should not load MSXML6.DLL by itself but should rely on Unidrv for - // doing that - // - if (SUCCEEDED(hr)) - { - // - // Note: Current versions of Unidrv support MSXML6 hence plug-in should also support that and write its - // code in compliance with MSXML6 - // - hr = pHelper->CreateInstanceOfMSXMLObject(CLSID_MXNamespaceManager60, NULL, NULL, IID_IMXNamespaceManager, (void**)&m_pNSManager); - } - - // - // Get the Root Element of the document and store it in pRootElement. - // - if (SUCCEEDED(hr)) - { - hr = m_pRootDocument->get_documentElement(&m_pRootElement); - } - - if (FAILED(hr)) - { - if (m_pRootDocument) - { - m_pRootDocument->Release(); - m_pRootDocument = NULL; - } - - if (m_pRootElement) - { - m_pRootElement->Release(); - m_pRootElement = NULL; - } - - if (m_pNSManager) - { - m_pNSManager->Release(); - m_pNSManager = NULL; - } - } - - return hr; -} - -/*++ -Routine Name: - CreateFeatureNode - -Routine Description: - - Creates a new Feature Node - -Arguments: - pParent - parent node of the new feature node, if NULL, root is considered as parent - pszNamespaceURI - namesapce URI to which new node belongs - pszFeatureName - local name of the new feature node - ppFeatureNode - out pointer to newly created node - -Return Value: - HRESULT Completion status code - S_OK on success - E_* on failure - ---*/ - -HRESULT OEMPTXMLHandler::CreateFeatureNode( - _In_opt_ IXMLDOMElement *pParent, - _In_ PCWSTR pszNamespaceURI, - _In_ PCWSTR pszFeatureName, - _Out_opt_ IXMLDOMElement **ppFeatureNode - ) -{ - HRESULT hr = S_OK; - IXMLDOMElement *pNewElement = NULL; - BSTR qName = NULL; - - if (!pszFeatureName) - { - return E_INVALIDARG; - } - - if (!pParent) - { - pParent = m_pRootElement; - } - - - hr = CreateXMLElement(pParent, printschema::FEATURE_ELEMENT_NAME, printschema::FRAMEWORK_URI, &pNewElement); - - if (SUCCEEDED(hr)) - { - hr = CreateQName(pNewElement, pszNamespaceURI, pszFeatureName, &qName); - } - - if (SUCCEEDED(hr)) - { - - // The 'name' attibute node is not namespace qualified; it - // belongs to the namespace of its parent (feature/option) - // node. - - hr = CreateXMLAttribute(pNewElement, printschema::NAME_ATTRIBUTE_NAME, L"", qName); - } - - if (qName) - { - SysFreeString(qName); - qName = NULL; - } - - if (SUCCEEDED(hr) && ppFeatureNode) - { - *ppFeatureNode = pNewElement; - } - else if (pNewElement) - { - pNewElement->Release(); - } - - return hr; - -} - -/*++ -Routine Name: - CreateOptionNode - -Routine Description: - - Creates a new Option Node - -Arguments: - pParent - parent node of the new Option node - pszNamespaceURI - namesapce URI to which new node belongs - pszFeatureName - local name of the new Option node - ppOptionElement - out pointer to newly created node - -Return Value: - HRESULT Completion status code - S_OK on success - E_* on failure - ---*/ - -HRESULT OEMPTXMLHandler::CreateOptionNode( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszNamespaceURI, //print schema URI that corresponds to prefix "prn:" - _In_ PCWSTR pszOptionName, //"TopLeft" etc - _Out_opt_ IXMLDOMElement **ppOptionElement - ) -{ - HRESULT hr = S_OK; - IXMLDOMElement *pNewElement = NULL; - BSTR qName = NULL; - - if (!pParent) - { - return E_INVALIDARG; - } - - hr = CreateXMLElement(pParent, printschema::OPTION_ELEMENT_NAME, printschema::FRAMEWORK_URI, &pNewElement); - - if (SUCCEEDED(hr)) - { - hr = CreateQName(pNewElement, pszNamespaceURI, pszOptionName, &qName); - } - - if (SUCCEEDED(hr)) - { - // The 'name' attibute node is not namespace qualified; it - // belongs to the namespace of its parent (feature/option) - // node. - - hr = CreateXMLAttribute(pNewElement, printschema::NAME_ATTRIBUTE_NAME, L"", qName); - } - - if (qName) - { - SysFreeString(qName); - qName = NULL; - } - - if (SUCCEEDED(hr) && ppOptionElement) - { - *ppOptionElement = pNewElement; - } - else if (pNewElement) - { - pNewElement->Release(); - } - - return hr; -} - -/*++ -Routine Name: - CreateXMLElement - -Routine Description: - Generic method to create new XML element node - -Arguments: - - pParent - pointer to the parent node of the new nod eto be created, if NULL root of DOM tree is considered as parent - pszElementName - local name of the newly created element - pszNamespaceURI - namespace URI that the new element belongs to, the caller can only specify the namespace URI - and not the prefix - ppCreatedElement - double pointer to the newly created element returned by the procedure - -Return Value: - HRESULT Completion status code - S_OK - If the new element node is created successfully - E_* - on failure - ---*/ - -HRESULT OEMPTXMLHandler::CreateXMLElement( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszElementName, - _In_ PCWSTR pszNamespaceURI, - _Out_ IXMLDOMElement **ppCreatedElement - ) -{ - HRESULT hr = S_OK; - IXMLDOMNode *pNewNode = NULL; - BSTR bstrQName = NULL; - - if (!pParent || !pszElementName || !pszNamespaceURI || !ppCreatedElement) - { - return E_INVALIDARG; - } - - // - // create XML Qname - // - hr = CreateQName(pParent, pszNamespaceURI, pszElementName, &bstrQName); - - if (SUCCEEDED(hr)) - { - VARIANT nodeType; - VariantInit(&nodeType); - V_VT(&nodeType) = VT_I4; - V_I4(&nodeType) = NODE_ELEMENT; - hr = m_pRootDocument->createNode(nodeType, bstrQName, MSXMLSTR(pszNamespaceURI), &pNewNode); - if (SUCCEEDED(hr)) - VariantClear(&nodeType); - } - - if (SUCCEEDED(hr)) - hr = pParent->appendChild(pNewNode, NULL); - - - if (SUCCEEDED(hr)) - { - // - // we need to return Interface ptr to IXMLDOMElement. - // - hr = pNewNode->QueryInterface(IID_IXMLDOMElement, (void **)ppCreatedElement); - - // - // if interface is not supported, E_* will be returned in hr, - // we simply return that to the caller. - // - } - - if (pNewNode) - { - // - // release reference to local node Created since it is no longer being used - // - pNewNode->Release(); - } - - if (bstrQName) - { - SysFreeString(bstrQName); - bstrQName = NULL; - } - - return hr; - -} - -/*++ -Routine Name: - CreateQName - -Routine Description: - - Creates XML qname for given local name and namespace URI - Note: It is assumed that a prefix for given URI is already defined in root of DOM document - either by Unidrv or by plug-in itself. - Routine fails if it doesnot find a predefined prefix for given URI. - -Arguments: - pElement - context node - pszUri - Uri - pszLocalName - local name - pQName - a pointer to resultant qname string defined by the routine - -Return Value: - HRESULT Completion status code - - S_OK - On success - E_FAIL - on failure to create Qname - ---*/ -HRESULT OEMPTXMLHandler::CreateQName( - _In_ IXMLDOMElement *pElement, - _In_ PCWSTR pszUri, - _In_ PCWSTR pszLocalName, - _Out_ BSTR *pQName - ) -{ - HRESULT hr = S_OK; - BSTR bstrPrefixString = NULL; - size_t prefixLen = 0; - // Is it the default namespace? If so, don't stick a semicolon in the string - size_t localNameLen = 0; - - if (!pszUri || !pszLocalName || !pQName) - { - return E_INVALIDARG; - } - - *pQName = NULL; - - // - // See if a prefix is already defined for the given URI - // - - hr = getPrefix(pElement, pszUri, &bstrPrefixString); - - // - // It is possible that during validation the prefix might not - // already be defined if we're converting public features to GPD - // features. In that case, we need to add a definition for the - // feature namespace. - // - - if (S_FALSE == hr) - { - hr = declarePrefix(pElement, pszUri, NULL, &bstrPrefixString); - } - - if (SUCCEEDED(hr)) - { - // - // StrSafe function StringCchLength checks if the length of string is less than - // maximum length specified, and returns S_OK if the input string is non NULL and - // length is less that maximum length specified. - // It returns length of string EXCLUDING null terminator - // - hr = StringCchLength(pszLocalName, STR_MAX_CCH, &localNameLen); - } - - if (SUCCEEDED(hr)) - { - if (bstrPrefixString) - { - hr = StringCchLength(bstrPrefixString, STR_MAX_CCH, &prefixLen); - } - } - - if (SUCCEEDED(hr)) - { - if (prefixLen > 0) - { - // non-default namespace - - UINT cchLength = 0; - - if (SUCCEEDED(hr = SizeTAdd(prefixLen, localNameLen, &localNameLen)) && - SUCCEEDED(hr = SizeTAdd(localNameLen, 2, &localNameLen)) && - SUCCEEDED(hr = SizeTToUInt(localNameLen, &cchLength))) - { - - *pQName = SysAllocStringLen(NULL, cchLength); - - if (*pQName) - { - // we got a terminator character as part of SysAllocString. - hr = StringCchPrintf(*pQName, cchLength, L"%s:%s", bstrPrefixString, pszLocalName); - } - else - { - hr = E_OUTOFMEMORY; - } - } - } - else - { - // Default namespace ... - - UINT cchLength = 0; - - if (SUCCEEDED(hr = SizeTAdd(localNameLen, 1, &localNameLen)) && - SUCCEEDED(hr = SizeTToUInt(localNameLen, &cchLength))) - { - *pQName = SysAllocStringLen(NULL, cchLength); - - if (*pQName) - { - // we got a terminator character as part of SysAllocString. - hr = StringCchPrintf(*pQName, cchLength, L"%s", pszLocalName); - } - else - { - hr = E_OUTOFMEMORY; - } - } - } - } - - if (bstrPrefixString) - { - SysFreeString(bstrPrefixString); - bstrPrefixString = NULL; - } - - if (FAILED(hr)) - { - if (*pQName) - { - SysFreeString(*pQName); - *pQName = NULL; - } - } - - return hr; -} - -/*++ -Routine Name: - CreateXMLAttribute - -Routine Description: - Creates an attribute for the given XML element. - -Arguments: - - pElement - pointer to the element node to which an attribute is to be added - pszAttributeName - local name of the attribute - pszNamespaceURI - namespace URI to which the attribute belongs - pszAttributeValue - value of the attribute - -Return Value: - HRESULT Completion status code - S_OK - on success - E_* - on failure - ---*/ - -HRESULT OEMPTXMLHandler::CreateXMLAttribute( - _In_ IXMLDOMElement *pElement, - _In_ PCWSTR pszAttributeName, //"name=" - _In_ PCWSTR pszNamespaceURI, //"pt:" - _In_ PCWSTR pszAttributeValue //"prn:" - ) -{ - HRESULT hr = S_OK; - IXMLDOMAttribute *pNewAttribute = NULL ; - IXMLDOMNode *pNewNode = NULL ; - - if (!pElement || !pszAttributeName || ! pszNamespaceURI || !pszAttributeValue) - { - return E_INVALIDARG; - } - - VARIANT nodeType; - VariantInit(&nodeType); - V_VT(&nodeType) = VT_I4; - V_I4(&nodeType) = NODE_ATTRIBUTE; - hr = m_pRootDocument->createNode(nodeType, MSXMLSTR(pszAttributeName), MSXMLSTR(pszNamespaceURI), &pNewNode); - if (SUCCEEDED(hr)) - VariantClear(&nodeType); - - if (SUCCEEDED(hr)) - { - hr = pNewNode->QueryInterface(IID_IXMLDOMAttribute, (void **)&pNewAttribute); - } - - if (SUCCEEDED(hr)) - { - VARIANT attrType; - VariantInit(&attrType); - V_VT(&attrType) = VT_BSTR; - V_BSTR(&attrType) = SysAllocString(pszAttributeValue); - hr = pNewAttribute->put_value(attrType); - if (SUCCEEDED(hr)) - VariantClear(&attrType); - } - - if (SUCCEEDED(hr)) - { - hr = pElement->setAttributeNode(pNewAttribute, NULL); - } - - if (SUCCEEDED(hr)) - { - if (pNewAttribute) - { - pNewAttribute->Release(); - } - - } - else if (pNewAttribute) - pNewAttribute->Release(); - - if (pNewNode) - pNewNode->Release(); - - return hr; -} - -/*++ -Routine Name: - GetXMLElement -Routine Description: - Returns an XML element with given namespace URI and given attribute - -Arguments: - - pParent - Parent of node to be found - pszElementNamespaceURI - Namespace URI to which the element belongs - pszElementName - Local Name of the element - pszAttrNamespaceURI - Namespace URI to which the attribute of the element belongs - pszAttrName - local name of the element attribute - ppElement - out pointer to xml element so retrieved - -Return Value: - HRESULT Completion status code - S_OK - On Successfully locating XML node specified - S_FALSE - If the specified XML node is not found - E_* - On Failure - - Note: Since the module returns S_FALSE if the specified node is not found, the caller must be - careful to check hr status to be S_OK before proceeding, just checking for SUCCEEDED(hr) might - give wrong results - ---*/ -HRESULT OEMPTXMLHandler::GetXMLElement( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszElementNamespaceURI, - _In_ PCWSTR pszElementName, - _In_ PCWSTR pszAttrNamespaceURI, - _In_ PCWSTR pszAttrName, - _Outptr_result_maybenull_ IXMLDOMElement **ppElement - ) const -{ - HRESULT hr = S_OK; - LONG cChildren = 0; - IXMLDOMNodeList *pChildren = NULL; - - - if (!pParent || !pszElementNamespaceURI || !pszElementName || !pszAttrNamespaceURI || !pszAttrName) - { - return E_INVALIDARG; - } - - *ppElement = NULL; - - // - // Get a list of child nodes for the current DOM node - // - hr = pParent->get_childNodes(&pChildren); - - // - // Get number of child nodes - // - if (SUCCEEDED(hr)) - { - hr = pChildren->get_length(&cChildren); - } - - if (SUCCEEDED(hr)) - { - LONG i = 0; - BOOL bFound = FALSE; - - for(i = 0;i < cChildren && !bFound;i++) - { - IXMLDOMNode *pCurNode; - IXMLDOMElement *pCurElement = NULL; - - hr = pChildren->get_item(i, &pCurNode); - - if (SUCCEEDED(hr)) - { - hr = pCurNode->QueryInterface(IID_IXMLDOMElement, (void **)&pCurElement); - } - if (S_OK == hr) - { - BSTR bstrElementName = NULL; - BSTR bstrElementNamespaceURI = NULL; - - // - // retrieve element name and namespace URI - // - hr = pCurElement->get_baseName(&bstrElementName); - - if (SUCCEEDED(hr)) - { - hr = pCurElement->get_namespaceURI(&bstrElementNamespaceURI); - } - - if (SUCCEEDED(hr) && bstrElementNamespaceURI && bstrElementName) - { - - if (0 == wcscmp(bstrElementName, pszElementName) && 0 == wcscmp(bstrElementNamespaceURI, pszElementNamespaceURI)) - { - // - //check if element name matches - // - BSTR bstrAttrName = NULL; - BSTR bstrAttrNamespaceURI = NULL; - hr = GetXMLAttribute(pCurElement,&bstrAttrNamespaceURI,&bstrAttrName); - if (SUCCEEDED(hr) && bstrAttrName && bstrAttrNamespaceURI) - { - if (0 == wcscmp(bstrAttrName, pszAttrName) && 0 == wcscmp(pszAttrNamespaceURI, bstrAttrNamespaceURI)) - { - bFound = TRUE; - *ppElement = pCurElement; - (*ppElement)->AddRef(); - } - else - { - hr = S_FALSE; - } - } - - SysFreeString(bstrAttrName); - bstrAttrName = NULL; - - SysFreeString(bstrAttrNamespaceURI); - bstrAttrNamespaceURI = NULL; - } - } - - SysFreeString(bstrElementName); - bstrElementName = NULL; - - SysFreeString(bstrElementNamespaceURI); - bstrElementNamespaceURI = NULL; - - if (pCurElement) - { - pCurElement->Release(); - } - } - - if (pCurNode) - { - pCurNode->Release(); - } - } - } - - if (pChildren) - pChildren->Release(); - - if (SUCCEEDED(hr) && (*ppElement)) - { - hr = S_OK; - } - else - { - hr = S_FALSE; - } - - return hr; - -} - -/*++ -Routine Name: - GetXMLElementWithoutAttribute - -Routine Description: - Returns an XML element with given namespace URI. - -Arguments: - - pParent - Parent of node to be found - pszElementNamespaceURI - Namespace URI to which the element belongs - pszElementName - Local Name of the element - ppChildElement - out pointer to xml element so retrieved - -Return Value: - HRESULT Completion status code - S_OK - On Successfully locating XML node specified - S_FALSE - If the specified XML node is not found - E_* - On Failure - - Note: Since the module returns S_FALSE if the specified node is not found, the caller must be - careful to check hr status before proceeding, just checking for SUCCEEDED(hr) might - give wrong results - ---*/ -HRESULT OEMPTXMLHandler::GetXMLElementWithoutAttribute( - _In_ IXMLDOMElement *pContext, - _In_ PCWSTR pszElementNamespace, - _In_ PCWSTR pszElementName, - _Outptr_result_maybenull_ IXMLDOMElement **ppChildElement - ) const -{ - if (!pContext || !pszElementName || !pszElementNamespace || !ppChildElement) - { - return E_INVALIDARG; - } - - HRESULT hr = S_OK; - LONG cChildren = 0; - IXMLDOMNodeList *pContextChildren; - *ppChildElement = NULL; - - // - // Get the list of child nodes - // - hr = pContext->get_childNodes(&pContextChildren); - - if (SUCCEEDED(hr)) - hr = pContextChildren->get_length(&cChildren); - - if (SUCCEEDED(hr)) - { - for(LONG i = 0;i < cChildren && !(*ppChildElement);i++) - { - - IXMLDOMNode *pCurrentNode; - IXMLDOMElement *pCurrentElement; - hr = pContextChildren->get_item(i, &pCurrentNode); - - // - // See if its a DOM Element. Don't set hr here because we - // fully expect that not everything in the context is an element. - // - if (SUCCEEDED(hr) && S_OK == pCurrentNode->QueryInterface(IID_IXMLDOMElement, (void**)&pCurrentElement)) - { - BSTR pbstrBaseName = NULL; - BSTR pbstrNamespaceURI = NULL; - - hr = pCurrentElement->get_baseName(&pbstrBaseName); - - if (SUCCEEDED(hr)) - { - hr = pCurrentElement->get_namespaceURI(&pbstrNamespaceURI); - } - if (SUCCEEDED(hr) && - pbstrNamespaceURI && - pbstrBaseName && - 0 == wcscmp(pbstrNamespaceURI, pszElementNamespace) && - 0 == wcscmp(pbstrBaseName, pszElementName)) - { - *ppChildElement = pCurrentElement; - (*ppChildElement)->AddRef(); - } - - pCurrentElement->Release(); - - SysFreeString(pbstrBaseName); - pbstrBaseName = NULL; - - SysFreeString(pbstrNamespaceURI); - pbstrNamespaceURI = NULL; - } - - if (pCurrentNode) - { - pCurrentNode->Release(); - } - } - } - - if (pContextChildren) - { - pContextChildren->Release(); - } - - if (SUCCEEDED(hr)) - { - if (*ppChildElement) - { - hr = S_OK; - } - else - { - hr = S_FALSE; - } - } - - return hr; -} - -/*++ -Routine Name: - GetXMLAttribute - -Routine Description: - Returns an XML Attribute node with given namespace URI. - -Arguments: - - pParent - Parent of node to be found - pszAttrNamespaceURI - Namespace URI to which the attribute belongs - pszAttrName - Local Name of the attribute - ppChildElement - out pointer to xml node so retrieved - -Return Value: - HRESULT Completion status code - S_OK - On Success - E_* - On Failure - ---*/ -HRESULT OEMPTXMLHandler::GetXMLAttribute( - _In_ IXMLDOMElement *pElement, - _Outptr_result_maybenull_ BSTR *ppAttrNamespaceURI, - _Outptr_result_maybenull_ BSTR *ppAttrName - ) const -{ - HRESULT hr = S_OK; - IXMLDOMNamedNodeMap *pAttrMap = NULL; - IXMLDOMNode *pAttrNode = NULL; - - if (!pElement || !ppAttrNamespaceURI || !ppAttrName) - { - return E_INVALIDARG; - } - - *ppAttrNamespaceURI = NULL; - *ppAttrName = NULL; - - hr = pElement->get_attributes(&pAttrMap); - - if (SUCCEEDED(hr)) - { - hr = pAttrMap->getNamedItem(MSXMLSTR(printschema::NAME_ATTRIBUTE_NAME),&pAttrNode); - } - - if (S_OK == hr) - { - BSTR bstrAttrQName = NULL; - IXMLDOMAttribute *pAttribute = NULL; - - hr = pAttrNode->QueryInterface(IID_IXMLDOMAttribute, (void **)&pAttribute); - - if (SUCCEEDED(hr)) - hr = pAttribute->get_text(&bstrAttrQName); - - if (S_OK == hr && bstrAttrQName) - hr = getUri(pElement, bstrAttrQName, ppAttrNamespaceURI); - - if (S_OK == hr && bstrAttrQName) - hr = getLocalName(bstrAttrQName, ppAttrName); - - if (pAttribute) - pAttribute->Release(); - - if (bstrAttrQName) - { - SysFreeString(bstrAttrQName); - bstrAttrQName = NULL; - } - } - - if (pAttrMap) - pAttrMap->Release(); - if (pAttrNode) - pAttrNode->Release(); - - if (FAILED(hr)) - { - if (*ppAttrNamespaceURI) - { - SysFreeString(*ppAttrNamespaceURI); - *ppAttrNamespaceURI = NULL; - } - if (*ppAttrName) - { - SysFreeString(*ppAttrName); - *ppAttrName = NULL; - } - } - return hr; -} - -/*++ -Routine Name: - GetFeatureNode - -Routine Description: - - Returns the feature node with specified attribute under printschema namespace - -Arguments: - pParent - parent node of the feature node to be located - pszAttrNamespaceURI - namespace URI for the attribute node of given feature node - pszAttrName - attribute name for given feature node - ppElement - OUT pointer to feature node to be returned - -Return Value: - HRESULT Completion status code - S_OK - On Successfully locating Feature node - S_FALSE - If Feature node is not found - E_* - On Failure - - ---*/ -HRESULT OEMPTXMLHandler::GetFeatureNode( - _In_opt_ IXMLDOMElement *pParent, - _In_ PCWSTR pszAttrNamespaceURI, - _In_ PCWSTR pszAttrName, - _Out_ _When_(return == S_FALSE, _At_(*ppElement, _Post_maybenull_)) - _When_(return != S_FALSE, _At_(*ppElement, _Post_valid_)) - IXMLDOMElement **ppElement - ) const -{ - HRESULT hr = S_OK; - - // - // If no parent is specified, set root of DOM tree as parent - // - if (!pParent) - { - pParent = m_pRootElement; - } - - hr = GetXMLElement(pParent, printschema::FRAMEWORK_URI, printschema::FEATURE_ELEMENT_NAME, pszAttrNamespaceURI, pszAttrName, ppElement); - - return hr; -} - -/*++ -Routine Name: - GetOptionNode - -Routine Description: - - Returns the option node under printschema namespace - -Arguments: - pParent - parent node of the option node to be located - ppElement - OUT pointer to option node to be returned - -Return Value: - HRESULT Completion status code - S_OK - On Successfully locating Option node - S_FALSE - If Option node is not found - E_* - On Failure - ---*/ -HRESULT -OEMPTXMLHandler::GetOptionNode( - _In_ IXMLDOMElement *pParent, - _Outptr_result_maybenull_ IXMLDOMElement **ppElement - ) const -{ - return GetXMLElementWithoutAttribute(pParent, printschema::FRAMEWORK_URI, printschema::OPTION_ELEMENT_NAME, ppElement); -} - -/*++ - -Routine Name: - getLocalName -Routine Description: - Returns Local name for input XML Qname. - -Arguments: - pszQName - Qname for which local name is to be found out - ppbstrLocalName - OUT pointer to local name - -Return Value: - HRESULT Completion status code - S_OK - On Success - E_* - On Failure - ---*/ -HRESULT -OEMPTXMLHandler::getLocalName( - _In_ PCWSTR pszQName, - _Out_ BSTR *ppbstrLocalName - ) const -{ - HRESULT hr = S_OK; - - if (!pszQName || !ppbstrLocalName) - { - return E_INVALIDARG; - } - - *ppbstrLocalName = NULL; - - PCWSTR pszStartPos = wcschr(pszQName,L':'); - - if (pszStartPos) - { - pszStartPos++; - } - else - { - pszStartPos = pszQName; - } - - *ppbstrLocalName = SysAllocString(pszStartPos); - - if (!(*ppbstrLocalName)) - { - hr = E_OUTOFMEMORY; - } - - return hr; -} - - -/*++ -Routine Name: - getUri -Routine Description: - Returns namespace URI for given input Qname and in context of given XML DOM node. -Arguments: - pContext - Input XML DOM node for current context - pszQName - input qname - pbstrURI - OUT pointer to URI to be returned -Return Value: - - S_OK if found - S_FALSE if not found - E_OUTOFMEMORY if the string could not be allocated - E_INVALIDARG if a non-optional param is null. - -Notes: - - This routine assumes that the string has already been - validated, which should have happened in the managed code base. - The string should either be of the form "prefix:localname", - or "localname" - ---*/ -HRESULT -OEMPTXMLHandler::getUri( - IXMLDOMElement *pContext, - _In_ PCWSTR pszQName, - _Out_ BSTR *pbstrURI - ) const - -{ - HRESULT hr = S_OK; - BOOL bNodePushed = FALSE; - - if (!(pContext && pbstrURI && pszQName)) - { - return E_INVALIDARG; - } - - PWSTR pszSplitPos = (_TCHAR*) wcschr(pszQName, L':'); - INT cchUri = 0; - *pbstrURI = NULL; - - // - // if splitpos is null, then there is no namespace - // prefix, which means return the default namespace. - // - wchar_t wchSwapChar = L'\0'; - if (pszSplitPos) - { - wchSwapChar = *pszSplitPos; - *pszSplitPos = (wchar_t)0; - } - else - { - pszQName = L""; - } - - hr = m_pNSManager->pushNodeContext(pContext, TRUE); - - if (SUCCEEDED(hr)) - { - bNodePushed = TRUE; - // get the length first, then alloc the string -#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.") - hr = m_pNSManager->getURI(pszQName, NULL, NULL, &cchUri); - } - - if (S_OK == hr) - { - if (SUCCEEDED(hr)) - { - // account for null terminator - cchUri += 1; - - *pbstrURI = SysAllocStringLen(NULL, cchUri); - if (!(*pbstrURI)) - { - hr = E_OUTOFMEMORY; - } - } - - if (SUCCEEDED(hr)) - { - hr = m_pNSManager->getURI(pszQName, NULL, *pbstrURI, &cchUri); - } - - if (pszSplitPos) - { - *pszSplitPos = wchSwapChar; - } - - if (FAILED(hr) && (*pbstrURI)) - { - SysFreeString(*pbstrURI); - *pbstrURI = NULL; - } - } - - if (bNodePushed) - { - hr = m_pNSManager->popContext(); - } - - return hr; -} - -/*++ - -Routine Name: - getPrefix -Routine Description: - - Returns predefined Prefix for the input namespace URI if one already exists - -Arguments: - pContext - Current context node - pszUri - namespace URI for which prefix is to be obtained - pbstrPrefix - prefix string to be returned, if NULL routine just checks for - existence of prefix - -Return Value: - HRESULT Completion status code - S_OK - on success - S_FALSE - on failure - ---*/ -HRESULT -OEMPTXMLHandler::getPrefix( - _In_ IXMLDOMElement *pContext, - _In_ PCWSTR pszUri, - _Outptr_opt_result_maybenull_ BSTR *pbstrPrefix - ) const -{ - HRESULT hr = S_OK; - BOOL bNodePushed = FALSE; - INT cchPrefix = 0; - - if (!pContext || !pszUri) - return E_INVALIDARG; - - if (pbstrPrefix) - { - *pbstrPrefix = NULL; - } - - //Push context "Deep" to get info abt all URI prefix mappings defined so far in the current DOM document - hr = m_pNSManager->pushNodeContext(pContext, TRUE); - - if (SUCCEEDED(hr)) - { - bNodePushed = TRUE; - - // get the length first, then alloc the string - - hr = m_pNSManager->getPrefix(pszUri, 0, NULL, &cchPrefix); - } - - - if (S_OK == hr && pbstrPrefix) - { - - *pbstrPrefix = NULL; - cchPrefix++; - - if (SUCCEEDED(hr)) - { - *pbstrPrefix = SysAllocStringLen(NULL, cchPrefix); - - if (!(*pbstrPrefix)) - hr = E_OUTOFMEMORY; - } - - if (SUCCEEDED(hr)) - { - hr = m_pNSManager->getPrefix(pszUri, 0, *pbstrPrefix, &cchPrefix); - - } - - if (FAILED(hr) && (*pbstrPrefix)) - { - SysFreeString(*pbstrPrefix); - *pbstrPrefix = NULL; - } - } - - // Note: MSXML NSManager returns S_FALSE for an undeclared URI, and E_FAIL for an undeclared - // prefix, hence it is safe to check for both here. - - if (E_FAIL == hr || S_FALSE == hr) - { - // NS manager didn't find the prefix. Tweak the result to S_FALSE - hr = S_FALSE; - } - - if (bNodePushed) - { - m_pNSManager->popContext(); - } - - return hr; -} - -/*++ - -Routine Name: - declarePrefix - -Routine Description: - - This declares a new prefix for a given URI. This routine will always generate a new - prefix definition, regardless of whether the URI is already defined. Use getPrefix - to prevent duplicate definitions of namespace URI prefixes. If the preferred prefix is - already in use or no preferred prefix is supplied the namespace will be declared using - a generated namespace name. - -Arguments: - pContext - The context in which you want to ensure that the prefix is properly declared - in. This is where we check to see if the prefix is already in use. However, if not - in use, the prefix will always be declared in the root of the document. This gaurantees - 2 things: The prefix is declared in the entire document (though it may be overridden - locally in other places), and the prefix has the expected meaning at the passed in pContext. - pszUri - The URI to associate with the prefix. - pszPreferredPrefix - prefix to use if not already defined, can be a BSTR or PCWSTR, either - is acceptable - pbstrNewPrefix - The actual prefix that was declared, which may be different from the - preferred prefix - -Return Value: - HRESULT Completion status code - S_OK - on success - S_FALSE - on failure - ---*/ -HRESULT -OEMPTXMLHandler::declarePrefix( - _In_ IXMLDOMElement *pContext, - _In_ PCWSTR pszUri, - _In_opt_ PCWSTR pszPreferredPrefix, - _Out_ BSTR *pbstrNewPrefix - ) -{ - HRESULT hr = S_OK; - - // These two strings are tied ... the second string is used to print the number over top of a - // copy of the first string, so chances are, if you change one, you need to change the other. - PCWSTR szPrefixChars = L"ns0000"; - PCWSTR szPrefixPrintfPattern = L"ns%.4X"; - - if (!(pContext && pszUri && pbstrNewPrefix)) - { - return E_INVALIDARG; - } - - *pbstrNewPrefix = NULL; - - // Check if the preferred prefix exists... - // - // If we got S_OK, the prefix exists, if we got E_*, bail out - // anyway. Only declare the prefix if we successfully decided - // it doesn't exist. - - if (pszPreferredPrefix) - { - INT unused = 0; - - if (SUCCEEDED(hr)) - { - hr = m_pNSManager->pushNodeContext(pContext, TRUE); - } - - if (SUCCEEDED(hr)) - { -#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.") - hr = m_pNSManager->getURI(pszPreferredPrefix, NULL, NULL, &unused); - - // If the prefix is already defined, MSXML will return S_FALSE. In that - // case, we don't want to declare another namespace with the same prefix - if (S_FALSE != hr) - { - pszPreferredPrefix = NULL; - } - - hr = m_pNSManager->popContext(); - } - - if (SUCCEEDED(hr) && pszPreferredPrefix) - { - *pbstrNewPrefix = SysAllocStringLen(pszPreferredPrefix, (UINT) wcslen(pszPreferredPrefix)); - } - } - - // If we don't have a workable prefix, try to generate a namespace - // Namespaces are in the form of NSxxxx where the x's are hex digits, - // and there are sizeof(m_nextPrefix)*2 of them - if (SUCCEEDED(hr) && !(*pbstrNewPrefix)) - { - BOOL bFound = TRUE; - UINT cchLength = (UINT) wcslen(szPrefixChars); - *pbstrNewPrefix = SysAllocStringLen(NULL, cchLength); - if (!(*pbstrNewPrefix)) - { - hr = E_OUTOFMEMORY; - } - if (SUCCEEDED(hr)) - { - do - { - INT unused = 0; - - // We're really unlikely to hit this. If we do we probably - // have bigger problems. but put a reasonable cap on the - // generated namespaces anyway. - if (((UINT)m_dwNextIndex) >= (UINT)0xFFFF) - { - // We could reset the counter here, but it's very unlikely to - // help matters, and could end up costing tons of CPU time if - // caller ignored the error or retried. - hr = E_FAIL; - } - - if (SUCCEEDED(hr)) - { - // now fill in the real value. - hr = StringCchPrintf(*pbstrNewPrefix, cchLength+1, szPrefixPrintfPattern, (INT)m_dwNextIndex); - } - - if (SUCCEEDED(hr)) - { - // look up the URI associated with the prefix. -#pragma prefast(suppress:__WARNING_INVALID_PARAM_VALUE_1, "According to MSDN, it is acceptable to pass a NULL buffer to getURI.") - bFound = (S_OK == m_pNSManager->getURI(*pbstrNewPrefix, pContext, NULL, &unused)); - } - - m_dwNextIndex++; - - } while(SUCCEEDED(hr) && bFound); - - if (bFound) - { - SysFreeString(*pbstrNewPrefix); - *pbstrNewPrefix = NULL; - } - } - } - - if (SUCCEEDED(hr) && *pbstrNewPrefix) - { - // We'll always put declarations at the root - if (SUCCEEDED(hr)) - { - // Create the namespace declaration string - UINT cchDeclLength = (UINT)(wcslen(L"xmlns:") + wcslen(*pbstrNewPrefix)); - - BSTR bstrDecl = SysAllocStringLen(NULL, cchDeclLength); - if (!bstrDecl) - { - hr = E_OUTOFMEMORY; - } - - // Add the new declaration to the root of the document. This is important because - // we really don't want to re-declare the namespace at every element. Just starts - // to look really messy, and adds a lot of bloat. - if (SUCCEEDED(hr)) - { - hr = StringCchPrintf(bstrDecl, cchDeclLength+1, L"xmlns:%s", *pbstrNewPrefix); - } - - if (SUCCEEDED(hr)) - { - hr = CreateXMLAttribute(m_pRootElement, bstrDecl, L"", pszUri); - } - - SysFreeString(bstrDecl); - bstrDecl = NULL; - - // Explicitly let the namespace manager know about our prefix - - if (SUCCEEDED(hr)) - { - hr = m_pNSManager->declarePrefix(*pbstrNewPrefix, pszUri); - } - } - } - - if (FAILED(hr)) - { - SysFreeString(*pbstrNewPrefix); - *pbstrNewPrefix = NULL; - } - - return hr; -} - -/*++ -Routine Name: - DeleteFeatureNode -Routine Description: - - Deletes given input Feature node and all its children from DOM tree - -Arguments: - - pParent - Parent node of the XML DOM node to be deleted - pElement - XML DOM node to be deleted - -Return Value: - HRESULT Completion status code - S_OK - On Success - E_* - On failure ---*/ -HRESULT -OEMPTXMLHandler::DeleteFeatureNode( - _In_opt_ IXMLDOMNode *pParent, - _In_ IXMLDOMNode *pElement - ) -{ - HRESULT hr = S_OK; - - IXMLDOMNode *pRemovedElement = NULL; - - if (!pElement) - { - return E_INVALIDARG; - } - - // - // if no parent node specified assume root of DOM tree as parent - // - - if (!pParent) - { - pParent = m_pRootElement; - } - - // - // MSXML function removeChild removes the given child of the XML - // element and all its children, even the Attribute nodes defined - // for given element node if any are removed. Hence we do not need - // to worry about recursively removing all the children of the - // given node before removing it - // - - hr = pParent->removeChild(pElement, &pRemovedElement); - - if (pRemovedElement) - { - pRemovedElement->Release(); - } - - return hr ; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx b/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx deleted file mode 100644 index 2767c282..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/PTPCPlPr/src/xmlhandler.hxx +++ /dev/null @@ -1,162 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: xmlhandler.hxx -// -// -// PURPOSE: Helper Class that handles all functionality related to -// processing of input PrintTicket/PrintCapabilities XML document -// -// - -#pragma once - -// -// Print ticket handler class that performs all XML handling for the -// sample code -// - -class OEMPTXMLHandler -{ - -public: - - OEMPTXMLHandler(); - virtual ~OEMPTXMLHandler(); - - HRESULT SetRoot( - _In_ IXMLDOMDocument2 *pRoot, - _In_ IPrintCoreHelper *pHelper - ); - - // - // Node creation methods - // - - HRESULT CreateFeatureNode( - _In_opt_ IXMLDOMElement *pParent, - _In_ PCWSTR pszNamespaceURI, - _In_ PCWSTR pszFeatureName, - _Out_opt_ IXMLDOMElement **ppFeatureNode - ); - - HRESULT CreateOptionNode( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszNamespaceURI, - _In_ PCWSTR pszOptionName, - _Out_opt_ IXMLDOMElement **ppOptionElement - ); - - // - // Get methods - // - - HRESULT GetXMLAttribute( - _In_ IXMLDOMElement *pElement, - _Outptr_result_maybenull_ BSTR *pszAttrNamespaceURI, - _Outptr_result_maybenull_ BSTR *pszAttrName - ) const; - - HRESULT GetFeatureNode( - _In_opt_ IXMLDOMElement *pParent, - _In_ PCWSTR pszAttrNamespaceURI, - _In_ PCWSTR pszAttrName, - _Out_ _When_(return == S_FALSE, _At_(*ppElement, _Post_maybenull_)) - _When_(return != S_FALSE, _At_(*ppElement, _Post_valid_)) - IXMLDOMElement **ppElement - ) const; - - HRESULT GetOptionNode( - _In_ IXMLDOMElement *pParent, - _Outptr_result_maybenull_ IXMLDOMElement **ppElement - ) const; - - HRESULT DeleteFeatureNode( - _In_opt_ IXMLDOMNode *pParent, - _In_ IXMLDOMNode *pElement - ); - -private: - - IXMLDOMDocument2 *m_pRootDocument; - IXMLDOMElement *m_pRootElement; - IMXNamespaceManager *m_pNSManager; - DWORD m_dwNextIndex; - - HRESULT GetXMLElement( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszElementNamespaceURI, - _In_ PCWSTR pszElementName, - _In_ PCWSTR pszAttrNamespaceURI, - _In_ PCWSTR pszAttrName, - _Outptr_result_maybenull_ IXMLDOMElement **ppElement - ) const; - - HRESULT GetXMLElementWithoutAttribute( - _In_ IXMLDOMElement *pContext, - _In_ PCWSTR pszElementNamespaceURI, - _In_ PCWSTR pszElementName, - _Outptr_result_maybenull_ IXMLDOMElement **ppChildElement - ) const; - - HRESULT getPrefix( - _In_ IXMLDOMElement *pContext, - _In_ PCWSTR pszUri, - _Outptr_opt_result_maybenull_ BSTR *pbstrPrefix - ) const; - - HRESULT declarePrefix( - _In_ IXMLDOMElement *pContext, - _In_ LPCWSTR pszUri, - _In_opt_ LPCWSTR pszPreferredPrefix, - _Out_ BSTR *newPrefix - ); - - HRESULT CreateQName( - _In_ IXMLDOMElement *pElement, - _In_ PCWSTR pszUri, - _In_ PCWSTR pszLocalName, - _Out_ BSTR *pQName - ); - - // - // Adds attributes to existing XML element - // - - HRESULT CreateXMLAttribute( - _In_ IXMLDOMElement *pElement, - _In_ PCWSTR pszAttributeName, - _In_ PCWSTR pszNamespaceURI, - _In_ PCWSTR pszAttributeValue - ); - - // - // Creates new XML element node - // - HRESULT CreateXMLElement( - _In_ IXMLDOMElement *pParent, - _In_ PCWSTR pszElementName, - _In_ PCWSTR pszNamespaceURI, - _Out_ IXMLDOMElement **ppCreatedElement - ); - - // - // Helpers - // - HRESULT getLocalName( - _In_ PCWSTR pszQName, - _Out_ BSTR *ppbstrLocalName - ) const; - - HRESULT getUri( - IXMLDOMElement *pContext, - _In_ PCWSTR pszQName, - _Out_ BSTR *pbstrURI - ) const; - -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj deleted file mode 100644 index cf56c5f6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj +++ /dev/null @@ -1,1066 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{A7A17685-16BD-4A90-9E09-A46B09CF3A1F}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>SYNCSET</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;_DEBUG</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>SYNCSET.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="oemui.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="oemui.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters deleted file mode 100644 index 9737750a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SYNCSET.vcxproj.Filters +++ /dev/null @@ -1,272 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{72226DBB-2FE2-4E91-99A5-A18952A112EB}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{C3708A9B-9215-44CC-96A2-0C0B656486BF}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{D44A3AF2-69E5-4F32-BC8A-7636FB947722}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="oemui.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="oemui.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="SyncSet.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def deleted file mode 100644 index 68bdffc0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/SyncSet.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMUI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp deleted file mode 100644 index f7a3d842..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.cpp +++ /dev/null @@ -1,405 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.cpp -// -// PURPOSE: Debug functions. -// -// - -#include "precomp.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL DEFINES -//////////////////////////////////////////////////////// - -#define DEBUG_BUFFER_SIZE 1024 -#define PATH_SEPARATOR '\\' -#define MAX_LOOP 10 - -// Determine what level of debugging messages to eject. -#ifdef VERBOSE_MSG - #define DEBUG_LEVEL DBG_VERBOSE -#elif TERSE_MSG - #define DEBUG_LEVEL DBG_TERSE -#elif WARNING_MSG - #define DEBUG_LEVEL DBG_WARNING -#elif ERROR_MSG - #define DEBUG_LEVEL DBG_ERROR -#elif RIP_MSG - #define DEBUG_LEVEL DBG_RIP -#elif NO_DBG_MSG - #define DEBUG_LEVEL DBG_NONE -#else - #define DEBUG_LEVEL DBG_WARNING -#endif - - - -//////////////////////////////////////////////////////// -// EXTERNAL GLOBALS -//////////////////////////////////////////////////////// - -INT giDebugLevel = DEBUG_LEVEL; - - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist); -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist); - - - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist) -{ - DWORD dwSize = DEBUG_BUFFER_SIZE; - DWORD dwLoop = 0; - LPSTR lpszMsgBuf = NULL; - HRESULT hr; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - do - { - // Allocate memory for message buffer. - if(NULL != lpszMsgBuf) - { - delete[] lpszMsgBuf; - dwSize *= 2; - } - lpszMsgBuf = new CHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - { - return FALSE; - } - - hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist); - - // Pass the variable parameters to wvsprintf to be formated. - } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) ); - - // Dump string to Debug output. - OutputDebugStringA(lpszMsgBuf); - - // Cleanup. - delete[] lpszMsgBuf; - - return SUCCEEDED(hr); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist) -{ - LPWSTR lpszMsgBuf; - HRESULT hResult; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - // Allocate memory for message buffer. - lpszMsgBuf = new WCHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - return FALSE; - - // Pass the variable parameters to wvsprintf to be formated. - hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist); - - // Dump string to debug output. - OutputDebugStringW(lpszMsgBuf); - - // Clean up. - delete[] lpszMsgBuf; - - return SUCCEEDED(hResult); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV for processing. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCWSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV to be processed. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - -void Dump(PPUBLISHERINFO pPublisherInfo) -{ - VERBOSE(TEXT("pPublisherInfo:\r\n")); - if(NULL == pPublisherInfo) - { - VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode); - VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM); - VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM); -} - -void Dump(POEMDMPARAM pOemDMParam) -{ - VERBOSE(TEXT("pOemDMParam:\r\n")); - if(NULL == pOemDMParam) - { - VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize); - VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj); - VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter); - VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule); - VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn); - VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut); - VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn); - VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut); - VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize); -} - -void Dump(PPROPSHEETUI_INFO pPSUIInfo) -{ - VERBOSE(TEXT("pPSUIInfo:\r\n")); - if(NULL == pPSUIInfo) - { - VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize); - VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version); - VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags); - VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason); - VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet); - VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet); - VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit); - VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData); - VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result); -} - -void Dump(POPTITEM pOptItem) -{ - VERBOSE(TEXT("pOptItem:\r\n")); - if(NULL == pOptItem) - { - VERBOSE(TEXT("\tpOptItem is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize); - VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level); - VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx); - VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags); - VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData); - VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>")); - VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex); - VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID); - VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID); - VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved); - VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt); - - Dump(pOptItem->pOptType); -} - -void Dump(POPTTYPE pOptType) -{ - VERBOSE(TEXT("\tpOptType:\r\n")); - if(NULL == pOptType) - { - VERBOSE(TEXT("\t\tpOptType is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize); - VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type); - VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags); - VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count); - VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID); - VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style); - - Dump(pOptType->pOptParam, pOptType->Count); -} - -void Dump(POPTPARAM pOptParam, WORD wCount) -{ - if(NULL == pOptParam) - { - VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n")); - return; - } - - for(WORD wIndex = 0; wIndex < wCount; ++wIndex) - { - VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n")); - VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize); - VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags); - VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style); - VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData); - VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID); - VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam); - } -} - - -PCSTR -StripDirPrefixA( - IN PCSTR pstrFilename - ) - -/*++ - -Routine Description: - - Strip the directory prefix off a filename (ANSI version) - -Arguments: - - pstrFilename - Pointer to filename string - -Return Value: - - Pointer to the last component of a filename (without directory prefix) - ---*/ - -{ - PCSTR pstr; - - pstr = strrchr(pstrFilename, PATH_SEPARATOR); - if (pstr) - return pstr + 1; - - return pstrFilename; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h deleted file mode 100644 index b4d57b0b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/debug.h +++ /dev/null @@ -1,166 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. -// -// - -#pragma once - -// VC and Build use different debug defines. -// The following makes it so either will -// cause the inclusion of debugging code. -#if !defined(_DEBUG) && defined(DBG) - #define _DEBUG DBG -#elif defined(_DEBUG) && !defined(DBG) - #define DBG _DEBUG -#endif - - - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// - -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// VERBOSE(msg) -// Display a message if the current debug level is <= DBG_VERBOSE. -// -// TERSE(msg) -// Display a message if the current debug level is <= DBG_TERSE. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// ASSERTMSG(cond, msg) -// Verify a condition is true. If not, display a message and -// force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// These macros require extra parantheses for the msg argument -// example, ASSERTMSG(x > 0, ("x is less than 0\n")); -// WARNING(("App passed NULL pointer, ignoring...\n")); -// - -#define DBG_VERBOSE 1 -#define DBG_TERSE 2 -#define DBG_WARNING 3 -#define DBG_ERROR 4 -#define DBG_RIP 5 -#define DBG_NONE 6 - -#if DBG - - #define DebugMsg DebugMessage - - // - // Strip the directory prefix from a filename (ANSI version) - // - - PCSTR - StripDirPrefixA( - IN PCSTR pstrFilename - ); - - extern INT giDebugLevel; - - - #define DBGMSG(level, prefix, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \ - DebugMsg(msg); \ - } \ - } - - #define DBGPRINT(level, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg(msg); \ - } \ - } - - #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg - #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg - #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg - #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg - - #define ASSERT(cond) { \ - if (! (cond)) { \ - RIP(("\n")); \ - } \ - } - - #define ASSERTMSG(cond, msg) { \ - if (! (cond)) { \ - RIP(msg); \ - } \ - } - - #define RIP(msg) { \ - DBGMSG(DBG_RIP, "RIP", msg); \ - DebugBreak(); \ - } - - -#else // !DBG - - #define DebugMsg NOP_FUNCTION - - #define VERBOSE NOP_FUNCTION - #define TERSE NOP_FUNCTION - #define WARNING NOP_FUNCTION - #define ERR NOP_FUNCTION - - #define ASSERT(cond) - - #define ASSERTMSG(cond, msg) - #define RIP(msg) - #define DBGMSG(level, prefix, msg) - #define DBGPRINT(level, msg) - -#endif - - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR, ...); -BOOL DebugMessage(LPCWSTR, ...); -void Dump(PPUBLISHERINFO pPublisherInfo); -void Dump(POEMDMPARAM pOemDMParam); -void Dump(PPROPSHEETUI_INFO pPSUIInfo); -void Dump(POPTITEM pOptItem); -void Dump(POPTTYPE pOptType); -void Dump(POPTPARAM pOptParam, WORD wCount); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp deleted file mode 100644 index 2a19310c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.cpp +++ /dev/null @@ -1,214 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -#include "precomp.h" -#include "oemui.h" -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -// -//Performs operation on UI Plugins Private DevMode Members. -//Called via IOemUI::DevMode -// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - VERBOSE(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam); - - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - // - //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - //Private members - // - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n")); - Dump(pOEMDevOut); - break; - - // - //The method should convert private DEVMODE members to the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - Dump(pOemDMParam); - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - VERBOSE(DLLTEXT("pOEMDevIn:\r\n")); - Dump(pOEMDevIn); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data, if not valid. - if(pOEMDevmode->dwDriverData > 100) - { - pOEMDevmode->dwDriverData = 0; - } - - // Set Advanced driver data, if not valid. - if(pOEMDevmode->dwAdvancedData > 100) - { - pOEMDevmode->dwAdvancedData = 0; - } - - return TRUE; -} - - -void Dump(PCOEMDEV pOEMDevmode) -{ - if( (NULL != pOEMDevmode) - && - (pOEMDevmode->dmOEMExtra.dwSize >= sizeof(OEMDEV)) - && - (OEM_SIGNATURE == pOEMDevmode->dmOEMExtra.dwSignature) - ) - { - VERBOSE(TEXT("\tdmOEMExtra.dwSize = %d\r\n"), pOEMDevmode->dmOEMExtra.dwSize); - VERBOSE(TEXT("\tdmOEMExtra.dwSignature = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwSignature); - VERBOSE(TEXT("\tdmOEMExtra.dwVersion = %#x\r\n"), pOEMDevmode->dmOEMExtra.dwVersion); - VERBOSE(TEXT("\tdwDriverData = %#x\r\n"), pOEMDevmode->dwDriverData); - VERBOSE(TEXT("\tdwAdvancedData = %#x\r\n"), pOEMDevmode->dwAdvancedData); - } - else - { - ERR(ERRORTEXT("Dump(POEMDEV) unknown private OEM DEVMODE.\r\n")); - } -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h deleted file mode 100644 index e2f9c6b7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/devmode.h +++ /dev/null @@ -1,57 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - - - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -// -//Can add info to the private devmode bellow here. -//Note : -// This structure must be prefixed by OEM_DMEXTRAHEADER -// Your plug-in must implement the IPrintOemUI::DevMode method -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - DWORD dwDriverData; - DWORD dwAdvancedData; - - // - //Private DevMode Members - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); -void Dump(PCOEMDEV pOEMDevIn); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp deleted file mode 100644 index dcac51ef..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/dllentry.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "oemui.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp deleted file mode 100644 index 9e77a228..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// -// PURPOSE: File that contains all the globals. -// -// -#include "precomp.h" - -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h deleted file mode 100644 index b6c7d0ee..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/globals.h +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// -// -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp deleted file mode 100644 index 493d36f7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.cpp +++ /dev/null @@ -1,612 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.cpp -// -// PURPOSE: UI plug-in implementation. -// -// - -#include "precomp.h" - -#include "oemui.h" -#include "debug.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - - - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI body -// -IOemUI::~IOemUI() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n")); - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n")); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n")); - } - else - { - *ppv = NULL ; - VERBOSE(DLLTEXT("IOemUI:No Interface. Return NULL.\r\n")); - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemUI::AddRef() -{ - VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI::Release() -{ - VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// -//(Implamentation is required) Supplies a pointer to UNIDRIVE /PScript IPrintOemDriverUI -// -HRESULT __stdcall IOemUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n")); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -// -//(Implamentation is required) Returns the UI Plugin's identification information -// -HRESULT __stdcall IOemUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IOemUI::GetInfo(%d) entry.\r\r\n"), dwMode); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK, (*pBuffer is %#x).\r\r\n"), *(PDWORD)pBuffer); - return S_OK; -} - - -// -//Performs operation on UI Plugins Private DevMode Members. -// -HRESULT __stdcall IOemUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IOemUI:DevMode(%d, %#x) entry.\r\n"), dwMode, pOemDMParam); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - - -// -//Allows UI Plugin to Modifiy Existing printer porp sheet and document property sheet page.. -// -HRESULT __stdcall IOemUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n")); - - // - //We want to keep this pointer so the we can modifie the data and OPTITEMS from the OEM plugin page. - // - m_OemSheetData.pOEMCUIParam = pOemCUIPParam; - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -// -//Adds a New page to the device Documment property sheet. -// - -HRESULT __stdcall IOemUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n")); - - return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp); -} - -// -//Adds a New page to the device printer property page. -// -HRESULT __stdcall IOemUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n")); - - // - //Store the This pointer in the OEMSHEETDATA - // - m_OemSheetData.pOEMHelp = m_pOEMHelp; - return hrOEMDevicePropertySheets(pPSUIInfo, lParam, &(m_OemSheetData)); -} - - -// -//Allows the UI plugin to spec Customized device capabilaties (TODO) -// -HRESULT __stdcall IOemUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - - -// -//Allows the UI plugin to help determine if a print Job is printable. -// -HRESULT __stdcall IOemUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - - -// -//Allows the UI Plugin to upgrade its dev options stored in the registry. -// -HRESULT __stdcall IOemUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -#define PROFILE_NAME L"OEMPROFILE.icm\0" - -HRESULT __stdcall IOemUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - HRESULT Result = E_FAIL; - - VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - if(QCP_DEVICEPROFILE == ulQueryMode) - { - if(NULL == pvProfileData) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - if(*pcbProfileData < sizeof(PROFILE_NAME)) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME); - *pcbProfileData = sizeof(PROFILE_NAME); - *pflProfileData = QCP_PROFILEDISK; - - if(FAILED(Result)) - { - SetLastError(Result); - } - } - } - } - - return Result; -}; - -HRESULT __stdcall IOemUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IOemUI* pOemCB = new IOemUI ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h deleted file mode 100644 index 6ec38f73..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/intrface.h +++ /dev/null @@ -1,192 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.h -// -// PURPOSE: UI plug-in definition. -// -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI -// -class IOemUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - IOemUI() - { - m_cRef = 1; - m_pOEMHelp = NULL; - m_OemSheetData.pfnComPropSheet = NULL; - m_OemSheetData.pOEMCUIParam=NULL; - m_OemSheetData.hComPropSheet=INVALID_HANDLE_VALUE; - m_OemSheetData.hmyPlugin=INVALID_HANDLE_VALUE; - }; - - ~IOemUI(); - -protected: - LONG m_cRef; - IPrintOemDriverUI* m_pOEMHelp; - - // - //Used to link common ui in device settings tab and the OEM plugin tab. - // - OEMSHEETDATA m_OemSheetData; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h deleted file mode 100644 index daad3e27..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oem.h +++ /dev/null @@ -1,24 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: oem.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// - -#pragma once - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp deleted file mode 100644 index 5802a776..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.cpp +++ /dev/null @@ -1,1099 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.cpp -// -// PURPOSE: Main file for OEM UI test module. -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - -} CBUSERDATA, *PCBUSERDATA; - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); - -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam); -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); - -void SetOEMUiState (HWND hDlg, POEMSHEETDATA pOEMSheetData); -void SetOEMCommonDataIntoOptItem (POEMSHEETDATA pOEMSheetData, _In_ PSTR PName, LONG Sel); -void ChangeOpItem (IPrintOemDriverUI *pIPrintOEMDrvUI, POEMUIOBJ pOEMObj, POPTITEM pOptItem, int iSel); -POPTITEM FindDrvOptItem (POPTITEM pDrvOptItems, DWORD dwItemCount, _In_ PSTR pKeyWordName, BYTE dmPubID = DMPUB_NONE); - -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource); - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// Called via IOemUI::CommonUIProp -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMPropertyPage(%d) entry.\r\n"), dwMode); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR(ERRORTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - VERBOSE(DLLTEXT("\tdwMode = %d, pOEMUIParam = %#lx.\r\n"), dwMode, pOEMUIParam); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam); - break; - - default: - // Should never reach this! - ERR(ERRORTEXT("hrOEMPropertyPage() Invalid dwMode, %d"), dwMode); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 1; - VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems); - } - else - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - // - //Setup the Optional Item - // - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - return S_OK; -} - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM printer property UI. -// -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - // - //This is null the first time the interface is called. - // - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM printer property UI. - pOEMUIParam->cOEMOptItems = 1; - VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting %d number of items.\r\n"), pOEMUIParam->cOEMOptItems); - } - else - { - // - //This is the second time we are called Now setup the optional items. - // - DWORD dwError; - DWORD dwDeviceValue; - DWORD dwType; - DWORD dwNeeded; - - VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out %d items.\r\n"), pOEMUIParam->cOEMOptItems); - - // - //Add OEM Optitem to the Device - // - - // Get device settings value from printer. - dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue, - sizeof(dwDeviceValue), &dwNeeded); - if( (ERROR_SUCCESS != dwError) - || - (dwDeviceValue > 100) - ) - { - // Failed to get the device value or value is invalid, just use the default. - dwDeviceValue = 0; - } - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack; - - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - // - //Setup the Optional Item - // - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - - - } - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to Document property sheet. Called via IOemUI::DocumentPropertySheets -// -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, - IPrintOemDriverUI* pOEMHelp) -{ - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - VERBOSE(DLLTEXT("hrOEMDocumentPropertySheets() entry.\r\n")); - - UNREFERENCED_PARAMETER(pOEMHelp); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - DWORD dwSheets = 0; - PCBUSERDATA pUserData; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - HANDLE hHeap = pOEMUIParam->hOEMHeap; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - COMPROPSHEETUI Sheet; - - - // Init property page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = CPSUIF_UPDATE_PERMISSION; - Sheet.hInstCaller = ghInstance; - Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME); - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDocUICallBack2; - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Init user data. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if (NULL == pUserData) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if (NULL == Sheet.pOptItem) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Initialize OptItems - Sheet.pOptItem[0].Level = 1; - Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE; - Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData; - - Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2); - if (NULL == Sheet.pOptItem[0].pOptType) - { - ERR(ERRORTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - //Set the UI prop of this OPTYPE item. - // - Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW; - Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0; - Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100; - - // Adds the property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to printer property sheet. Called via IOemUI::DevicePropertySheets -// -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, POEMSHEETDATA pOemSheetData) -{ - LONG_PTR lResult = 0; - - - VERBOSE(DLLTEXT("hrOEMDevicePropertySheets(%#x, %#x) entry\r\n"), pPSUIInfo, lParam); - - // Validate parameters. - if( (NULL == pPSUIInfo) - - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(ERRORTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - Dump(pPSUIInfo); - - - // Do action. - switch(pPSUIInfo->Reason) - { - - case PROPSHEETUI_REASON_INIT: - { - PROPSHEETPAGE Page; - - // Init property page. - memset(&Page, 0, sizeof(PROPSHEETPAGE)); - Page.dwSize = sizeof(PROPSHEETPAGE); - Page.dwFlags = PSP_DEFAULT; - Page.hInstance = ghInstance; - Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE); - Page.pfnDlgProc = DevicePropPageProc; - - // - //This is the OEMPlugIN Sheets Shared Data. Use this Pointer to gain access to shared driver data - // - pOemSheetData->hComPropSheet = pPSUIInfo->hComPropSheet; - pOemSheetData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - Page.lParam = (LPARAM)pOemSheetData; - - // Add property sheets. - pOemSheetData->hmyPlugin = (HANDLE)(pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0)); - - VERBOSE(DLLTEXT("hrOEMDevicePropertySheets() pfnComPropSheet returned %d.\r\n"), pOemSheetData->hmyPlugin); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - pPSUIInfo->Result = lResult; - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM printer property UI. -// -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - - VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - { - DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel; - - // - // Store OptItems state in printer data. - // - SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD)); - } - break; - - // - //Because the plugin page is changing items in this CPSUI page we need to rinitalise the data on the page. - // - case CPSUICB_REASON_SETACTIVE: - return CPSUICB_ACTION_OPTIF_CHANGED; - break; - - default: - break; - } - - return lReturn; -} - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Call back for OEM device property UI. -// -// This OEM plugin page is using the OPTITEMS in the Device tab to store data. (Installabale Options) -// If you hide these option in the device tab and only access them from your UI you dont have to worry about sync the views. -// If you want the Options in both tabs you need to have a CPSUICALLBACK function defined for the Device tab. (OEMPrinterUICallBack) -// OEMPrinterUICallBack will return CPSUICB_ACTION_OPTIF_CHANGED; to indicate that some of the controls have change. Resulting in CPSUI to refresh the view. -// -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) -{ - - VERBOSE(DLLTEXT("DevicePropPageProc() entry, Reason is %d.\r\n"), uiMsg); - - POEMSHEETDATA pOEMSheetData = NULL; - LONG lState = 0; - DWORD fDataValid = 0; - WORD dlgControl = 0; - PSTR pControlName = NULL; - - - if ( uiMsg != WM_INITDIALOG ) - { - // - //Retrieves Application data storded by the call to SetWindowLongPtr. - // - pOEMSheetData = (POEMSHEETDATA)GetWindowLongPtr( hDlg, DWLP_USER); - - - if (!pOEMSheetData) - { - // - //Failed to get the OEM Prop Page Data Pointer. - // - ERR(ERRORTEXT("DevicePropPageProc : GetWindowLongPtr Failed (%d)\r\n"), GetLastError()); - return FALSE; - } - } - - switch (uiMsg) - { - case WM_INITDIALOG: - // - //PROPSHEETPAGE structure is passed to the dialog box procedure with a WM_INITDIALOG message. - //The lParam member is provided to allow you to pass application-specific information to the dialog box procedure - // - SetWindowLongPtr (hDlg, DWLP_USER, (LONG_PTR)((LPPROPSHEETPAGE)lParam)->lParam); - break; - - case WM_COMMAND: - switch(HIWORD(wParam)) - { - - case BN_CLICKED: - - // - //Change the UI to activate the apply button Send the prop dailog a change message. - // - PropSheet_Changed(GetParent(hDlg), hDlg); - - switch(LOWORD(wParam)) - { - - // - //USER modified OEM Controls on the plugin page. - // - case IDC_CHECK_DUPLPEX: - dlgControl = IDC_CHECK_DUPLPEX; - fDataValid = TRUE; - pControlName = (PSTR)DUPLEXUNIT; - break; - - case IDC_CHECK_HDRIVE: - dlgControl = IDC_CHECK_HDRIVE; - fDataValid = TRUE; - pControlName = (PSTR)PRINTERHDISK; - break; - - case IDC_CHECK_ENVFEEDER: - dlgControl = IDC_CHECK_ENVFEEDER; - fDataValid = TRUE; - pControlName = (PSTR)ENVFEEDER; - break; - - default: - fDataValid = 0; - break; - - } - - // - //If the Control is valid Get the ctrl state and UPdate the OPTITEM. - // - if ( fDataValid ) - { - lState = (LONG)(SendDlgItemMessage (hDlg, dlgControl, BM_GETSTATE, 0, 0) & 0x0003); - VERBOSE(DLLTEXT("DevicePropPageProc : Clicked dlgControl (%d)\r\n"), lState); - - // - //Saves the Data to the OPTITEMS in the device settings page. - // - SetOEMCommonDataIntoOptItem (pOEMSheetData, pControlName, lState); - } - break; - - - default: - return FALSE; - } - return TRUE; - - // - //Dailog is going to paint set up the UI controls to match the relavent OPTITEMS Data. - // - case WM_CTLCOLORDLG: - { - VERBOSE(DLLTEXT("DevicePropPageProc : WM_CTLCOLORDLG \r\n")); - SetOEMUiState (hDlg, pOEMSheetData); - } - return TRUE; - - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) // type of notification message - { - case PSN_SETACTIVE: - return TRUE; - break; - - case PSN_KILLACTIVE: - return TRUE; - break; - - case PSN_APPLY: - - // - //Calls ComPropSheet - //causes the ComPropSheet function to pass a specified result value to all PFNPROPSHEETUI-typed functions associated with a specified page and its parents - // - pOEMSheetData->pfnComPropSheet(pOEMSheetData->hComPropSheet, - CPSFUNC_SET_RESULT, - (LPARAM) pOEMSheetData->hmyPlugin, - (LPARAM)CPSUI_OK); - - // - //Accept the apply if the data was invalid and you are checking for this set PSNRET_INVALID | PSNRET_INVALID_NOCHANGEPAGE - //Disables the APPLY button and saves the Data. - // - PropSheet_UnChanged(GetParent(hDlg), hDlg); - SetWindowLongPtr(hDlg,DWLP_MSGRESULT,PSNRET_NOERROR); - return TRUE; - break; - - // - // Need To undo the changes - // - case PSN_RESET: - break; - } - } - break; - } - - return FALSE; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Update the OEM page controls to match the Device settings page -// - -void SetOEMUiState (HWND hDlg, POEMSHEETDATA pOEMSheetData) -{ - LRESULT lstate = 0; - POEMCUIPPARAM pOEMCUIParam = NULL; - PUSERDATA pUserData = NULL; - POPTITEM pOptItem = NULL; - DWORD cDrvOptItems = 0; - - - if (pOEMSheetData->pOEMCUIParam) - { - pOEMCUIParam = pOEMSheetData->pOEMCUIParam; - cDrvOptItems = pOEMCUIParam->cDrvOptItems; - } - - // - //loop down the OPITEMS and retrieve the data that is needed from the control - //(all Optitesm are ref from DMPubID of the UserData->pKeyWordName) - // - for (DWORD i=0; i < cDrvOptItems; i++) - { - pOptItem = &(pOEMCUIParam->pDrvOptItems[i]); - if (pOptItem->UserData) - { - pUserData = (PUSERDATA)(pOptItem->UserData); - if ( pUserData->pKeyWordName ) - { - // - //Get the Selection of the OPITEM - // - if (pOptItem->Sel) - { - lstate = BST_CHECKED; - } - else - { - lstate = BST_UNCHECKED; - } - - // - //Update the Data in OEM Page to mactch the data in the Device Settings TAB. - //Send a message to the Cntrol to update its State. - // - - //Set the Duplex Option - if ( strcmp(pUserData->pKeyWordName, DUPLEXUNIT ) == 0 ) - { - SendDlgItemMessage (hDlg, IDC_CHECK_DUPLPEX, BM_SETCHECK, lstate, 0); - } - - //Set HardDrive Option - if ( strcmp (pUserData->pKeyWordName, PRINTERHDISK ) == 0 ) - { - SendDlgItemMessage (hDlg, IDC_CHECK_HDRIVE, BM_SETCHECK, lstate, 0); - } - - //Set the Env Feeder Option - if ( strcmp (pUserData->pKeyWordName, ENVFEEDER ) == 0 ) - { - SendDlgItemMessage (hDlg, IDC_CHECK_ENVFEEDER, BM_SETCHECK, lstate, 0); - } - } - } - } -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Save the OEM change into the correct OPTITEM. -// The UI data is been stored in the driver supplied OPTITEM -// -void SetOEMCommonDataIntoOptItem (POEMSHEETDATA pOEMSheetData, _In_ PSTR PName, LONG Sel) -{ - - VERBOSE(DLLTEXT("SetOEMCommonDataIntoOptItem (%S) \r\n"), PName); - - POEMCUIPPARAM pOEMCUIParam = pOEMSheetData->pOEMCUIParam; - POPTITEM pOptItem = NULL; - - // - //Find the OPTITEM that needs to be Updated. - // - pOptItem = FindDrvOptItem (pOEMCUIParam->pDrvOptItems, - pOEMCUIParam->cDrvOptItems, - PName, - DMPUB_NONE); - - if (pOptItem) - { - ChangeOpItem (pOEMSheetData->pOEMHelp, - pOEMCUIParam->poemuiobj, - pOptItem, - Sel); - } - else - { - ERR(ERRORTEXT("SetOEMCommonDataIntoOptItem Item Not Found OPTITEM(%S) \r\n"), PName); - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Help Change the data set in the OPTITEM -// -void ChangeOpItem (IPrintOemDriverUI *pIPrintOEMDrvUI, POEMUIOBJ pOEMUIObj, POPTITEM pOptItem, int iSel) -{ - HRESULT hRestult = S_OK; - - // - //Change the Item (Change which OPTPARAM is selected fot the required OPTTYPE) - // - pOptItem->Sel = iSel; - - // - //Set the Flag indicating it is changed - // - pOptItem->Flags |= OPTIF_CHANGED; - - // - //Update the Driver UI. (this updates the UI but it does not cause CPSUI to update the its pages), - //Look at OEMPrinterUICallBack to see how CPSUI pages are updated - //The IPrintOemDriverUI::DrvUpdateUISetting method is provided by the - //Unidrv and Pscript5 minidrivers so that user interface plug-ins can - //notify the driver of a modified user interface option. - // - hRestult = pIPrintOEMDrvUI->DrvUpdateUISetting((PVOID)pOEMUIObj, (PVOID)pOptItem, 0, OEMCUIP_PRNPROP); - - if (hRestult != S_OK) - { - ERR(ERRORTEXT("ChangeOpItem DrvUpdateUISetting FAILED \r\n") ); - } - -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Help Find a OPTITEM from the array based on USERDATA->pKeyWordName or DMPubID -// -POPTITEM FindDrvOptItem (POPTITEM pDrvOptItems, DWORD dwItemCount, _In_ PSTR pKeyWordName, BYTE dmPubID ) -{ - VERBOSE(DLLTEXT("FindDrvOptItem Looking (%S) (%d) \r\n"), pKeyWordName, dmPubID); - - POPTITEM pOptItem = NULL; - PUSERDATA pUserData = NULL; - - for (DWORD i=0; i < dwItemCount; i++) - { - // - //OPTITEM has valid data compare these now (Search on DMPubID) - // - if (pKeyWordName == NULL) - { - if (dmPubID == pDrvOptItems[i].DMPubID) - { - pOptItem = &(pDrvOptItems[i]); - break; - } - } - else - { - // - //(Search a printer freature pKeyWordName) - // - //For Common Printer Features the key name is set to a common non localised string - //Note the these are only ansi strings ie PSTR - // - if (pDrvOptItems[i].UserData) - { - pUserData = (PUSERDATA)pDrvOptItems[i].UserData; - if (pUserData->pKeyWordName) - { - // - //OPTITEM has valid data compare these now - // - if ( strcmp (pUserData->pKeyWordName, pKeyWordName) == 0) - { - pOptItem = &(pDrvOptItems[i]); - break; - } - } - } - } - } - - if (!pOptItem) - { - ERR(ERRORTEXT("FindDrvOptItem OPTITEM NOT Found \r\n") ); - } - - return pOptItem; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM document property UI. -// -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMDocUICallBack() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - // - //Refress the Data in the view and tell CPUSI that the data has changed by ret CPSUICB_ACTION_OPTIF_CHANGED - // - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData) - { - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMDocUICallBack2() entry, Reason is %d.\r\n"), pCallbackParam->Reason); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData) - { - pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData; - pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Creates and Initializes OptItems. -// -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems) -{ - POPTITEM pOptItems = NULL; - SIZE_T sizeOfOptItems = 0; - - // Compute the size of memory needed for the OptItems: - if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems))) - { - // Allocate memory for OptItems; - pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems); - if(NULL != pOptItems) - { - InitOptItems(pOptItems, dwOptItems); - } - else - { - ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n")); - } - } - else - { - ERR(ERRORTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n")); - } - - return pOptItems; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE(DLLTEXT("InitOptItems() entry.\r\n")); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE(DLLTEXT("CreateOptType() entry.\r\n")); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - - VERBOSE(DLLTEXT("GetStringResource(%#x, %#x, %d) entered.\r\n"), hHeap, hModule, uResource); - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize); - if(nResult > 0) - { - PTSTR pszTemp; - - - VERBOSE(DLLTEXT("LoadString() returned %d!\r\n"), nResult); - VERBOSE(DLLTEXT("String load was \"%s\".\r\n"), pszString); - - pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pszTemp) - { - pszString = pszTemp; - } - else - { - ERR(ERRORTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError()); - } - } - else - { - ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError()); - ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource); - - pszString = NULL; - } - } - else - { - ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - } - - return pszString; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h deleted file mode 100644 index 1c07802f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.h +++ /dev/null @@ -1,74 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for OEMUI Test Module. -// -// -#pragma once - -#include "OEM.H" -#include "DEVMODE.H" -#include "globals.h" - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - - -// OEM Signature and version. -#define PROP_TITLE L"OEM UI Page" -#define DLLTEXT(s) __TEXT("UI: ") __TEXT(s) - -// OEM UI Misc defines. -#define ERRORTEXT(s) __TEXT("ERROR ") DLLTEXT(s) - - -// Printer registry keys where OEM data is stored. -#define OEMUI_VALUE TEXT("OEMUI_VALUE") -#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE") - -// -//KeyWordNames for OPTITEMS (These are nonlocalised keywords assocaited with driver features. in the OPTITEMS) -// -const char DUPLEXUNIT[] = "DuplexUnit"; -const char ENVFEEDER[] = "EnvFeeder"; -const char PRINTERHDISK[] = "PrinterHardDisk"; - -// -//This structure is used to link the common pages and the OEM plugin page. -// -typedef struct _OEMSHEETDATA { - - // - //Any other OEM Data you may want to store. - // - - - // - //Hold Pointers you may need. - // - HANDLE hComPropSheet; //Handle to the Prop Sheet Parent Page Used when calling ComPropSheet - HANDLE hmyPlugin; //Handle to the OEM Plugin page. Page Used when calling ComPropSheet - PFNCOMPROPSHEET pfnComPropSheet; //Is the Pointer to ComPropSheet This is needed when APPLY is clicked (CPSFUNC_SET_RESULT) - - POEMCUIPPARAM pOEMCUIParam; //Holds links to the DEVMODE and OPTITEMS needed. - IPrintOemDriverUI* pOEMHelp; - -} OEMSHEETDATA, *POEMSHEETDATA; - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp); -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, POEMSHEETDATA pOemSheetData); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc deleted file mode 100644 index e87badbe..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/oemui.rc +++ /dev/null @@ -1,175 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "OEM UI Test Module." - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "OEMUI" - VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "OEMUI.dll" - VALUE "ProductName", "Microsoft OEMUI" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Device Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - GROUPBOX "Oem Install Options",IDC_STATIC,15,29,81,59 - LTEXT "OEM UI Controls",IDC_STATIC,55,14,68,11,WS_TABSTOP - CONTROL "Duplex Unit",IDC_CHECK_DUPLPEX,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,42,54,10 - CONTROL "Printer Hard Drive",IDC_CHECK_HDRIVE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,20,67,75,10 - CONTROL "Envelope Feeder",IDC_CHECK_ENVFEEDER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,20,54,71,10 -END - -IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Document Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_DEVICE_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 170 - TOPMARGIN, 8 - BOTTOMMARGIN, 106 - END - - IDD_DOC_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 203 - TOPMARGIN, 7 - BOTTOMMARGIN, 147 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "OEM UI Added Item" - IDS_CALIBRATED "Printer has been calibrated." - IDS_NAME "OEM UI Customization DLL" - IDS_DEV_SECTION "Device Settings OEM UI Added Item" - IDS_ADV_SECTION "Advanced OEM UI Added Item" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h deleted file mode 100644 index 2d502998..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precomp.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// -// PURPOSE: Header files that should be in the precompiled header. -// -// - -#pragma once - - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// Safe integer functions to detect integer overflow/underflow conditions: -#include <intsafe.h> - -// Include this last to disallow -// unsafe string functions -#include <strsafe.h> - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h deleted file mode 100644 index aacf0218..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/SyncSet/resource.h +++ /dev/null @@ -1,28 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by oemui.rc -// -#define IDS_SECTION 1 -#define IDS_CALIBRATED 2 -#define IDS_NAME 3 -#define IDS_HELPFILE 4 -#define IDS_DEV_SECTION 5 -#define IDS_ADV_SECTION 10 -#define IDD_DEVICE_PROPPAGE 106 -#define IDD_DOC_PROPPAGE 107 -#define IDC_CALIBRATE 1001 -#define IDC_RADIO3 1004 -#define IDC_CHECK_DUPLPEX 1008 -#define IDC_CHECK_HDRIVE 1009 -#define IDC_CHECK_ENVFEEDER 1010 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1011 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc deleted file mode 100644 index a6491905..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/OEMUI.rc +++ /dev/null @@ -1,169 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "OEM UI Test Module." - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "OEMUI" - VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "OEMUI.dll" - VALUE "ProductName", "Microsoft OEMUI" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Device Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11 - PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14 -END - -IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Document Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_DEVICE_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 172 - TOPMARGIN, 8 - BOTTOMMARGIN, 106 - END - - IDD_DOC_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 203 - TOPMARGIN, 7 - BOTTOMMARGIN, 147 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "OEM UI Added Item" - IDS_CALIBRATED "Printer has been calibrated." - IDS_NAME "OEM UI Customization DLL" - IDS_DEV_SECTION "Device Settings OEM UI Added Item" - IDS_ADV_SECTION "Advanced OEM UI Added Item" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest deleted file mode 100644 index bb48af65..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUI.Manifest +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> -<assemblyIdentity - version=SXS_ASSEMBLY_VERSION - processorArchitecture=SXS_PROCESSOR_ARCHITECTURE - name=SXS_ASSEMBLY_NAME - type="win32" -/> -<description>Your app description here</description> -<dependency> - <dependentAssembly> - <assemblyIdentity - type="win32" - name="Microsoft.Windows.Common-Controls" - version="6.0.0.0" - processorArchitecture=SXS_PROCESSOR_ARCHITECTURE - publicKeyToken="6595b64144ccf1df" - language="*" - /> - </dependentAssembly> -</dependency> -</assembly> diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj deleted file mode 100644 index 4abfd7bb..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj +++ /dev/null @@ -1,1120 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{EA206DEA-26E6-4FD4-BF68-23F222C5E211}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{7ABB810D-F51B-46DA-8A6C-6883AF316932}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>ThemeUISmpl</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) -ignore:4049,4217</AdditionalOptions> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE;ISOLATION_AWARE_ENABLED</PreprocessorDefinitions> - <PreprocessorDefinitions>%(PreprocessorDefinitions);MANIFEST_RESOURCE=2</PreprocessorDefinitions> - </ResourceCompile> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>ThemeUISmpl.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="fusutils.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="OEMUI.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters deleted file mode 100644 index d8206354..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/ThemeUISmpl.vcxproj.Filters +++ /dev/null @@ -1,327 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{18CF118F-704E-4B55-9621-B0D2F73CBFBE}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{44047F2E-3DA5-4847-BAE3-6573B04506AF}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{695ECF76-7AFF-4B2D-A4E5-2138B4CC5B5A}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="fusutils.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="fusutils.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oem.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="OEMUI.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="themeuismpl.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp deleted file mode 100644 index 15234361..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.cpp +++ /dev/null @@ -1,187 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - - -#include "precomp.h" -#include "oemui.h" -#include "debug.h" -#include "devmode.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// -//Performs operation on UI Plugins Private DevMode Members. -//Called via IOemUI::DevMode -// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - // - //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - //Private members - // - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - VERBOSE(DLLTEXT("pOEMDevOut after setting default values:\r\n")); - break; - - // - //The method should convert private DEVMODE members to the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - VERBOSE(DLLTEXT("pOEMDevIn:\r\n")); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data, if not valid. - if(pOEMDevmode->dwDriverData > 100) - { - pOEMDevmode->dwDriverData = 0; - } - - // Set Advanced driver data, if not valid. - if(pOEMDevmode->dwAdvancedData > 100) - { - pOEMDevmode->dwAdvancedData = 0; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h deleted file mode 100644 index b55fb016..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/devmode.h +++ /dev/null @@ -1,55 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - - - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -// -//Can add info to the private devmode bellow here. -//Note : -// This structure must be prefixed by OEM_DMEXTRAHEADER -// Your plug-in must implement the IPrintOemUI::DevMode method -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - DWORD dwDriverData; - DWORD dwAdvancedData; - - // - //Private DevMode Members - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp deleted file mode 100644 index a7c846b7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/dllentry.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "oemui.h" -#include "fusutils.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - - // Store the module handle in case we need it later. - ghInstance = hInst; - - // NOTE: We don't create an Activation Context on module load, - // but on need of an Avtivation Context; the first time - // GetMyActivationContext() or CreateMyActivationContext() is called. - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - - // Release the Activation Context if we created one somewhere - // by calling GetMyActivationContext() or CreateMyActivationContext(); - if(INVALID_HANDLE_VALUE != ghActCtx) - { - ReleaseActCtx(ghActCtx); - ghActCtx = INVALID_HANDLE_VALUE; - } - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp deleted file mode 100644 index 0f9bf2c3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.cpp +++ /dev/null @@ -1,118 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fsutils.h -// -// -// PURPOSE: Fusion utilities -// - -#include "precomp.h" -#include "globals.h" -#include "fusutils.h" - -#define MAX_LOOP 10 - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -HANDLE GetMyActivationContext() -{ - // Make sure we've created our activation context. - CreateMyActivationContext(); - - // Return the global. - return ghActCtx; -} - - -BOOL CreateMyActivationContext() -{ - if(INVALID_HANDLE_VALUE != ghActCtx) - { - return TRUE; - } - - ghActCtx = CreateActivationContextFromResource(ghInstance, MAKEINTRESOURCE(MANIFEST_RESOURCE)); - - return (INVALID_HANDLE_VALUE != ghActCtx); -} - - - -HANDLE CreateActivationContextFromResource(HMODULE hModule, LPCTSTR pszResourceName) -{ - DWORD dwSize = MAX_PATH; - DWORD dwUsed = 0; - DWORD dwLoop; - PTSTR pszModuleName = NULL; - ACTCTX act; - HANDLE hActCtx = INVALID_HANDLE_VALUE; - - - // Get the name for the module that contains the manifest resource - // to create the Activation Context from. - dwLoop = 0; - do - { - // May need to allocate or re-alloc buffer for module name. - if(NULL != pszModuleName) - { - // Need to re-alloc bigger buffer. - - // First, delete old buffer. - delete[] pszModuleName; - - // Second, increase buffer alloc size. - dwSize <<= 1; - } - pszModuleName = new TCHAR[dwSize]; - if(NULL == pszModuleName) - { - goto Exit; - } - - // Try to get the module name. - dwUsed = GetModuleFileName(hModule, pszModuleName, dwSize); - - // Check to see if it failed. - if(0 == dwUsed) - { - goto Exit; - } - - // If dwUsed is equla to dwSize or larger, - // the buffer passed in wasn't big enough. - } while ( (dwUsed >= dwSize) && (++dwLoop < MAX_LOOP) ); - - // Now let's try to create an activation context - // from manifest resource. - ::ZeroMemory(&act, sizeof(act)); - act.cbSize = sizeof(act); - act.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; - act.lpResourceName = pszResourceName; - act.lpSource = pszModuleName; - - hActCtx = CreateActCtx(&act); - - -Exit: - - // - // Clean up. - // - - if(NULL != pszModuleName) - { - delete[] pszModuleName; - } - - return hActCtx; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h deleted file mode 100644 index 2f79c522..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/fusutils.h +++ /dev/null @@ -1,18 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fsutils.h -// -// -// PURPOSE: Fusion utilities -// -#pragma once - -HANDLE GetMyActivationContext(); -BOOL CreateMyActivationContext(); -HANDLE CreateActivationContextFromResource(HMODULE hModule, LPCTSTR pszResourceName); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp deleted file mode 100644 index d2af1b8b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.cpp +++ /dev/null @@ -1,29 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// -// PURPOSE: File that contains all the globals. -// - -#include "precomp.h" -#include "globals.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; - -// Module's Activation Context from DLLEntry of process. -HANDLE ghActCtx = INVALID_HANDLE_VALUE; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h deleted file mode 100644 index a5a58cb8..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/globals.h +++ /dev/null @@ -1,21 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -extern HINSTANCE ghInstance; // Module's Instance handle from DLLEntry of process. -extern HANDLE ghActCtx; // Module's Activation Context from DLLEntry of process. - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp deleted file mode 100644 index 3b966a58..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.cpp +++ /dev/null @@ -1,575 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Implementation of interface for PScript4, PScript5, Unidrv4, -// Unidrv5 UI plug-ins. -// - -#include "precomp.h" - -#include "oemui.h" -#include "debug.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - - - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI body -// -IOemUI::~IOemUI() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IOemUI:QueryInterface entry.\r\n\r\n")); - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IOemUI:Return pointer to IUnknown.\r\n\r\n")); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE(DLLTEXT("IOemUI:Return pointer to IPrintOemUI.\r\n")); - } - else - { - VERBOSE(DLLTEXT("IOemUI::QueryInterface interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemUI::AddRef() -{ - VERBOSE(DLLTEXT("IOemUI:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI::Release() -{ - VERBOSE(DLLTEXT("IOemUI:Release entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -HRESULT __stdcall IOemUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IOemUI:PublishDriverInterface entry.\r\n")); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -HRESULT __stdcall IOemUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IOemUI::GetInfo entry.\r\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IOemUI::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IOemUI::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IOemUI::GetInfo() exit S_OK.\r\r\n")); - return S_OK; -} - -HRESULT __stdcall IOemUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IOemUI:DevMode entry.\r\n")); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IOemUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE(DLLTEXT("IOemUI:CommonUIProp entry.\r\n")); - - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -HRESULT __stdcall IOemUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DocumentPropertySheets entry.\r\n")); - - return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp); -} - -HRESULT __stdcall IOemUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DevicePropertySheets entry.\r\n")); - - return hrOEMDevicePropertySheets(pPSUIInfo, lParam); -} - -HRESULT __stdcall IOemUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE(DLLTEXT("IOemUI:DeviceCapabilities entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE(DLLTEXT("IOemUI:DevQueryPrintEx entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE(DLLTEXT("IOemUI:UpgradePrinter entry.\r\n")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:PrinterEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:DriverEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -#define PROFILE_NAME L"OEMPROFILE.icm\0" - -HRESULT __stdcall IOemUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - HRESULT Result = E_FAIL; - - - VERBOSE(DLLTEXT("IOemUI:QueryColorProfile entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - if(QCP_DEVICEPROFILE == ulQueryMode) - { - if(NULL == pvProfileData) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - if(*pcbProfileData < sizeof(PROFILE_NAME)) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME); - *pcbProfileData = sizeof(PROFILE_NAME); - *pflProfileData = QCP_PROFILEDISK; - - if(FAILED(Result)) - { - SetLastError(Result); - } - } - } - } - - return Result; -}; - -HRESULT __stdcall IOemUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IOemUI:FontInstallerDlgProc entry.\r\n")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE(DLLTEXT("IOemUI:UpdateExternalFonts entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - WARNING(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IOemUI* pOemCB = new IOemUI ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h deleted file mode 100644 index d9bdf3a2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/intrface.h +++ /dev/null @@ -1,179 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.h -// -// -// PURPOSE: Header of interface for PScript5 and Unidrv5 UI plug-in. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI -// -class IOemUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - - IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; }; - ~IOemUI(); - -protected: - LONG m_cRef; - IPrintOemDriverUI* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h deleted file mode 100644 index bf3d75f9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oem.h +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: oem.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp deleted file mode 100644 index 61f3d378..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.cpp +++ /dev/null @@ -1,756 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.cpp -// -// -// PURPOSE: Main file for OEM UI test module. -// -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "fusutils.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - -} CBUSERDATA, *PCBUSERDATA; - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam); -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource); - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n")); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam); - break; - - default: - // Should never reach this! - ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode")); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n")); - } - else - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n")); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM printer property UI. -// -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM printer property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE(DLLTEXT("hrPrinterPropertyPage() requesting items.\r\n")); - } - else - { - DWORD dwError; - DWORD dwDeviceValue; - DWORD dwType; - DWORD dwNeeded; - - - VERBOSE(DLLTEXT("hrPrinterPropertyPage() fill out items.\r\n")); - - // Get device settings value from printer. - dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue, - sizeof(dwDeviceValue), &dwNeeded); - if( (ERROR_SUCCESS != dwError) - || - (dwDeviceValue > 100) - ) - { - // Failed to get the device value or value is invalid, just use the default. - dwDeviceValue = 0; - } - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to Document property sheet. -// -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, - IPrintOemDriverUI* pOEMHelp) -{ - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - VERBOSE(DLLTEXT("hrOEMDocumentPropertySheets() entry.\r\n")); - - UNREFERENCED_PARAMETER(pOEMHelp); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(DLLTEXT("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - DWORD dwSheets = 0; - PCBUSERDATA pUserData; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - HANDLE hHeap = pOEMUIParam->hOEMHeap; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - COMPROPSHEETUI Sheet; - - - // Init property page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = CPSUIF_UPDATE_PERMISSION; - Sheet.hInstCaller = ghInstance; - Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME); - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDocUICallBack2; - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Init user data. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if (NULL == pUserData) - { - ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if (NULL == Sheet.pOptItem) - { - ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Initialize OptItems - Sheet.pOptItem[0].Level = 1; - Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE; - Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData; - - Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2); - if (NULL == Sheet.pOptItem[0].pOptType) - { - ERR(DLLTEXT("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n")); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW; - Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0; - Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100; - - // NOTE: Don't need to do anything with Activation Contexts - // to get Themed UI, since Compstui will create this - // page using it's Activation Context which specifies - // comctl v6. - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to printer property sheet. -// -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam) -{ - LONG_PTR lResult = 0; - - - VERBOSE(DLLTEXT("hrOEMDevicePropertySheets entry\r\n")); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR(DLLTEXT("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - PROPSHEETPAGE Page; - - // Init property page. - memset(&Page, 0, sizeof(PROPSHEETPAGE)); - Page.dwSize = sizeof(PROPSHEETPAGE); - Page.dwFlags = PSP_DEFAULT; - Page.hInstance = ghInstance; - Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE); - Page.pfnDlgProc = DevicePropPageProc; - Page.hActCtx = GetMyActivationContext(); - - // Set the flag to indicate that our PROPSHEETPAGE - // has an Activation Context. - // The Activation Context indicates with version of - // comctl for Compstui to create our PROPSHEETPAGE - // with. To get Themed UI we need to specify comctl v6. - if( (NULL != Page.hActCtx) && (INVALID_HANDLE_VALUE != Page.hActCtx)) - { - Page.dwFlags |= PSP_USEFUSIONCONTEXT; - } - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0); - - // NOTE: The Activation Context is released when the DLL is unloaded - // during DLL_PROCESS_DETACH. - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - pPSUIInfo->Result = lResult; - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM printer property UI. -// -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - - VERBOSE(DLLTEXT("OEMPrinterUICallBack() entry.\r\n")); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - { - DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel; - - // Store OptItems state in printer data. - SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD)); - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Call back for OEM device property UI. -// -#pragma warning(push) -#pragma warning(disable:6262) // this method exceeds the default threshold for stack usage by a few bytes. -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) -{ - switch (uiMsg) - { - case WM_COMMAND: - switch(HIWORD(wParam)) - { - case BN_CLICKED: - switch(LOWORD(wParam)) - { - case IDC_CALIBRATE: - // Just display a message that the printer is calibrated, - // since we don't acutally calibrate anything. - { - TCHAR szName[MAX_PATH]; - TCHAR szCalibrated[MAX_PATH]; - - - LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0])); - LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0])); - MessageBox(hDlg, szCalibrated, szName, MB_OK); - } - break; - } - break; - - default: - return FALSE; - } - return TRUE; - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) // type of notification message - { - case PSN_SETACTIVE: - break; - - case PSN_KILLACTIVE: - break; - - case PSN_APPLY: - break; - - case PSN_RESET: - break; - } - } - break; - } - - return FALSE; -} -#pragma warning(pop) - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM document property UI. -// -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - VERBOSE(DLLTEXT("OEMDocUICallBack() entry.\r\n")); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData) - { - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMDocUICallBack2() entry.\r\n")); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData) - { - pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData; - pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Creates and Initializes OptItems. -// -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems) -{ - POPTITEM pOptItems = NULL; - SIZE_T sizeOfOptItems = 0; - - // Compute the size of memory needed for the OptItems: - if (SUCCEEDED(SIZETMult(sizeof(OPTITEM), (SIZE_T)dwOptItems, &sizeOfOptItems))) - { - // Allocate memory for OptItems; - pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeOfOptItems); - if(NULL != pOptItems) - { - InitOptItems(pOptItems, dwOptItems); - } - else - { - ERR(DLLTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n")); - } - } - else - { - ERR(DLLTEXT("CreateOptItems() failed to compute necessary memory size for OPTITEMs!\r\n")); - } - - return pOptItems; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE(DLLTEXT("InitOptItems() entry.\r\n")); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE(DLLTEXT("CreateOptType() entry.\r\n")); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - - VERBOSE(DLLTEXT("GetStringResource entered.\r\n")); - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize); - if(nResult > 0) - { - PTSTR pszTemp; - - pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pszTemp) - { - pszString = pszTemp; - } - else - { - ERR(DLLTEXT("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n")); - } - } - else - { - ERR(DLLTEXT("GetStringResource() failed to load string resource!\r\n")); - - pszString = NULL; - } - } - else - { - ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - } - - return pszString; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h deleted file mode 100644 index 0f392cc5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/oemui.h +++ /dev/null @@ -1,45 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for OEMUI Test Module. -// - -#pragma once - -#include "OEM.H" -#include "DEVMODE.H" -#include "globals.h" - - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - - -// OEM Signature and version. -#define PROP_TITLE L"OEM UI Page" -#define DLLTEXT(s) "ThemeUI: " s - - -// Printer registry keys where OEM data is stored. -#define OEMUI_VALUE TEXT("OEMUI_VALUE") -#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE") - - - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp); -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h deleted file mode 100644 index 0607fe55..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precomp.h +++ /dev/null @@ -1,61 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.H -// -// -// PURPOSE: Common headers that don't change often -// - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// Isolation define for using ComCtrl v6. -#ifndef ISOLATION_AWARE_ENABLED - #define ISOLATION_AWARE_ENABLED -#endif - - -// Required header files that shouldn't change often. - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include "COMPSTUI.H" -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <COMMCTRL.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// Safe character string functions to detect buffer overrun conditions: -#include <strsafe.h> - -// Safe integer functions to detect integer overflow/underflow conditions: -#include <intsafe.h> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h deleted file mode 100644 index 71d3d3d6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/resource.h +++ /dev/null @@ -1,24 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by OEMUI.rc -// -#define IDS_SECTION 1 -#define IDS_CALIBRATED 2 -#define IDS_NAME 3 -#define IDS_DEV_SECTION 4 -#define IDS_DEVICE_SECTION 4 -#define IDS_ADV_SECTION 10 -#define IDD_DEVICE_PROPPAGE 106 -#define IDD_DOC_PROPPAGE 107 -#define IDC_CALIBRATE 1001 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1002 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def b/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def deleted file mode 100644 index 8e60b60d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/ThemeUI/themeuismpl.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY ThemeUISmpl -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini b/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini deleted file mode 100644 index 11176160..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/WMarkPS.ini +++ /dev/null @@ -1,4 +0,0 @@ -[OEMFiles] -OEMConfigFile1=WMARKUI.DLL -OEMDriverFile1=WMARKPS.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini b/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini deleted file mode 100644 index 4ae540c4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/WMarkUni.ini +++ /dev/null @@ -1,5 +0,0 @@ -[OEMFiles] -OEMConfigFile1=WMARKUNIUI.DLL -OEMDriverFile1=WMARKUNI.DLL - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd deleted file mode 100644 index 467e3e21..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.gpd +++ /dev/null @@ -1,509 +0,0 @@ -*GPDFileName: "bitmap.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*ModelName: "Bitmap Driver" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option2 - *Option: Option1 - { - *Name: "600 x 600" =DOTS_PER_INCH - *DPI: PAIR(600, 600) - *TextDPI: PAIR(600, 600) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "" } - *Command: CmdEndRaster { *Cmd : "" } - *Command: CmdSendBlockData { *Cmd : "" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "" - } - } - *Option: Option2 - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "" } - *Command: CmdEndRaster { *Cmd : "" } - *Command: CmdSendBlockData { *Cmd : "" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "" - } - } - *Option: Option3 - { - *Name: "150 x 150" =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(150, 150) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "" } - *Command: CmdEndRaster { *Cmd : "" } - *Command: CmdSendBlockData { *Cmd : "" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "" - } - } - } - } -} - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: PLAIN - *Option: PLAIN - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% Color Mode -*%****************************************************************************************** -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *DefaultOption: 8bpp - *Option: Mono - { - *rcNameID: =MONO_DISPLAY - *DevNumOfPlanes: 0 - *DevBPP: 0 - *IPCallbackID: 1 - *Color?: FALSE - } - *Option: Color - { - *rcNameID: =COLOR_DISPLAY - *DevNumOfPlanes: 0 - *DevBPP: 0 - *DrvBPP: 4 - *IPCallbackID: 2 - *PaletteSize: 8 - *PaletteProgrammable?: TRUE - *Command: CmdEnableDRC { *Cmd: "" } - *Command: CmdDefinePaletteEntry { *Cmd : "" } - *Command: CmdSelectPaletteEntry { *Cmd : "" } - *Command: CmdSetSrcBmpWidth { *Cmd : "" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "" - } - } - *Option: 8bpp - { - *rcNameID: =8BPP_DISPLAY - *DevNumOfPlanes: 0 - *DevBPP: 0 - *DrvBPP: 8 - *IPCallbackID: 3 - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdEnableDRC { *Cmd : "" } - *Command: CmdDefinePaletteEntry { *Cmd : "" } - *Command: CmdSelectPaletteEntry { *Cmd : "" } - *Command: CmdSetSrcBmpWidth { *Cmd : "" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "" - } - } - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 0 - *DevBPP: 0 - *DrvBPP: 24 - *IPCallbackID: 5 - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdEnableDRC { *Cmd : "" } - *Command: CmdDefinePaletteEntry { *Cmd : "" } - *Command: CmdSelectPaletteEntry { *Cmd : "" } - *Command: CmdSetSrcBmpWidth { *Cmd : "" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Duplex Unit -*%****************************************************************************************** -*Feature: DuplexUnit -{ - *rcNameID: 429 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *rcNameID: 444 - *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL) - } - *Option: TRUE - { - *rcNameID: 443 - } -} - -*%****************************************************************************************** -*% Duplex Type -*%****************************************************************************************** -*Feature: Duplex -{ - *rcNameID: =TWO_SIDED_PRINTING_DISPLAY - *DefaultOption: NONE - *Option: NONE - { - *rcNameID: =NONE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "" - } - } - *Option: VERTICAL - { - *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "" - } - } - *Option: HORIZONTAL - { - *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "" -} - -*%****************************************************************************************** -*% Cursor and Page Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*EjectPageWithFF?: TRUE -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*Command: CmdCR { *Cmd : "" } -*Command: CmdLF { *Cmd : "" } -*Command: CmdFF { *Cmd : "" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf Binary files differdeleted file mode 100644 index 5d01b260..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini b/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini deleted file mode 100644 index 2388914c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap.ini +++ /dev/null @@ -1,5 +0,0 @@ -[OEMFiles] -OEMDriverFile1=BITMAP.DLL - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def deleted file mode 100644 index 1a4df55f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY bitmap -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h deleted file mode 100644 index ee068c02..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h +++ /dev/null @@ -1,81 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: BITMAP.H -// -// -// PURPOSE: Define the COemPDEV class which stores the private -// PDEV for the driver. -// - - -#pragma once - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -#define RGB_BLACK RGB(0, 0, 0) -#define RGB_WHITE RGB(255, 255, 255) - -class COemPDEV -{ -public: - COemPDEV(void) : - m_pfnDrvEndDoc(NULL), - pBufStart(NULL), - dwBufSize(0), - cPalColors(0), - hpalDefault(), - prgbq(NULL), - cbHeaderOffBits(0), - bHeadersFilled(FALSE), - bColorTable(FALSE) - { - memset(&bmFileHeader, 0, sizeof(bmFileHeader)); - memset(&bmInfoHeader, 0, sizeof(bmInfoHeader)); - } - - virtual ~COemPDEV(void) - { - } - - void InitializeDDITable(DRVENABLEDATA* pded) - { - UINT iDrvFn; - UINT cDrvFn = pded->c; - PDRVFN pDrvFn = pded->pdrvfn; - - for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn) - { - if (pDrvFn->iFunc == INDEX_DrvEndDoc) - { - m_pfnDrvEndDoc = (PFN_DrvEndDoc)(pDrvFn->pfn); - } - } - } - -public: - - PFN_DrvEndDoc m_pfnDrvEndDoc; // Unidrv function to call back into from the DDI hook - PBYTE pBufStart; // Pointer to start of buffer to hold the bitmap data - DWORD dwBufSize; // Buffer size - BITMAPFILEHEADER bmFileHeader; // BitmapFileHeader for each dump - BITMAPINFOHEADER bmInfoHeader; // BitmapInfoHeader for each dump - int cPalColors; // Count of colors in palette. - HPALETTE hpalDefault; // Default palette to pass to GDI. - _Field_size_(cPalColors) RGBQUAD * prgbq; // Color table - INT cbHeaderOffBits; // Offset to bits in the file - BOOL bHeadersFilled; // Flag to indicate if the header stuff has been filled - BOOL bColorTable; // Flag to indicate if color table needs to be dumped - -}; - -typedef COemPDEV* POEMPDEV; - -BOOL bGrowBuffer(POEMPDEV, DWORD); // Function to enlarge the buffer for holding the bitmap data -VOID vFreeBuffer(POEMPDEV); // Function to free the buffer for holding the bitmap data -BOOL bFillColorTable(POEMPDEV); // Function to fill the color table for the bitmap data diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc deleted file mode 100644 index 737bba96..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc +++ /dev/null @@ -1,110 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by DDK Support Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "Bitmap Driver Sample\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "BITMAP\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "BITMAP.DLL\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft Bitmap Driver Sample\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj deleted file mode 100644 index d530f136..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj +++ /dev/null @@ -1,1090 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{EDCCC34A-50DF-4894-B7B9-FC156F899947}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{64A7662C-5E32-41A7-939B-B51114210693}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>bitmap</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;gdi32.lib;umpdddi.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>bitmap.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="bitmap.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters deleted file mode 100644 index a78a5c8a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{5A882741-1FD2-4D80-ACC9-DCFE8F90AD24}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{A14D506D-8B56-426A-80B4-0CA6D7A24A0B}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{A8C3D9A5-36FC-4F1B-A9A6-605F3BD79ED7}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="bitmap.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="bitmap.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="bitmap.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp deleted file mode 100644 index 17984513..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: DDIHook.cpp -// -// -// PURPOSE: Implementation of DDI Hook OEMEndDoc. This function -// dumps the buffered bitmap data out. -// - - -#include "precomp.h" -#include "bitmap.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// -// Function prototype is defined in printoem.h -// -BOOL APIENTRY -OEMEndDoc( - SURFOBJ *pso, - FLONG fl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvEndDoc. - - DrvEndDoc is called by GDI when it has finished - sending a document to the driver for rendering. - - Please refer to DDK documentation for more details. - - This particular implementation of OEMEndDoc performs - the following operations: - - Dump the bitmap file header - - Dump the bitmap info header - - Dump the color table if one exists - - Dump the buffered bitmap data - - Free the memory for the data buffers - -Arguments: - - pso - Defines the surface object - flags - A set of flag bits - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - DWORD dwWritten; - INT cScans; - - if (pOemPDEV->pBufStart) - { - // Fill BitmapFileHeader - // - DWORD dwTotalBytes = pOemPDEV->cbHeaderOffBits + pOemPDEV->bmInfoHeader.biSizeImage; // File size - - pOemPDEV->bmFileHeader.bfType = 0x4d42; // Signature = 'BM' - pOemPDEV->bmFileHeader.bfSize = dwTotalBytes; // Bytes in whole file. - pOemPDEV->bmFileHeader.bfReserved1 = 0; - pOemPDEV->bmFileHeader.bfReserved2 = 0; - pOemPDEV->bmFileHeader.bfOffBits = pOemPDEV->cbHeaderOffBits; // Offset to bits in file. - - if (pOemPDEV->bColorTable) - pOemPDEV->bmFileHeader.bfOffBits += pOemPDEV->cPalColors * sizeof(ULONG); - - // Num of scanlines - // - cScans = pOemPDEV->bmInfoHeader.biHeight; - - // Flip the biHeight member so that it denotes top-down bitmap - // - pOemPDEV->bmInfoHeader.biHeight = cScans * -1; - - // Dump headers first - // - dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, (void*)&(pOemPDEV->bmFileHeader), sizeof(BITMAPFILEHEADER)); - dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, (void*)&(pOemPDEV->bmInfoHeader), sizeof(BITMAPINFOHEADER)); - if (pOemPDEV->bColorTable) - { - dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, pOemPDEV->prgbq, pOemPDEV->cPalColors * sizeof(ULONG)); - LocalFree(pOemPDEV->prgbq); - } - - // Dump the data now - // - dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, pOemPDEV->pBufStart, pOemPDEV->bmInfoHeader.biSizeImage); - - // Free memory for the data buffers - // - vFreeBuffer(pOemPDEV); - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvEndDoc)(pso, fl); -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp deleted file mode 100644 index 7845d5c1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp +++ /dev/null @@ -1,132 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Helper functions for manipulating the DEVMODE. These are commonly -// shared by UI & rendering modules -// - - -#include "precomp.h" -#include "bitmap.h" -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -BOOL bConvertOEMDevmode( - PCOEMDEV pOEMDevIn, - POEMDEV pOEMDevOut - ) - -/*++ - -Routine Description: - - Converts private DEVMODE members to the - current version. - -Arguments: - - pOEMDevIn - pointer to OEM private devmode - pOEMDevOut - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - } - - return TRUE; -} - - -BOOL bMakeOEMDevmodeValid( - POEMDEV pOEMDevmode - ) - -/*++ - -Routine Description: - - Ensures that private OEM devmode members are valid. - -Arguments: - - pOEMDevmode - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data. - pOEMDevmode->dwDriverData = 0; - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h deleted file mode 100644 index 5f62454f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h +++ /dev/null @@ -1,37 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// - -#pragma once - -//////////////////////////////////////////////////////// -// OEM Private Devmode Definition -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL dwDriverData; -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp deleted file mode 100644 index 4483a741..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// - - -#include "precomp.h" -#include "bitmap.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// - -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_PROCESS_DETACH: - break; - - case DLL_THREAD_DETACH: - break; - } - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp deleted file mode 100644 index dcfdcd6f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp +++ /dev/null @@ -1,2048 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// - - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" -#include "bitmap.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// ================================================================== -// Internal Globals -// -static long g_cComponents; // Count of active components -static long g_cServerLocks; // Count of locks -// -// ================================================================== - -// ================================================================== -// The purpose of this array is to inform UNIDRV of the callbacks -// that are implemented in this driver. -// -// Note that there is *NO* order dependency in this array. New -// index values and their corresponding callbacks can be placed -// anywhere within the list as needed. -// -static const DRVFN s_aOemHookFuncs[] = -{ - {INDEX_DrvEndDoc, (PFN)OEMEndDoc} -}; - - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 body -// -COemUni2::COemUni2() -{ - m_cRef = 1; - - // Increment COM component count. - InterlockedIncrement(&g_cComponents); - - m_pOEMHelp = NULL; - -} - -COemUni2::~COemUni2() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall -COemUni2:: -QueryInterface( - const IID& iid, - void** ppv - ) -{ - - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - } - else if (iid == IID_IPrintOemUni2) - { - *ppv = static_cast<IPrintOemUni2*>(this); - } - else - { - WARNING("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n"); - - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemUni2:: -AddRef( - VOID - ) -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemUni2:: -Release( - VOID - ) -{ - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (cRef == 0) - { - delete this; - return 0; - } - return cRef; -} - -HRESULT __stdcall -COemUni2:: -CommandCallback( - PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::CommandCallback - - The IPrintOemUni::CommandCallback method is used - to provide dynamically generated printer commands - for Unidrv-supported printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwCallbackID - value representing the printer command's - *CallbackID attribute in the printer's generic printer - description (GPD) file. - dwCount - value representing the number of elements - in the array pointed to by pdwParams. Can be 0. - pdwParams - pointer to an array of DWORD-sized parameters - containing values specified by the printer commands - *Params attribute in the printer's GPD file. Can be NULL. - piResult - Receives a method-supplied result value. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pdwParams); - - *piResult = 0; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -Compression( - PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::Compression - - The IPrintOemUni::Compression method can be used - with Unidrv-supported printers to provide a customized - bitmap compression method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pInBuf - pointer to input scan line data. - pOutBuf - pointer to an output buffer to receive - compressed scan line data. - dwInLen - length of the input data. - dwOutLen - length of the output buffer. - piResult - Receives a method-supplied result value. If the - operation succeeds, this value should be the number - of compressed bytes, which must not be larger than - the value received for dwOutLen. If an error occurs, - or if the method cannot compress, the result value - should be -1. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pInBuf); - UNREFERENCED_PARAMETER(pOutBuf); - UNREFERENCED_PARAMETER(dwInLen); - UNREFERENCED_PARAMETER(dwOutLen); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DevMode - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DevMode method. - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. When both UI and rendering - plug-ins are present in a driver, this functionality - should be factored out to be common to both modules, and - provide the same behavior. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - caller-supplied constant. Refer to the docs - for more information. - pOemDMParam - pointer to an OEMDMPARAM structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - )) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devmode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - break; - - case OEMDM_CONVERT: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - bMakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DisableDriver( - VOID - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisableDriver - - The IPrintOemUni::DisableDriver method allows - a rendering plug-in for Unidrv to free resources - that were allocated by the plug-in's - IPrintOemUni::EnableDriver method. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisableDriver method. - - The IPrintOemUni::DisableDriver method allows a rendering - plug-in for Unidrv to free resources that were allocated by the - plug-in's IPrintOemUni::EnableDriver method. This is the last - IPrintOemUni interface method that is called before the rendering - plug-in is unloaded. - - Please refer to DDK documentation for more details. - -Arguments: - - VOID - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - // Release reference to Printer Driver's interface. - // - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DisablePDEV( - PDEVOBJ pdevobj - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisablePDEV - - The IPrintOemUni::DisablePDEV method allows a rendering - plug-in for Unidrv to delete the private PDEV structure that - was allocated by its IPrintOemUni::EnablePDEV method. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisablePDEV method. - - The IPrintOemUni::DisablePDEV method performs the same types of - operations as the DrvDisablePDEV function. Its purpose is to allow a - rendering plug-in to delete the private PDEV structure that is pointed - to by the DEVOBJ structure's pdevOEM member. This PDEV structure - is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - // Release our COemPDEV instance created by the call to - // EnablePDEV. - // - POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM; - delete pOemPDEV; - pOemPDEV = NULL; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DownloadCharGlyph( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadCharGlyph - - The IPrintOemUni::DownloadCharGlyph method enables a - rendering plug-in for Unidrv to send a character glyph for - a specified soft font to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - hGlyph - glyph handle. - pdwWidth - pointer to receive the method-supplied width of the character. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the character glyph. - If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(hGlyph); - UNREFERENCED_PARAMETER(pdwWidth); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DownloadFontHeader( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadFontHeader - - The IPrintOemUni::DownloadFontHeader method allows a - rendering plug-in for Unidrv to send a font's header - information to a printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the font header - information. If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DriverDMS( - PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DriverDMS - - The IPrintOemUni::DriverDMS method allows a rendering - plug-in for Unidrv to indicate that it uses a device-managed - drawing surface instead of the default GDI-managed surface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DriverDMS method. - - Please refer to DDK documentation for more details. For general info - on device managed surfaces and how to handle them, please refer to - the section titled "Handling Device-Managed Surfaces". - -Arguments: - - pDevObj - pointer to a DEVOBJ structure. - pBuffer - pointer to a buffer to receive method-specified flags. - cbSize - size, in bytes, of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the required - minimum pBuffer size. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pDevObj); - UNREFERENCED_PARAMETER(pBuffer); - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pcbNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -EnableDriver( - DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnableDriver - - The IPrintOemUni::EnableDriver method allows a rendering - plug-in for Unidrv to hook out some graphics DDI functions. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnableDriver method. - - The IPrintOemUni::EnableDriver method allows a rendering - plug-in to perform the same types of operations as the - DrvEnableDriver function. Like the DrvEnableDriver function, - the IPrintOemUni::EnableDriver method is responsible for - providing addresses of internally supported graphics DDI functions, - or DDI hook functions. - - The method should fill the supplied DRVENABLEDATA structure - and allocate an array of DRVFN structures. It should fill the - array with pointers to hooking functions, along with winddi.h-defined - index values that identify the hooked out graphics DDI functions. - - Please refer to DDK documentation for more details. - -Arguments: - - DriverVersion - interface version number. This value is - defined by PRINTER_OEMINTF_VERSION, in printoem.h. - cbSize - size, in bytes, of the structure pointed to by pded. - pded - pointer to a DRVENABLEDATA structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - - // We need to return the DDI functions that have been hooked - // in pded. Here we fill out the fields in pded. - // - pded->iDriverVersion = PRINTER_OEMINTF_VERSION; - pded->c = _countof(s_aOemHookFuncs); - pded->pdrvfn = (DRVFN *) s_aOemHookFuncs; - - // Even if nothing is done, need to return S_OK so - // that DisableDriver() will be called, which releases - // the reference to the Printer Driver's interface. - // - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnablePDEV - - The IPrintOemUni::EnablePDEV method allows a rendering - plug-in for Unidrv to create its own PDEV structure. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnablePDEV method. - - The IPrintOemUni::EnablePDEV method performs the same types - of operations as the DrvEnablePDEV function that is exported - by a printer graphics DLL. Its purpose is to allow a rendering - plug-in to create its own PDEV structure. For more information - about PDEV structures, see "Customized PDEV Structures" in the DDK docs. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pPrinterName - pointer to a text string representing the - logical address of the printer. - cPatterns - value representing the number of HSURF-typed - surface handles contained in the buffer pointed to by - phsurfPatterns. - phsurfPatterns - pointer to a buffer that is large enough to - contain cPatterns number of HSURF-typed surface handles. - The handles represent surface fill patterns. - cjGdiInfo - value representing the size of the structure pointed - to by pGdiInfo. - pGdiInfo - pointer to a GDIINFO structure. - cjDevInfo - value representing the size of the structure pointed - to by pDevInfo. - pDevInfo - pointer to a DEVINFO structure. - pded - pointer to a DRVENABLEDATA structure containing the - addresses of the printer driver's graphics DDI hooking functions. - pDevOem - Receives a method-supplied pointer to a private PDEV structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - If the operation fails, the method should call SetLastError to set an error code. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - - // Allocate an instance of our private PDEV. - // - POEMPDEV pOemPDEV = new COemPDEV(); - - if (NULL == pOemPDEV) - { - return E_FAIL; - } - - pOemPDEV->InitializeDDITable(pded); - - // Initializing private oempdev stuff - // - pOemPDEV->bHeadersFilled = FALSE; - pOemPDEV->bColorTable = FALSE; - pOemPDEV->cbHeaderOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER); - pOemPDEV->bmInfoHeader.biHeight = 0; - pOemPDEV->bmInfoHeader.biSizeImage = 0; - pOemPDEV->pBufStart = NULL; - pOemPDEV->dwBufSize = 0; - - // We create a BGR palette for 24bpp so that we can avoid color byte order manipulation - // - if (pGdiInfo->cBitsPixel == 24) - pDevInfo->hpalDefault = EngCreatePalette(PAL_BGR, 0, 0, 0, 0, 0); - - // Store the handle to the default palette so that we can fill the color table later - // - pOemPDEV->hpalDefault = pDevInfo->hpalDefault; - - *pDevOem = pOemPDEV; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -FilterGraphics( - PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::FilterGraphics - - The IPrintOemUni::FilterGraphics method can be used with - Unidrv-supported printers to modify scan line data and send - it to the spooler. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to a buffer containing scan line data to be printed. - dwLen - value representing the length, in bytes, of the data - pointed to by pBuf. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - DWORD dwResult; - - m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult); - - if (dwResult == dwLen) - return S_OK; - else - return S_FALSE; -} - -HRESULT __stdcall -COemUni2:: -GetImplementedMethod( - _In_ PSTR pMethodName - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetImplementedMethod - - The IPrintOemUni::GetImplementedMethod method is used by - Unidrv to determine which IPrintOemUni interface methods - have been implemented by a rendering plug-in. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetImplemented method. - - Please refer to DDK documentation for more details. - -Arguments: - - pMethodName - pointer to a string representing the name of an - IPrintOemUni interface method, such as "ImageProcessing" - for IPrintOemUni::ImageProcessing or "FilterGraphics" for - IPrintOemUni::FilterGraphics. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - HRESULT Result = S_FALSE; - - // Unidrv only calls GetImplementedMethod for optional - // methods. The required methods are assumed to be - // supported. - - // Return S_OK for supported function (i.e. implemented), - // and S_FALSE for functions that aren't supported (i.e. not implemented). - switch (*pMethodName) - { - case 'C': - if (!strcmp(NAME_CommandCallback, pMethodName)) - { - Result = S_OK; - } - break; - case 'F': - if (!strcmp(NAME_FilterGraphics, pMethodName)) - { - Result = S_OK; - } - break; - case 'I': - if (!strcmp(NAME_ImageProcessing, pMethodName)) - { - Result = S_OK; - } - break; - } - - return Result; -} - -HRESULT __stdcall -COemUni2:: -GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetInfo - - A rendering plug-in's IPrintOemUni::GetInfo method returns - identification information. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetInfo method. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - Contains one of the following caller-supplied integer constants. - OEMGI_GETSIGNATURE - The method must return a unique four-byte - identification signature. The plug-in must also place this signature - in OPTITEM structures, as described in the description of the - OEMCUIPPARAM. structure's pOEMOptItems member. - OEMGI_GETVERSION - The method must return the user interface - plug-in's version number as a DWORD. The version format is - developer-defined. - pBuffer - pointer to memory allocated to receive the information specified - by dwInfo. - cbSize - size of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the number of bytes written - into the buffer pointed to by pBuffer. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - PWSTR pszTag = L"COemUni2::GetInfo entry."; - switch(dwMode) - { - case OEMGI_GETSIGNATURE: pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]"; break; - case OEMGI_GETVERSION: pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]"; break; - - } - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) ) ) - { - WARNING("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. If not, return error, and also ensure that - // the required buffer size is provided to the caller. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING("COemUni2::GetInfo() exit mode not supported.\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -HalftonePattern( - PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::HalftonePattern - - The IPrintOemUni::HalftonePattern method can be used with - Unidrv-supported printers to create or modify a halftone - pattern before it is used in a halftoning operation. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pHTPattern - pointer to a buffer to receive the method-supplied - halftone pattern. Buffer size, in bytes, is: - (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns. - dwHTPatternX - length, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTPatternY - height, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTNumPatterns - number of patterns, as specified by the GPD file's - *HTNumPatterns attribute. This can be 1 or 3. - dwCallbackID - value identifying the halftone method, as specified by - the GPD file's *HTCallbackID attribute. - pResource - pointer to a buffer containing a halftone pattern, as - specified by the GPD file's *rcHTPatternID attribute. This can be NULL. - dwResourceSize - size of the halftone pattern contained in the buffer - pointed to by pResource. This is zero if pResource is NULL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pHTPattern); - UNREFERENCED_PARAMETER(dwHTPatternX); - UNREFERENCED_PARAMETER(dwHTPatternY); - UNREFERENCED_PARAMETER(dwHTNumPatterns); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pResource); - UNREFERENCED_PARAMETER(dwResourceSize); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -ImageProcessing( - PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ImageProcessing - - The IPrintOemUni::ImageProcessing method can be used with - Unidrv-supported printers to modify image bitmap data, in order - to perform color formatting or halftoning. The method can return - the modified bitmap to Unidrv or send it directly to the print spooler. - - Please refer to DDK documentation for more details. - - The algorithm for this particular implementation of ImageProcessing is as follows. - - If headers have not been filled as yet, fill them. - - We fill out only the info header and the color table here. The file header is filled - out in OEMEndDoc. - - The height and image size in the bitmap info header are updated every time - we enter ImageProcessing. - - Increase the size of the data buffer by the size of the current band. - - Copy over the data from the current band to the buffer. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pSrcBitmap - pointer to an input device-independent bitmap (DIB). - pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure - that describes the bitmap pointed to by pSrcBitmap. - pColorTable - pointer to a color table. Used only if the output format is - eight bits per pixel. - dwCallbackID - value assigned to the *IPCallbackID attribute of the - currently selected option for the ColorMode feature. - pIPParams - pointer to an IPPARAMS structure. - ppbResult - - If the method returns the converted DIB to Unidrv: - If the conversion succeeds, the method should return a - pointer to a buffer containing the converted DIB. - Otherwise it should return NULL. - If the method sends the converted DIB to the print spooler: - If the operation succeeds, the method should return TRUE. - Otherwise it should return FALSE. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pColorTable); - - POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM; - - // We want to set ppbResult to NULL in case this function fails and returns E_FAIL - // - *ppbResult = NULL; - - // We want to keep track of the current offset from the start - // of the buffer before the size is increased. - // - DWORD dwBufOffset = pOemPDEV->dwBufSize; - - // We fill out the file header in OEMEndDoc. But for the info header, we take the easy route - // and copy the stuff from pBitmapInfoHeader. Only height and image size will be updated - // every time we enter ImageProcessing. - // - if (!pOemPDEV->bHeadersFilled) - { - ULONG ulMonoPalette[2] = { RGB_BLACK, RGB_WHITE, }; - - pOemPDEV->bHeadersFilled = TRUE; - pOemPDEV->bmInfoHeader.biSize = pBitmapInfoHeader->biSize; - pOemPDEV->bmInfoHeader.biPlanes = pBitmapInfoHeader->biPlanes; - pOemPDEV->bmInfoHeader.biBitCount = pBitmapInfoHeader->biBitCount; - pOemPDEV->bmInfoHeader.biCompression = pBitmapInfoHeader->biCompression; - pOemPDEV->bmInfoHeader.biXPelsPerMeter = pBitmapInfoHeader->biXPelsPerMeter; - pOemPDEV->bmInfoHeader.biYPelsPerMeter = pBitmapInfoHeader->biYPelsPerMeter; - pOemPDEV->bmInfoHeader.biClrUsed = pBitmapInfoHeader->biClrUsed; - pOemPDEV->bmInfoHeader.biClrImportant = pBitmapInfoHeader->biClrImportant; - pOemPDEV->bmInfoHeader.biWidth = pBitmapInfoHeader->biWidth; // We support only Portrait. So width is constant and needs to be updated only once. - - if (dwCallbackID != BMF_24BPP) // We need color table only if it is not 24bpp - { - DWORD cbMemAllocSize; - - pOemPDEV->bColorTable = TRUE; // Indicates that color table needs to be dumped at EndDoc time - - switch(dwCallbackID) - { - case BMF_1BPP: // 1 - pOemPDEV->cPalColors = 2; - - pOemPDEV->prgbq = NULL; - - // Call intsafe.h function to ensure there's no integer overflow or underflow - if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(RGBQUAD), &cbMemAllocSize)) || - (NULL == (pOemPDEV->prgbq = (RGBQUAD *)LocalAlloc(LPTR, cbMemAllocSize)))) - { - return E_FAIL; - } - - for (int i = 0; i < pOemPDEV->cPalColors; i++) - { - pOemPDEV->prgbq[i].rgbBlue = GetBValue(ulMonoPalette[i]); - pOemPDEV->prgbq[i].rgbGreen = GetGValue(ulMonoPalette[i]); - pOemPDEV->prgbq[i].rgbRed = GetRValue(ulMonoPalette[i]); - } - break; - case BMF_4BPP: // 2 - pOemPDEV->cPalColors = 16; - if (!bFillColorTable(pOemPDEV)) - return E_FAIL; - break; - case BMF_8BPP: // 3 - pOemPDEV->cPalColors = 256; - if (!bFillColorTable(pOemPDEV)) - return E_FAIL; - break; - } - } - - } - - // Keep track of the overall height and image size - // - pOemPDEV->bmInfoHeader.biHeight += pBitmapInfoHeader->biHeight; - pOemPDEV->bmInfoHeader.biSizeImage += pBitmapInfoHeader->biSizeImage; - - // Increase the buffer by the size of the current band - // - if (!bGrowBuffer(pOemPDEV, pBitmapInfoHeader->biSizeImage)) - return E_FAIL; - - if (!pIPParams->bBlankBand) // Non-blank band - { - CopyMemory((pOemPDEV->pBufStart + dwBufOffset), pSrcBitmap, pBitmapInfoHeader->biSizeImage); - } - else // For blanks bands, buffer blank scanlines - { - memset((pOemPDEV->pBufStart + dwBufOffset), 0xff, pBitmapInfoHeader->biSizeImage); - } - - // Set ppbResult to TRUE - // - *ppbResult = (LPBYTE)(INT_PTR)(TRUE); - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -MemoryUsage( - PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::MemoryUsage - - The IPrintOemUni::MemoryUsage method can be used with - Unidrv-supported printers to specify the amount of memory - required for use by a rendering plug-in's IPrintOemUni::ImageProcessing - method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pMemoryUsage - pointer to an OEMMEMORYUSAGE structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pMemoryUsage); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -OutputCharStr( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::OutputCharStr - - The IPrintOemUni::OutputCharStr method enables a rendering - plug-in to control the printing of font glyphs. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - dwType - value indicating the type of glyph specifier array - pointed to by pGlyph. Valid values are as follows: - TYPE_GLYPHHANDLE The pGlyph array elements are glyph - handles of type HGLYPH. - TYPE_GLYPHID The pGlyph array elements are glyph - identifiers of type DWORD. - dwCount - value representing the number of glyph specifiers in - the array pointed to by pGlyph. - pGlyph - pointer to an array of glyph specifiers, where the array - element type is indicated by dwType. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(dwType); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pGlyph); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -PublishDriverInterface( - IUnknown *pIUnknown - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::PublishDriverInterface - - The IPrintOemUni::PublishDriverInterface method allows a - rendering plug-in for Unidrv to obtain the Unidrv driver's - IPrintOemDriverUni interface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::PublishDriverInterface method and the method - must return S_OK, or the driver will not call the plug-in's other - IPrintOemUni interface methods. - - Please refer to DDK documentation for more details. - -Arguments: - - pIUnknown - pointer to the IUnknown interface of the driver's - IPrintOemDriverUni COM interface. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ResetPDEV - - The IPrintOemUni::ResetPDEV method allows a rendering - plug-in for Unidrv to reset its PDEV structure. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::ResetPDEV method. - - - A rendering plug-in's IPrintOemUni::ResetPDEV method performs - the same types of operations as the DrvResetPDEV function. During - the processing of an application's call to the Platform SDK ResetDC - function, the IPrintOemUni::ResetPDEV method is called by Unidrv's - DrvResetPDEV function. For more information about when DrvResetPDEV - is called, see its description in the DDK docs. - - The rendering plug-in's private PDEV structure's address is contained - in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld. - The IPrintOemUni::ResetPDEV method should use relevant members of this - old structure to fill in the new structure, which is referenced through pdevobjNew. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information. - pdevobjNew - pointer to a DEVOBJ structure into which the method should place - new PDEV information. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -SendFontCmd( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::SendFontCmd - - The IPrintOemUni::SendFontCmd method enables a rendering - plug-in to modify a printer's font selection command and then - send it to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pFInv - pointer to an FINVOCATION structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pFInv); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TextOutAsBitmap( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TextOutAsBitmap - - The IPrintOemUni::TextOutAsBitmap method allows a rendering - plug-in to create a bitmap image of a text string, in case a - downloadable font is not available. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to be written. - pstro - Defines the glyphs to be rendered and their positions - pfo - Specifies the font to be used - pco - Defines the clipping path - prclExtra - A NULL-terminated array of rectangles to be filled - prclOpaque - Specifies an opaque rectangle - pboFore - Defines the foreground brush - pboOpaque - Defines the opaque brush - pptlOrg - Pointer to POINT struct , defining th origin - mix - Specifies the foreground and background ROPs for pboFore - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pso); - UNREFERENCED_PARAMETER(pstro); - UNREFERENCED_PARAMETER(pfo); - UNREFERENCED_PARAMETER(pco); - UNREFERENCED_PARAMETER(prclExtra); - UNREFERENCED_PARAMETER(prclOpaque); - UNREFERENCED_PARAMETER(pboFore); - UNREFERENCED_PARAMETER(pboOpaque); - UNREFERENCED_PARAMETER(pptlOrg); - UNREFERENCED_PARAMETER(mix); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTDownloadMethod( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTDownloadMethod - - The IPrintOemUni::TTDownloadMethod method enables a rendering - plug-in to indicate the format that Unidrv should use for a specified - TrueType soft font. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives one of the following method-supplied constant values: - TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps. - TTDOWNLOAD_DONTCARE Unidrv can select the font format. - TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics, - instead of downloading the font. - TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTYGetInfo( - PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTYGetInfo - - The IPrintOemUni::TTYGetInfo method enables a rendering plug-in - to supply Unidrv with information relevant to text-only printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwInfoIndex - constant identifying the type of information being requested. - The following constant values are defined: - OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a - DWORD in which the method should return the number of the - code page to be used. - OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a - RECT structure in which the method should return page margin - widths, in tenths of millimeters (for example, 20 represents 2 mm). - If the entire page is printable, all margin values must be 0. - OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a - DWORD in which the method should return the number of resource - IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain - these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS. - OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array - of DWORDs of sufficient size to hold the number of resource IDs of - the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by - using OEMTTY_INFO_NUM_UFMS in a query.) The method should - return the resource IDs of the UFMs for 10,12, and 17 CPI fonts. - pOutputBuf - pointer to a buffer to receive the requested information. - dwSize - size, in bytes, of the buffer pointed to by pOutputBuf. - pcbcNeeded - pointer to a location to receive the number of bytes written into - the buffer pointed to by pOutputBuf. If the number of bytes required is - smaller than the number specified by dwSize, the method should supply - the required size and return E_FAIL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwInfoIndex); - UNREFERENCED_PARAMETER(pOutputBuf); - UNREFERENCED_PARAMETER(dwSize); - UNREFERENCED_PARAMETER(pcbcNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -WritePrinter( - PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni2::WritePrinter - - The IPrintOemUni2::WritePrinter method, if supported, enables a - rendering plug-in to capture all output data generated by a Unidrv - driver. If this method is not supported, the output data would - otherwise be sent to the spooler in a call to the spooler's WritePrinter API. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to the first byte of an array of bytes that contains - the output data generated by the Unidrv driver. - cbBuffer - size, in bytes, of the array pointed to by pBuf. - pcbWritten - pointer to a DWORD value that receives the number - of bytes of data that were successfully sent to the plug-in. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pBuf); - UNREFERENCED_PARAMETER(cbBuffer); - UNREFERENCED_PARAMETER(pcbWritten); - - return E_NOTIMPL; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class COemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef)(THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release)(THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance)(THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - - STDMETHOD(LockServer)(THIS_ BOOL bLock); - - - // Constructor - COemCF(): m_cRef(1) { }; - - // Destructor - ~COemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall -COemCF:: -QueryInterface( - const IID& iid, - void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<COemCF*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemCF:: -AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemCF:: -Release() -{ -// ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall -COemCF:: -CreateInstance( - IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - COemUni2* pOemCP = new COemUni2; - if (pOemCP == NULL) - { - return E_OUTOFMEMORY; - } - - // Get the requested interface. - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCP->Release(); - return hr; -} - -// LockServer -HRESULT __stdcall -COemCF:: -LockServer( - BOOL bLock - ) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow(void) -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMRENDER) - { - ERR("DllGetClassObject:\tClass not available!\r\n"); - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor - if (pFontCF == NULL) - { - ERR("DllGetClassObject:\tOut of Memory!\r\n"); - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hrResult = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hrResult; -} - -BOOL -bGrowBuffer( - POEMPDEV pOemPDEV, - DWORD dwBufInc - ) - -/*++ - -Routine Description: - - Enlarge the buffer for holding the bitmap data - -Arguments: - - pOemPDEV - Pointer to the private PDEV structure - dwBufInc - Amount to enlarge the buffer by - -Return Value: - - TRUE if successful, FALSE if memory allocation fails - ---*/ - -{ - DWORD dwOldBufferSize; - PBYTE pNewBuffer; - - // Allocate a new buffer whose size is the size of the previous buffer plus the increment - // - dwOldBufferSize = pOemPDEV->pBufStart ? pOemPDEV->dwBufSize : 0; - pOemPDEV->dwBufSize = dwOldBufferSize + dwBufInc; - - if (NULL == (pNewBuffer = (PBYTE)LocalAlloc(LPTR, pOemPDEV->dwBufSize))) - { - WARNING("LocalAlloc failed!\n"); - - vFreeBuffer(pOemPDEV); - - return FALSE; - } - - if (pOemPDEV->pBufStart) // Growing an existing buffer - { - CopyMemory(pNewBuffer, pOemPDEV->pBufStart, dwOldBufferSize); - - LocalFree(pOemPDEV->pBufStart); - pOemPDEV->pBufStart = pNewBuffer; - } - else // First time allocation - { - pOemPDEV->pBufStart = pNewBuffer; - } - - return TRUE; -} - -VOID -vFreeBuffer( - POEMPDEV pOemPDEV - ) - -/*++ - -Routine Description: - - Free the buffer for holding the bitmap data - -Arguments: - - pOemPDEV - Pointer to the private PDEV structure - -Return Value: - - None ---*/ - -{ - if (pOemPDEV->pBufStart) - { - LocalFree(pOemPDEV->pBufStart); - - pOemPDEV->pBufStart = NULL; - pOemPDEV->dwBufSize = 0; - } -} - -BOOL -bFillColorTable( - POEMPDEV pOemPDEV - ) - -/*++ - -Routine Description: - - Fill the color table for the bitmap data. This function - obtains the entries in the default palette and fills the - RGBQUAD structure that represents the color table. - -Arguments: - - pOemPDEV - Pointer to the private PDEV structure - -Return Value: - - TRUE if successful, FALSE if memory allocation for the color table fails - ---*/ - -{ - PALETTEENTRY * pPaletteEntry; - UINT uiPalEntries; - INT iLastPalIndex = pOemPDEV->cPalColors - 1; - DWORD cbMemAllocSize; - - pOemPDEV->prgbq = NULL; - - // Call intsafe.h function to ensure there's no integer overflow or underflow - if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(RGBQUAD), &cbMemAllocSize)) || - (NULL == (pOemPDEV->prgbq = (RGBQUAD *)LocalAlloc(LPTR, cbMemAllocSize)))) - { - return FALSE; - } - - // Call intsafe.h function to ensure there's no integer overflow or underflow - if (!SUCCEEDED(DWordMult(pOemPDEV->cPalColors, sizeof(PALETTEENTRY), &cbMemAllocSize)) || - (NULL == (pPaletteEntry = (PALETTEENTRY *)LocalAlloc(LPTR, cbMemAllocSize)))) - { - return FALSE; - } - - uiPalEntries = GetPaletteEntries(pOemPDEV->hpalDefault, 0, pOemPDEV->cPalColors, pPaletteEntry); - - if (uiPalEntries == 0) - { - LocalFree(pPaletteEntry); - return FALSE; - } - - for (int i = 0; i < pOemPDEV->cPalColors; i++) - { - pOemPDEV->prgbq[i].rgbBlue = pPaletteEntry[i].peBlue; - pOemPDEV->prgbq[i].rgbGreen = pPaletteEntry[i].peGreen; - pOemPDEV->prgbq[i].rgbRed = pPaletteEntry[i].peRed; - } - - // Set the last index in the color table to white - // - pOemPDEV->prgbq[iLastPalIndex].rgbBlue = 0xff; - pOemPDEV->prgbq[iLastPalIndex].rgbGreen = 0xff; - pOemPDEV->prgbq[iLastPalIndex].rgbRed = 0xff; - - return TRUE; - -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h deleted file mode 100644 index 7c992055..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h +++ /dev/null @@ -1,287 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// - - -#pragma once - -///////////////////////////////////////////////////////// -// String Literals -///////////////////////////////////////////////////////// - - -CONST CHAR NAME_CommandCallback[] = "CommandCallback"; -CONST CHAR NAME_FilterGraphics[] = "FilterGraphics"; -CONST CHAR NAME_ImageProcessing[] = "ImageProcessing"; - - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 -// -// Interface for Unidrv OEM sample rendering module -// -class COemUni2 : public IPrintOemUni2 -{ -public: - // *** IUnknown methods *** - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release)(THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for getting the implemented methods. - // Returns S_OK if the given method is implemneted. - // Returns S_FALSE if the given method is notimplemneted. - // - - STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName); - - // - // Method for OEM to specify DDIs that have been hooked - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM plugin to contruct its own PDEV - // - - STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo)(THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode)(THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult); - - // - // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult); - - // - // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen); - // - // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult); - - // - // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize); - - // - // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage); - - // - // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded); - - // - // OEMDownloadFontheader - UNIDRV only - // - - STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMDownloadCharGlyph - UNIDRV only - // - - STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult); - - // - // OEMTTDownloadMethod - UNIDRV only - // - - STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMOutputCharStr - UNIDRV only - // - - STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph); - - // - // OEMSendFontCmd - UNIDRV only - // - - - STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv); - - // - // OEMTextOutAsBitmap - UNIDRV only - // - - STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix); - - // - // IPrintOemUni2 methods - // - - // - // Method for plugin to hook out spooler's WritePrinter API so it - // can get access to output data Universal driver is generating - // - // At DrvEnablePDEV time, Universal driver will call this function with - // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin - // implements this function. Plugin should return S_OK to indicate it is - // implementing this function, or return E_NOTIMPL otherwise. - // - // In pcbWritten, plugins should return the number of bytes written to the - // spooler's WritePrinter function. Zero doesn't carry a special meaning, - // errors must be reported through the returned HRESULT. - // - - STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten); - - - COemUni2(); - ~COemUni2(); - -protected: - LONG m_cRef; - IPrintOemDriverUni* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h deleted file mode 100644 index d26e300b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h +++ /dev/null @@ -1,40 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.H -// -// -// PURPOSE: Required header files external to the current project -// that do not need to be recompiled frequently. -// - - -#pragma once - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRINTOEM.H> -#include <INTSAFE.H> -#include <DRIVERSPECS.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h deleted file mode 100644 index 8e941820..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by OEMUNI.rc -// - - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd b/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd deleted file mode 100644 index 23c72bea..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.gpd +++ /dev/null @@ -1,563 +0,0 @@ -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*ModelName: "OEM Unidrv Customization Sample" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 - -*%------------------------------------- -*%This is your OEM Custom Help file. -*%------------------------------------- -*HelpFile: "CUSTOMDRV.HLP" - -*PrintRate: 8 -*PrintRateUnit: PPM -*PrintRatePPM: 8 - -*Feature: Orientation -{ - *HelpIndex: 15001 - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l1O" - } - } -} - -*%------------------------------------- -*%This Features std help is replaced with OEM help. -*%Note you need to have *HelpFile: def in the general section. -*%HelpIndex is OEM ref ID -*%------------------------------------- -*Feature: InputBin -{ - *HelpIndex: 15001 - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: UPPER - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l1H" - } - } -} -*Feature: Resolution -{ - *HelpIndex: 15001 - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option1 - *Option: Option1 - { - *Name: "300 x 300 " =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "<1B>%%-12345X" -+ "@PJL COMMENT HP Color LaserJet 5/5M " -+ "Version 0.56<0A>" -+ "@PJL SET RESOLUTION=300<0A>" -+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: Option2 - { - *Name: "150 x 150 " =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "<1B>%%-12345X" -+ "@PJL COMMENT HP Color LaserJet 5/5M " -+ "Version 0.56<0A>" -+ "@PJL SET RESOLUTION=150<0A>" -+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } -} - -*Feature: PaperSize -{ - *HelpIndex: 15001 - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *%(9600, 12648) -*% *PrintableArea: PAIR(9600, 12648) - *PrintableArea: PAIR(9564, 12600) -*% *PrintableArea: PAIR(5000,5000) - *PrintableOrigin: PAIR(300, 300) -*% *PrintableOrigin: PAIR(300, 500) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (12648->12640) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9592, 12640) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *%5760 -- 7560 - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5760x7604Y" - } - } - *case: LANDSCAPE_CC90 - { - *%(9720, 12648) - *PrintableArea: PAIR(9760, 12688) - *PrintableOrigin: PAIR(200, 272) - *CursorOrigin: PAIR(200, 12960) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7632x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9540, 16248) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (16248->16240) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9592, 16240) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5760x9864Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9760, 16288) - *PrintableOrigin: PAIR(200, 272) - *CursorOrigin: PAIR(200, 16560) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t9792x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 12000) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (8100->8096) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (12000->11992) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(8096, 11992) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8200, 12080) - *PrintableOrigin: PAIR(240, 280) - *CursorOrigin: PAIR(200, 12360) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9324, 13476) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9324->9320) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (13476->13472) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9320, 13472) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9464, 13516) - *PrintableOrigin: PAIR(220, 272) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9464->9456) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (13516->13512) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9456, 13512) -*% Warning: the following printable origin X is adjusted (220->224) so it is divisible by the resolution X scale. - *PrintableOrigin: PAIR(224, 272) - } - } - *CursorOrigin: PAIR(200, 13788) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: A3 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(13428, 19308) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (13428->13424) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19308->19304) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(13424, 19304) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t8057x11693Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(13588, 19368) - *PrintableOrigin: PAIR(200, 240) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (13588->13584) so it is divisible by the resolution X scale. - *PrintableArea: PAIR(13584, 19368) - } - } - *CursorOrigin: PAIR(200, 19608) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t11621x8177Y" - } - } - } - } - *Option: TABLOID - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { -*% *PrintableArea: PAIR(12600, 19800) - *PrintableArea: PAIR(12540, 19740) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(12592, 19792) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t7560x12000Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(12600, 19800) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(12592, 19792) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(200, 20100) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t11880x7680Y" - } - } - } - } -} -*Feature: MediaType -{ - *HelpIndex: 15001 - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: STANDARD - *Option: STANDARD - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.14 - *Cmd: "<1B>&l0M" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.14 - *Cmd: "<1B>&l4M" - } - } -} -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *HelpIndex: 12004 - *DefaultOption: 24bpp - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 24 - *DrvBPP: 24 - *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram} -+ "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*" -+ "o3W<060400>" - } - } -} -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *HelpIndex: 12005 - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.5 - *Cmd: "<1B>&u300D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 4) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 4) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram} -+ "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*TTFSEnabled?: TRUE -*DeviceFonts: LIST(134,135,136,137,138,139,140,146,147,148,149,150,151,152,153,154, -+ 155,156,157,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) - -*MinFontID: 16534 -*MaxFontID: 32768 -*FontFormat: HPPCL_OUTLINE -*% When the %f format is implemented we can remove the /100 part of -*% CmdSelectFontHeight and CmdSelectFontWidth -*% NOTE: MasterUnits.x is hardcoded here! -*% NOTE: THIS dividing by 200 because I want to /100 and then /2 for now. -*% The number 60000 may look strange, but it's 1200/2 * 100. -*Command: CmdSelectFontHeight { *Cmd : "<1B>(s" %d{FontHeight}"V" } -*Command: CmdSelectFontWidth { *Cmd : "<1B>(s" %f{1200 / FontWidth}"H" } -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 4) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 4) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini b/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini deleted file mode 100644 index 2e014201..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=CUSTHLP.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def deleted file mode 100644 index 68bdffc0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMUI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj deleted file mode 100644 index 60f17f4c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj +++ /dev/null @@ -1,1060 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{CA70C64A-75C8-48CD-9224-335C2ED689A6}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{67281069-E045-4DCB-82BF-17B46979B788}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>CUSTHLP</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>CUSTHLP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="oemui.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="oemui.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters deleted file mode 100644 index 4c89a16e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/CUSTHLP.vcxproj.Filters +++ /dev/null @@ -1,220 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{C7019300-D308-4256-B5E7-2CF8880D9E37}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{8C99BD7D-E931-4BC0-810B-E56E2CE71883}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{B8E59174-9E39-4E27-A90D-17A011B16729}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="oemui.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="oemui.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="CUSTHLP.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt deleted file mode 100644 index 4713a3b5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.cnt +++ /dev/null @@ -1,3 +0,0 @@ -:Base windows.HLP -1 Dialog Box Help -2 Information about this Help file=nocontent diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h deleted file mode 100644 index f49cbd14..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.h +++ /dev/null @@ -1,11 +0,0 @@ -// -// -// -// -////////////////////////////////////////////////////////////////// - -#define CUSDRV_HELPTOPIC_1 = 15001 -#define CUSDRV_HELPTOPIC_2 = 15002 -#define CUSDRV_HELPTOPIC_3 = 15003 -#define CUSDRV_HELPTOPIC_4 = 15004 - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj deleted file mode 100644 index 2ccc18db..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.hpj +++ /dev/null @@ -1,17 +0,0 @@ -; This file is maintained by HCW. Do not modify this file directly. - -[OPTIONS] -COMPRESS=12 Hall Zeck -ERRORLOG=customdrv.err -LCID=0x409 0x0 0x0 ; English (United States) -REPORT=Yes -TITLE=Windows -CNT=customdrv.cnt -COPYRIGHT=%date -HLP=customdrv.hlp - -[FILES] -customdrv.rtf - -[MAP] -#include customdrv.h diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf deleted file mode 100644 index 5ddf4b0e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/customhelp/customdrv.rtf +++ /dev/null @@ -1,22 +0,0 @@ -{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\f30\froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};} -{\f31\froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\f33\froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f34\froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};} -{\f35\froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}{\f36\froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f37\froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}}{\colortbl;\red0\green0\blue0; -\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128; -\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;} -{\*\cs10 \additive Default Paragraph Font;}{\s15\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 endnote text;}{ -\s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 footnote text;}{\*\cs17 \additive \super \sbasedon10 footnote reference;}{\*\cs18 \additive \super -\sbasedon10 endnote reference;}{\*\cs19 \additive \fs16\cf0\up6 \sbasedon10 ExternalFN;}{\s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 -\sbasedon0 \snext20 header;}{\s21\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext21 footer;}}{\info{\author Craig Horsfield} -{\operator Craig Horsfield}{\creatim\yr2001\mo2\dy27\hr15\min6}{\revtim\yr2001\mo4\dy2\hr15\min7}{\version5}{\edmins3}{\nofpages3}{\nofwords17}{\nofchars100}{\*\company Microsoft}{\nofcharsws0}{\vern8269}} -\widowctrl\ftnbj\aendnotes\ftnnrlc\aftnnar\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale144\viewzk2\nolnhtadjtbl \fet0\sectd -\linex0\sectdefaultcl {\header \pard\plain \s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { -\par }}{\footer \pard\plain \s21\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 { -\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}} -{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8 -\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs19\fs16\up6 @{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super @}{ - The following topics are for Custom options in the Custom Driver UI Plugin.}} #{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super #}{ - CUSDRV_HELPTOPIC_1}}}{ Custom Topic 1 Help text contained in customdrv.rtf. -\par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\page }{\cs19\fs16\up6 #{\footnote \pard\plain \s16\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\cs17\super #}{ - CUSDRV_HELPTOPIC_2}}}{ Custom Topic 2 Help text contained in customdrv.rtf. }{\fs20 \page }{ -\par }}
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp deleted file mode 100644 index 8dae1ed3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.cpp +++ /dev/null @@ -1,182 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - - -#include "precomp.h" -#include "oemui.h" -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// -//Performs operation on UI Plugins Private DevMode Members. -//Called via IOemUI::DevMode -// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - // - //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - //Private members - // - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - break; - - // - //The method should convert private DEVMODE members to the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data, if not valid. - if(pOEMDevmode->dwDriverData > 100) - { - pOEMDevmode->dwDriverData = 0; - } - - // Set Advanced driver data, if not valid. - if(pOEMDevmode->dwAdvancedData > 100) - { - pOEMDevmode->dwAdvancedData = 0; - } - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h deleted file mode 100644 index fe594658..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/devmode.h +++ /dev/null @@ -1,46 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// PURPOSE: The plug-in private devmode, common data types, and -// external function prototypes for devmode functions. -// - -#pragma once - - -// -//Can add info to the private devmode bellow here. -//Note : -// This structure must be prefixed by OEM_DMEXTRAHEADER -// Your plug-in must implement the IPrintOemUI::DevMode method -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - DWORD dwDriverData; - DWORD dwAdvancedData; - - // - //Private DevMode Members - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp deleted file mode 100644 index 287c0617..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/dllentry.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "oemui.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_PROCESS_DETACH: - break; - - case DLL_THREAD_DETACH: - break; - } - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp deleted file mode 100644 index c41a27e4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.cpp +++ /dev/null @@ -1,25 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// -// PURPOSE: File that contains all the globals. -// - -#include "precomp.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h deleted file mode 100644 index b9d707a0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/globals.h +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// - - -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp deleted file mode 100644 index 2a1278cc..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.cpp +++ /dev/null @@ -1,562 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.cpp -// -// PURPOSE: Implementation of OEMGetInfo and OEMDevMode. Shared by all Unidrv -// OEM test dll's. -// - -#include "precomp.h" - -#include "oemui.h" -#include "debug.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0; // Count of active components -static long g_cServerLocks = 0; // Count of locks - - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI body -// -IOemUI::~IOemUI() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - ASSERT(0 == m_cRef); -} - -HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IOemUI::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// -// (Implementation is required) Supplies a pointer to UNIDRIVE /PScript IPrintOemDriverUI -// -HRESULT __stdcall IOemUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - // Need to store pointer to Driver Helper functions, if we already haven't. - if (m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -// -//(Implementation is required) Returns the UI Plugin's identification information -// -HRESULT __stdcall IOemUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING("IOemUI::GetInfo() exit insufficient buffer!\r\r\n"); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING("IOemUI::GetInfo() exit mode not supported.\r\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - return S_OK; -} - - -// -//Performs operation on UI Plugins Private DevMode Members. -// -HRESULT __stdcall IOemUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - return hrOEMDevMode(dwMode, pOemDMParam); -} - - -// -//Allows UI Plugin to Modifiy Existing printer porp sheet and document property sheet page.. -// -HRESULT __stdcall IOemUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -// -//Adds a New page to the device Documment property sheet. -// - -HRESULT __stdcall IOemUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp); -} - -// -//Adds a New page to the device printer property page. -// -HRESULT __stdcall IOemUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - return hrOEMDevicePropertySheets(pPSUIInfo, lParam); -} - - -// -//Allows the UI plugin to spec Customized device capabilaties (TODO) -// -HRESULT __stdcall IOemUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - - -// -//Allows the UI plugin to help determine if a print Job is printable. -// -HRESULT __stdcall IOemUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - - -// -//Allows the UI Plugin to upgrade its dev options stored in the registry. -// -HRESULT __stdcall IOemUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -HRESULT __stdcall IOemUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - HRESULT Result = E_FAIL; - static const WCHAR PROFILE_NAME[] = L"OEMPROFILE.icm\0"; - - if(QCP_DEVICEPROFILE == ulQueryMode) - { - if(NULL == pvProfileData) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - if(*pcbProfileData < sizeof(PROFILE_NAME)) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME); - *pcbProfileData = sizeof(PROFILE_NAME); - *pflProfileData = QCP_PROFILEDISK; - - if(FAILED(Result)) - { - SetLastError(Result); - } - } - } - } - - return Result; -}; - -HRESULT __stdcall IOemUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - IOemUI* pOemCB = new IOemUI; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release(); - return hr; -} - -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hr; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h deleted file mode 100644 index 1cc44e3a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/intrface.h +++ /dev/null @@ -1,182 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.h -// -// PURPOSE: Declaration of class that implements the UI plug-in class -// - - -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI -// -class IOemUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IPrintOemUI methods *** - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - - IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; }; - ~IOemUI(); - -protected: - LONG m_cRef; - IPrintOemDriverUI* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp deleted file mode 100644 index 2bc8cc32..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.cpp +++ /dev/null @@ -1,960 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.cpp -// -// -// PURPOSE: Main file for OEM UI test module. -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - -} CBUSERDATA, *PCBUSERDATA; - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam); -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); -static BOOL AddCustomUIHelp (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, POPTITEM pOptItem, DWORD HelpIndex, DWORD HelpFile); -static POIEXT CreateOIExt(HANDLE hHeap); -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static PTSTR GetHelpFile (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, UINT uResource); -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource); -LPBYTE WrapGetPrinterDriver (HANDLE hHeap, HANDLE hPrinter, DWORD dwLevel); - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// Called via IOemUI::CommonUIProp -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam); - break; - - default: - // Should never reach this! - ERR("hrOEMPropertyPage() Invalid dwMode"); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 1; - } - else - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - - pOEMUIParam->pOEMOptItems[0].pOptType= CreateOptType(pOEMUIParam->hOEMHeap, 2); - - // - //Setup the Optional Item - // - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - - - // - //Allows You to apply Customised help to this Control. - // - //Notes: - // You must use a fully qualified path for pHelpFile - // OPTITEM Flags member must have OPTIF_HAS_POIEXT flag set. This indicates that the data in OIEXT is valid. - // OPTITEM is allocated on the Heap see (AddCustomUIHelp, GetHelpFile, CreateOIExt) - // - AddCustomUIHelp (pOEMUIParam->hPrinter, - pOEMUIParam->hOEMHeap, - pOEMUIParam->hModule, - &(pOEMUIParam->pOEMOptItems[0]), - CUSDRV_HELPTOPIC_2, IDS_HELPFILE); - } - - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM printer property UI. -// -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM printer property UI. - pOEMUIParam->cOEMOptItems = 1; - } - else - { - // - //This is the second time we are called Now setup the optional items. - // - DWORD dwError; - DWORD dwDeviceValue; - DWORD dwType; - DWORD dwNeeded; - - // Get device settings value from printer. - dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue, - sizeof(dwDeviceValue), &dwNeeded); - if( (ERROR_SUCCESS != dwError) - || - (dwDeviceValue > 100) - ) - { - // Failed to get the device value or value is invalid, just use the default. - dwDeviceValue = 0; - } - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - // - //Setup the Optional Item - // - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - - // - //Allows You to apply Customised help to this Control - // - AddCustomUIHelp (pOEMUIParam->hPrinter, - pOEMUIParam->hOEMHeap, - pOEMUIParam->hModule, - &(pOEMUIParam->pOEMOptItems[0]), - CUSDRV_HELPTOPIC_1, - IDS_HELPFILE); - } - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to Document property sheet. Called via IOemUI::DocumentPropertySheets -// -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, - IPrintOemDriverUI* pOEMHelp) -{ - UNREFERENCED_PARAMETER(pOEMHelp); - - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n"); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - DWORD dwSheets = 0; - PCBUSERDATA pUserData; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - HANDLE hHeap = pOEMUIParam->hOEMHeap; - HANDLE hModule = pOEMUIParam->hModule; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - COMPROPSHEETUI Sheet; - - - // Init property page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = CPSUIF_UPDATE_PERMISSION; - Sheet.hInstCaller = ghInstance; - Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME); - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDocUICallBack2; - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Init user data. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if (NULL == pUserData) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if (NULL == Sheet.pOptItem) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Initialize OptItems - Sheet.pOptItem[0].Level = 1; - Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE; - Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData; - - Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2); - if (NULL == Sheet.pOptItem[0].pOptType) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - //Set the UI prop of this OPTYPE item. - // - Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW; - Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0; - Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100; - - // - //Allows You to apply Customised help to this Control. - //See Function : AddCustomUIHelp, For more details on implamentation. - // - AddCustomUIHelp (pOEMUIParam->hPrinter, - hHeap, - hModule, - &(Sheet.pOptItem[0]), - CUSDRV_HELPTOPIC_1, - IDS_HELPFILE); - - // Adds the property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to printer property sheet. Called via IOemUI::DevicePropertySheets -// -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam) -{ - LONG_PTR lResult = 0; - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n"); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - PROPSHEETPAGE Page; - - // Init property page. - memset(&Page, 0, sizeof(PROPSHEETPAGE)); - Page.dwSize = sizeof(PROPSHEETPAGE); - Page.dwFlags = PSP_DEFAULT; - Page.hInstance = ghInstance; - Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE); - Page.pfnDlgProc = DevicePropPageProc; - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - pPSUIInfo->Result = lResult; - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM printer property UI. -// -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - { - DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel; - - // Store OptItems state in printer data. - SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD)); - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Call back for OEM device property UI. -// -#pragma warning(push) -#pragma warning( disable : 6262 ) // 2 MAX_PATH strings exceeds the stack size by a few bytes. -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) -{ - switch (uiMsg) - { - case WM_COMMAND: - switch(HIWORD(wParam)) - { - case BN_CLICKED: - switch(LOWORD(wParam)) - { - case IDC_CALIBRATE: - // Simulate printer calibration by displaying a message that the - // printer has been calibrated. - { - TCHAR szName[MAX_PATH]; - TCHAR szCalibrated[MAX_PATH]; - - LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0])); - LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0])); - MessageBox(hDlg, szCalibrated, szName, MB_OK); - } - break; - } - break; - - default: - return FALSE; - } - return TRUE; - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) // type of notification message - { - case PSN_SETACTIVE: - break; - - case PSN_KILLACTIVE: - break; - - case PSN_APPLY: - break; - - case PSN_RESET: - break; - } - } - break; - } - - return FALSE; -} -#pragma warning(pop) - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM document property UI. -// -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData) - { - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM; - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - break; - - case CPSUICB_REASON_KILLACTIVE: - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData) - { - pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData; - pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Creates and Initializes OptItems. -// -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems) -{ - POPTITEM pOptItems = NULL; - DWORD cbMemAllocSize; - - // Allocate memory for OptItems; - - // Call intsafe.h function to ensure there's no integer overflow or underflow - if (SUCCEEDED(DWordMult(sizeof(OPTITEM), dwOptItems, &cbMemAllocSize)) && - (NULL != (pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbMemAllocSize)))) - { - InitOptItems(pOptItems, dwOptItems); - } - else - { - ERR("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"); - } - - return pOptItems; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds Custom help top a OPTTYPE UI item. -// -// Note : -// The OPTITEM member HelpIndex must be set the the correct HELP ID number. -// HelpIndex is the index that you assigned in the hlp file to this item of help. -// The OPTITEM, pOIExt member must point to a valid OIEXT structure. -// The phelpfile is member of OIEXT must have the fully qualified path to the driver file. -// -// -// It is also possible to overide common help items in UNIDRIVE via the HelpIndex in the GPD. -// For further information on using HelpIndex in the GPD see the relavent section in the DDK -// It is not possible to custimse help however via the PPD. The OPTITEM must be modified in the OEM Plugin. -// -static BOOL AddCustomUIHelp (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, - POPTITEM pOptItem, DWORD HelpIndex, DWORD HelpFile) -{ - POIEXT pOIExt = NULL; - - // - //Allocate a new OIEXT structure on the heap - // - if (pOptItem->pOIExt == NULL) - { - pOptItem->pOIExt = CreateOIExt(hHeap); - } - - if ( pOptItem->pOIExt == NULL ) - { - ERR("AddCustomUIHelp() Error Allocation Failed.\r\n"); - return FALSE; - } - - pOIExt = pOptItem->pOIExt; - - // - //Set to the full absolute path of the driver file. - //(It should be in the Printer Driver Directrory in most cases) - //This String needs to be allocated on the heap (The Driver will clean it up). - // - pOIExt->pHelpFile = GetHelpFile (hPrinter, hHeap, hModule, HelpFile); - - // - //Set to show tha there is a valid OIEXT structure and data - // - pOptItem->Flags |= OPTIF_HAS_POIEXT; - - // - //This needs to be set if you have ansi strings in your help file. (NOTE!) - // - //pOiExt->Flags |= OIEXTF_ANSI_STRING; - - // - //Add the help this the index in the .hlp file. - // - pOptItem->HelpIndex = HelpIndex; - - return TRUE; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OIEXT for OptItem. -// -static POIEXT CreateOIExt(HANDLE hHeap) -{ - - POIEXT pOiExt = NULL; - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOiExt = (POIEXT) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OIEXT)); - if(NULL != pOiExt) - { - // - // Initialize OPTTYPE. (These members are setup by AddCustomUIHelp) - // - pOiExt->cbSize = sizeof(OIEXT); - pOiExt->Flags = 0; - pOiExt->hInstCaller = NULL; - pOiExt->pHelpFile = NULL; - } - - return pOiExt; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - DWORD cbMemAllocSize; - - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - - // Call intsafe.h function to ensure there's no integer overflow or underflow - if (SUCCEEDED(DWordMult(wOptParams, sizeof(OPTPARAM), &cbMemAllocSize)) && - (NULL != (pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbMemAllocSize)))) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"); - } - - return pOptType; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates space on the heap and gets the help file name from the resource file. -// Note you need to allocate this on the heap so that it stays allocated as long as the driver UI is loaded. -// The OPTITEM->pOIExt ref this data. -// -static PTSTR GetHelpFile (HANDLE hPrinter, HANDLE hHeap, HANDLE hModule, UINT uResource) -{ - - DWORD nResult = 0; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - PTSTR pszTemp = NULL; - PDRIVER_INFO_2 pDriverInfo = NULL; - - // - // Allocate buffer for string resource from heap; - // - pszTemp = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - pDriverInfo = (PDRIVER_INFO_2)WrapGetPrinterDriver (hHeap, hPrinter, 2); - - // - //Get the Full Driver Dir from pDriverPath it must include the \version\ - // - if(NULL != pszTemp && pDriverInfo && pDriverInfo->pDriverPath) - { - HRESULT hCopy; - - hCopy = StringCchCopy(pszTemp, dwSize, pDriverInfo->pDriverPath); - if(FAILED(hCopy)) - { - ERR("StringCchCopy() failed to copy driver path to temp buffer!\r\n"); - } - pszString = _tcsrchr (pszTemp, _T('\\') ) + 1; - } - - // - //The Help file is installed with the driver in the version drictory. - // - if(NULL != pszString) - { - // - //The Buffer size is in characters for the unicode version of LoadString - // - nResult = LoadString((HMODULE)hModule, uResource, pszString, (int)(dwSize - _tcslen(pszTemp)) ); - } - else - { - ERR("GetStringResource() failed to allocate string buffer!\r\n"); - } - - if(nResult > 0) - { - // - //Reallocate this so that we don't waist space on the heap (free any non used heap in MAX_PATH) - // - pszString = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszTemp, (_tcslen(pszTemp) + 1) * sizeof(TCHAR)); - if(NULL == pszString) - { - pszTemp = pszString; - ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n"); - } - } - else - { - ERR("LoadString() failed!"); - pszString = NULL; - } - - // - //Clean up the Driverinfo that was allocated. It is not needed. (Always free this it is only temp data) - // - if (pDriverInfo) - { - HeapFree(hHeap, 0, pDriverInfo); - } - - return pszString; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize); - if(nResult > 0) - { - PTSTR pszTemp; - - pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pszTemp) - { - pszString = pszTemp; - } - else - { - ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n"); - } - } - else - { - ERR("LoadString() failed!\r\n"); - pszString = NULL; - } - } - else - { - ERR("GetStringResource() failed to allocate string buffer!\r\n"); - } - - return pszString; -} - - -//////////////////////////////////////////////////////////////////////////////////// -// -// Wrapper to help retrive the PrinterDriverInfo, -// Note the MEM is orphaned by this call on success -// - -LPBYTE WrapGetPrinterDriver (HANDLE hHeap, HANDLE hPrinter, DWORD dwLevel) -{ - // - //Get the PrinterINFO so that we know where the driver help file is. - // - BOOL bGet = TRUE; - DWORD dwNeeded = 0; - LPBYTE pBuffer = NULL; - - bGet = GetPrinterDriver(hPrinter, NULL, dwLevel, pBuffer, 0, &dwNeeded); - - if(!bGet && GetLastError() == ERROR_INSUFFICIENT_BUFFER ) - { - SetLastError(ERROR_SUCCESS); // clear the previous result to prevent noise - pBuffer = (LPBYTE)HeapAlloc (hHeap, HEAP_ZERO_MEMORY, dwNeeded); - } - - if (pBuffer) - { - bGet = GetPrinterDriver(hPrinter, NULL, dwLevel, pBuffer, dwNeeded, &dwNeeded); - } - - if(!bGet || !pBuffer) - { - if (pBuffer) - { - HeapFree(hHeap, 0, pBuffer); - pBuffer = NULL; - } - - ERR("GetPrinterDriver() failed."); - } - - return pBuffer; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h deleted file mode 100644 index 2fc12cba..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.h +++ /dev/null @@ -1,47 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.H -// -// PURPOSE: Define common data types, and external function prototypes -// for property sheet handling. -// - - -#pragma once - -#include "DEVMODE.H" -#include "globals.h" - -//////////////////////////////////////////////////////// -// Custom Help Defines -//////////////////////////////////////////////////////// - -#define CUSDRV_HELPTOPIC_1 15001 -#define CUSDRV_HELPTOPIC_2 15002 - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - -// OEM Signature and version. -#define PROP_TITLE L"OEM UI Page" -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -// Printer registry keys where OEM data is stored. -#define OEMUI_VALUE TEXT("OEMUI_VALUE") -#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE") - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp); -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc deleted file mode 100644 index e4d28716..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/oemui.rc +++ /dev/null @@ -1,170 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "OEM UI Test Module." - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "OEMUI" - VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "OEMUI.dll" - VALUE "ProductName", "Microsoft OEMUI" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Device Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11 - PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14 -END - -IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Document Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_DEVICE_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 172 - TOPMARGIN, 8 - BOTTOMMARGIN, 106 - END - - IDD_DOC_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 203 - TOPMARGIN, 7 - BOTTOMMARGIN, 147 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "OEM UI Added Item" - IDS_CALIBRATED "Printer has been calibrated." - IDS_NAME "OEM UI Customization DLL" - IDS_HELPFILE "CUSTOMDRV.HLP" - IDS_DEV_SECTION "Device Settings OEM UI Added Item" - IDS_ADV_SECTION "Advanced OEM UI Added Item" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h deleted file mode 100644 index ef4615ad..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precomp.h +++ /dev/null @@ -1,54 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: PRECOMP.H -// -// PURPOSE: Optimize compilation of headers that do not change frequently -// - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <INTSAFE.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h deleted file mode 100644 index 9c7732fe..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/custhlp/resource.h +++ /dev/null @@ -1,23 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: resource.h -// -// PURPOSE: Defines resources IDs for localizable resources. -// - - -#define IDS_SECTION 1 -#define IDS_CALIBRATED 2 -#define IDS_NAME 3 -#define IDS_HELPFILE 4 -#define IDS_DEV_SECTION 5 -#define IDS_ADV_SECTION 10 -#define IDD_DEVICE_PROPPAGE 106 -#define IDD_DOC_PROPPAGE 107 -#define IDC_CALIBRATE 1001 - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd deleted file mode 100644 index 20e4d472..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.gpd +++ /dev/null @@ -1,520 +0,0 @@ -*GPDFileName: "gdlsmpl.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*ModelName: "OEM Unidrv GDL Sample" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*% -*% This line indicates which file the GDL parser should use to find Bidi information. -*% This is also the same file that will be parser when querying the GDL via -*% IPrintCoreHelperUni. GDL is compatible with GPD syntax, and this can be the driver's -*% GPD file, whis is what this sample does. -*% -*BidiQueryFile: "gdlsmpl.gpd" - - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "<1B>&l1O" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l0H" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l1H" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: 300dpi - *Option: 300dpi - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } -} - -*%****************************************************************************************** -*% HP-GL/2 Graphics Support -*%****************************************************************************************** -*Ifdef: WINNT_51 -*Personality: =PERSONALITY_HPGL2 -*Feature: GraphicsMode -{ - *rcNameID: =GRAPHICSMODE_DISPLAY - *DefaultOption: HPGL2MODE - *Option: HPGL2MODE - { - *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY - } - *Option: RASTERMODE - { - *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.5 - *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>" - } - } -} -*Endif: - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1028 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1692 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4109 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4249 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 3198 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y" - } - } - } - } -} - -*%****************************************************************************************** -*% Outputbin -*%****************************************************************************************** - - -*Feature: OutputBin -{ - *rcNameID: =OUTPUTBIN_DISPLAY - *HelpIndex: 12006 - *DefaultOption: Option1 - *Option: Option1 - { - *% Auto Select - *Name: "default" - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>" - } - } - *Option: Option14 - { - *% Stacker - *Name: "stacker" *% Stacker - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>" - } - } -} - - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: PLAIN - *Option: PLAIN - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n6WdPlain" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n13WdTransparency" - } - } -} - - - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Memory -*% -*% Note: Unidrv uses the font memory information to estimate when it needs to stop -*% downloading fonts for a page, and thus driver writers should err on the conservative -*% side. Otherwise, printers will generate "out of memory" device errors for pages with -*% a large number of fonts / unique glyphs. -*%****************************************************************************************** -*Feature: Memory -{ - *rcNameID: =PRINTER_MEMORY_DISPLAY - *DefaultOption: 32768KB - *Option: 16384KB - { - *Name: "16MB" - *MemoryConfigKB: PAIR(16384, 13950) - } - *Option: 32768KB - { - *Name: "32MB" - *MemoryConfigKB: PAIR(32768, 28350) - } -} - -*%****************************************************************************************** -*% Page Protect -*%****************************************************************************************** -*Feature: PageProtect -{ - *rcNameID: =PAGE_PROTECTION_DISPLAY - *DefaultOption: OFF - *Option: ON - { - *rcNameID: =ON_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" - } - } - *Option: OFF - { - *rcNameID: =OFF_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "<1B>&u1200D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} - -*%****************************************************************************************** -*% Cursor, Page and Color Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*%****************************************************************************************** -*% Font Descriptions and Commands -*%****************************************************************************************** -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157, -+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) -*MinFontID: 16534 -*MaxFontID: 32768 -*FontFormat: HPPCL_OUTLINE -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } - - -*%******************************************************************************************** -*%* Vector Commands. -*%******************************************************************************************** -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf Binary files differdeleted file mode 100644 index 8794fa8e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini b/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini deleted file mode 100644 index dd46570f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/res/gdlsmpl.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=GDLSMPL.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj deleted file mode 100644 index 8b4e5189..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj +++ /dev/null @@ -1,1084 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{F0118F7B-9DF5-49FC-B4FF-951C54033F3D}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{54379D65-81DC-4846-87B8-91904DFAD95D}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>GDLSMPL</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ResourceCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - <ClCompile> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> - <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> - </ClCompile> - <Midl> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </Midl> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib;msxml6.lib</AdditionalDependencies> - <ModuleDefinitionFile>GDLSMPL.def</ModuleDefinitionFile> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="gdlsmpl.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="gdlsmpl.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters deleted file mode 100644 index 6031427f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/GDLSMPL.vcxproj.Filters +++ /dev/null @@ -1,134 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{AA9642FD-4376-4AA6-BEBD-F068AD5C8036}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{C5C6C5CD-8656-4525-B00D-B1F5AEFAA986}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{7600E0E1-C09C-435F-9EE5-6AE7AF0E62AA}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="gdlsmpl.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="gdlsmpl.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="gdlsmpl.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="gdlsmpl.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp deleted file mode 100644 index 0654e1b5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.cpp +++ /dev/null @@ -1,251 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -BOOL -ConvertOEMDevmode( - _In_ PCOEMDEV pOEMDevIn, - _Inout_ POEMDEV pOEMDevOut - ); - -BOOL -MakeOEMDevmodeValid( - _Out_ POEMDEV pOEMDevmode - ); - -//+--------------------------------------------------------------------------- -// -// Member: -// ::hrOEMDevMode -// -// Synopsis: -// Performs operation on UI Plugins Private DevMode Members. -// Called via IOemUI::DevMode -// -// Returns: -// S_OK or E_FAIL. For more detailed failure info, -// check GetLastError -// -// Last error: -// ERROR_INVALID_PARAMETER -// -// -//---------------------------------------------------------------------------- -HRESULT -hrOEMDevMode( - DWORD dwMode, - // Indicates which operation should be performed - _Inout_ POEMDMPARAM pOemDMParam - // contains various data structures needed by this - // routine. The usage of this struct is determined by - // the dwMode flag. - ) -{ - HRESULT hr = S_OK; - // Return value. - - // - // Verify parameters. - // - if ((NULL == pOemDMParam) || - ((OEMDM_SIZE != dwMode) && - (OEMDM_DEFAULT != dwMode) && - (OEMDM_CONVERT != dwMode) && - (OEMDM_MERGE != dwMode))) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - - SetLastError(ERROR_INVALID_PARAMETER); - hr = E_FAIL; - } - else - { - POEMDEV pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;; - // Pointer to the supplied OEM devmode data, if applicable - // based on dwMode. - - POEMDEV pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;; - // Pointer to the DEVMODE data that this routine is - // expected to configure, if applicable based on dwMode. - - switch (dwMode) - { - // - // The Method should return the size of the memory allocation - // needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - break; - - // - // The method should convert private DEVMODE members to - // the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - // The method should validate the information contained in private - // DEVMODE members and merge validated values into a private - // DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - } - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::ConvertOEMDevmode -// -// Synopsis: -// confirm that the private DEVMODE being passed in is data that -// this driver recognizes, read the settings from the input -// OEM DEVMODE data, and write them to pOEMDevOut. -// -// Returns: -// True unless the routine was called with null pointers -// -// -//---------------------------------------------------------------------------- -BOOL -ConvertOEMDevmode( - _In_ PCOEMDEV pOEMDevIn, - // Caller supplied DEVMODE that we are attempting to read - _Inout_ POEMDEV pOEMDevOut - // OEM private DEVMODE configured by this routine based on the settings - // in pOEMDevIn - ) -{ - if ((NULL == pOEMDevIn) || - (NULL == pOEMDevOut)) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - // - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - // - // Copy the old structure in to the new using which ever size is the - // smaller. Devmode maybe from newer Devmode (not likely since there - // is only one), or Devmode maybe a newer Devmode, in which case it - // maybe larger, but the first part of the structure should be the same. - // - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get - // added to the end. - // - memcpy(pOEMDevOut, - pOEMDevIn, - __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - // If the plug-in is capable of recognizing multiple versions of it's - // private DEVMODE data add custom handling here to support it. - // - } - else - { - WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"); - - // - // The private DEVMODE data is not something that this plug-in understands, - // so use defaults. - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - - return TRUE; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::MakeOEMDevmodeValid -// -// Synopsis: -// Force the OEM devmode settings to valid values. -// -// Returns: -// True if the OEMDEV was configured, else FALSE. Only return false if -// the parameter is NULL. -// -// -//---------------------------------------------------------------------------- -BOOL -MakeOEMDevmodeValid( - _Out_ POEMDEV pOEMDevmode - // OEM DEVMODE data to modify - ) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // - // Assumption: pOEMDevmode is large enough to contain OEMDEV structure. - // - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h deleted file mode 100644 index 791b1a20..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/devmode.h +++ /dev/null @@ -1,52 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -//-------------------------------------------------------------------------- - -#pragma once - -#define OEM_SIGNATURE 'GDLS' -#define OEM_VERSION 0x00000001L - -// -// OEM private DEVMODE data structure. This gets included in the DEVMODE -// used by Unidrv. -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - // This structure MUST be prefixed by OEM_DMEXTRAHEADER - - // - // Add private DevMode members here, after the standard header - // information. - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -// -// Prototypes -// - -HRESULT -hrOEMDevMode( - DWORD dwMode, - _Inout_ POEMDMPARAM pOemDMParam - ); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp deleted file mode 100644 index 6d8fd195..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.cpp +++ /dev/null @@ -1,856 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: gdlsmpl.cpp -// -// PURPOSE: Implementation of interface for Unidrv5 UI plug-ins. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" -#include "intrface.h" -#include "gdlsmpl.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//-------------------------------------------------------------------------- -// Globals -//-------------------------------------------------------------------------- - -HINSTANCE ghInstance = NULL; - // Module's Instance handle from DLLEntry of process. - - -//-------------------------------------------------------------------------- -// Internal Globals -//-------------------------------------------------------------------------- - -static long g_cComponents = 0; - // Count of active components - -static long g_cServerLocks = 0; - // Count of locks - - -//-------------------------------------------------------------------------- -// Local helper functions -//-------------------------------------------------------------------------- -BOOL __stdcall -DebugPrint( - LPCWSTR pszMessage, - // Format string for the error message - ... - // args specified in the format string. - ) -{ - va_list arglist; - // varargs list for processing the '...' parameter. - - WCHAR szMsgBuf[MAX_PATH] = {0}; - // Use a stack error buffer so that we don't need to - // allocate in the failure path. - - HRESULT hResult; - // Result from formatting the string. - - if (NULL == pszMessage) - { - return FALSE; - } - - // Pass the variable parameters to wvsprintf to be formated. - va_start(arglist, pszMessage); - hResult = StringCbVPrintfW(szMsgBuf, MAX_PATH*sizeof(szMsgBuf[0]), pszMessage, arglist); - va_end(arglist); - - // Dump string to debug output. - OutputDebugStringW(szMsgBuf); - - return SUCCEEDED(hResult); -} - - -//-------------------------------------------------------------------------- -// Class factory for the Plug-In object -//-------------------------------------------------------------------------- -class COemCF : public IClassFactory -{ -public: - - // IUnknown methods - STDMETHOD(QueryInterface) (THIS_ - REFIID riid, - LPVOID FAR* ppvObj - ); - - STDMETHOD_(ULONG,AddRef) (THIS); - - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // IClassFactory methods - STDMETHOD(CreateInstance) (THIS_ - _In_opt_ LPUNKNOWN pUnkOuter, - _In_ REFIID riid, - _Outptr_ LPVOID FAR* ppvObject - ); - - STDMETHOD(LockServer) (THIS_ - BOOL bLock - ); - - // Class-specific methods. - COemCF(): m_cRef(1) { }; - - ~COemCF() { }; - -protected: - LONG m_cRef; - -}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllMain -// -// Synopsis: -// Dll's main routine, called when new -// threads or processes reference the module -// -// Returns: -// TRUE. Currently has no failure paths. Return false if the module -// cannot be properly initialized. -// -// Notes: -// the caller of this routine holds a process-wide lock preventing more -// than one module from being initialized at a time. In general, -// plug-ins should do as little as possible in this routine to avoid -// stalling other threads that may need to load modules. Also, calling -// any function that would, in-turn, cause another module to be loaded -// could result in a deadlock. -// -// -//---------------------------------------------------------------------------- -extern "C" BOOL -WINAPI DllMain( - HINSTANCE hInst, - WORD wReason, - LPVOID lpReserved - ) -{ - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - break; - - case DLL_PROCESS_DETACH: - break; - - case DLL_THREAD_DETACH: - break; - } - - return TRUE; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllCanUnloadNow -// -// Synopsis: -// Can the DLL be unloaded from memory? Answers no if any objects are -// still allocated, or if the server has been locked. -// -// To avoid leaving OEM DLL still in memory when Unidrv or Pscript -// drivers are unloaded, Unidrv and Pscript driver ignore the return -// value of DllCanUnloadNow of the OEM DLL, and always call FreeLibrary -// on the OEMDLL. -// -// If the plug-in spins off a working thread that also uses this DLL, -// the thread needs to call LoadLibrary and FreeLibraryAndExitThread, -// otherwise it may crash after Unidrv or Pscript calls FreeLibrary. -// -// Returns: -// S_OK if the DLL can be unloaded safely, otherwise S_FALSE -// -// -//---------------------------------------------------------------------------- -STDAPI DllCanUnloadNow() -{ - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllGetClassObject -// -// Synopsis: -// Retrieve the class factory object for the indicated class. -// -// Returns: -// CLASS_E_CLASSNOTAVAILABLE, E_OUTOFMEMORY, or S_OK. -// -// Notes: -// -// -//---------------------------------------------------------------------------- -STDAPI -DllGetClassObject( - _In_ CONST CLSID& clsid, - // GUID of the class object that the caller wants a class factory for - _In_ CONST IID& iid, - // Interface ID to provide in ppv - _Outptr_ VOID** ppv - // out pointer to the interface requested. - ) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // - // Can we create this component? - // - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE; - } - - // - // Create class factory. - // Reference count set to 1 in Constructor - // - COemCF* pGDLSampleClassFactory = new COemCF; - if (pGDLSampleClassFactory == NULL) - { - return E_OUTOFMEMORY; - } - - // - // Get requested interface. - // - HRESULT hr = pGDLSampleClassFactory->QueryInterface(iid, ppv); - pGDLSampleClassFactory->Release(); - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::QueryInterface -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::QueryInterface( - CONST IID& iid, - VOID** ppv - ) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<COemCF*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::AddRef -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -COemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::Release -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemCF::Release() -{ - assert(0 != m_cRef); - - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::CreateInstance -// -// Synopsis: -// Attempt to create an object that implements the specified interface. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::CreateInstance( - _In_opt_ IUnknown* pUnknownOuter, - _In_ CONST IID& iid, - _Outptr_ VOID** ppv - ) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // - // Cannot aggregate. - // - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - HRESULT hr = S_OK; - - if (iid == IID_IUnknown || - iid == IID_IPrintOemUI2) - { - // - // Create component. - // - COemUI2* pOemCB = new COemUI2; - if (pOemCB == NULL) - { - hr = E_OUTOFMEMORY; - } - else - { - // - // Get the requested interface. - // - hr = pOemCB->QueryInterface(iid, ppv); - - // - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - // - pOemCB->Release(); - } - } - else - { - hr = E_NOINTERFACE; - } - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::LockServer -// -// Synopsis: -// Locking the server holds the objects server in memory, so that new -// instances of objects can be created more quickly. -// -// Returns: -// S_OK -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::LockServer( - BOOL bLock - // If true, increment the lock count, otherwise decrement the lock - // count. - ) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - - return S_OK; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2 (destructor) -// -// Synopsis: -// Release the helper interface, as well as any other resources that -// the plug-in is holding onto. -// -// Returns: -// -// Notes: -// -// -//---------------------------------------------------------------------------- -COemUI2::~COemUI2() -{ - // - // Make sure that helper interface is released. - // - if(NULL != m_pCoreHelper) - { - m_pCoreHelper->Release(); - m_pCoreHelper = NULL; - } - - // - // If this instance of the object is being deleted, then the reference - // count should be zero. - // - assert(0 == m_cRef); -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::PublishDriverInterface -// -// Synopsis: -// This routine is called by the core driver to supply objects to the -// plug-in which the plug-in can use to implement various features. -// -// This implementation requires an object that IPrintCoreHelper interface -// from the core driver to implement full UI replacement. If the object -// passed in is the one desired, this routine will return S_OK, otherwise -// it will return E_FAIL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::PublishDriverInterface( - IUnknown *pIUnknown - ) -{ - HRESULT hr = S_OK; - - // - // Save a pointer to the IPrintCoreHelperUni interface. This will allow - // the plug-in to access it's GDL file (which can be it's GPD file as well) - // - if (m_pCoreHelper == NULL) - { - hr = pIUnknown->QueryInterface(IID_IPrintCoreHelperUni, (VOID**) &(m_pCoreHelper)); - - if (!SUCCEEDED(hr)) - { - m_pCoreHelper = NULL; - hr = E_FAIL; - } - } - - return hr; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::GetInfo -// -// Synopsis: -// Most of this routine is a standard implementation common to most -// plug-ins. Of particular note in this sample is that to get a handle -// the IPrintCoreHelper plug-in in the PublishDriverInterface callback, -// this routine must return OEMPUBLISH_IPRINTCOREHELPER in the out -// parameter when the mode is OEMGI_GETREQUESTEDHELPERINTERFACES. -// -// Returns: -// S_OK for supported modes, E_FAIL for everything else. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::GetInfo( - DWORD dwMode, - // The mode indicates what information is being requested by the - // core driver. - _Out_writes_bytes_(cbSize) PVOID pBuffer, - // The output buffer is the location into which the requested info - // should be written - DWORD cbSize, - // The size of the output buffer. - PDWORD pcbNeeded - // If the size of the buffer is insufficient, use this parameter - // to indicate to the core driver how much space is required. - ) -{ - HRESULT hrResult = S_OK; - - // - // Validate parameters. OEMGI_GETPUBLISHERINFO is excluded from this - // list because that GetInfo mode applies only to PScript rendering plug-ins. - // - if ((NULL == pcbNeeded) || - ((OEMGI_GETSIGNATURE != dwMode) && - (OEMGI_GETVERSION != dwMode) && - (OEMGI_GETREQUESTEDHELPERINTERFACES != dwMode))) - { - WARNING("COemUI2::GetInfo() exit pcbNeeded is NULL or mode is not supported\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // - // Set expected buffer size and number of bytes written. - // - *pcbNeeded = sizeof(DWORD); - - // - // Check buffer size is sufficient. - // - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING("COemUI2::GetInfo() exit insufficient buffer!\r\n"); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - hrResult = E_FAIL; - } - else - { - switch(dwMode) - { - // - // OEM DLL Signature - // - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // - // OEM DLL version - // - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // - // The UI is asking whether the plug-in uses the IPrintCoreHelper based - // helper object. Indicate that the plug-in does need this object. - // - case OEMGI_GETREQUESTEDHELPERINTERFACES: - *(PDWORD)pBuffer = 0; - *(PDWORD)pBuffer |= OEMPUBLISH_IPRINTCOREHELPER; - break; - - // - // dwMode not supported. - // - default: - // - // Set written bytes to zero since nothing was written. - // - WARNING("COemUI2::GetInfo() exit mode not supported.\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - hrResult = E_FAIL; - } - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DevMode -// -// Synopsis: -// This routine operates in various modes to manage the private DEVMODE. -// This sample does not provide much by way of illustration of how to -// handle OEM settings in the private DEVMODE. See the sample OEMUI for -// a more in-depth look at this routine. The function hrOEMDevMode in -// devmode.cpp also provides more information on how to handle the various -// modes. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DevMode( - DWORD dwMode, - // The operation that should be performed - POEMDMPARAM pOemDMParam - // The input & output DEVMODEs, including pointers to the public & - // private DEVMODE data. - ) -{ - return hrOEMDevMode(dwMode, pOemDMParam); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DocumentPropertySheets -// -// Synopsis: -// Show the GPD version in the debugger whenever the -// printing preferences UI is shown. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - this->DbgShowGPDVersion(); - - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DbgShowGPDVersion -// -// Synopsis: -// Display the GPD version in the debugger using a GDL snapshot & MSXML 6 -// To make this work on versions of Windows prior to Windows Vista, change -// references to MSXML 6 with MSXML 3. -// -// -//---------------------------------------------------------------------------- -HRESULT -COemUI2::DbgShowGPDVersion() -{ - HRESULT hr; - IXMLDOMDocument2 *pDOMSnapshot = NULL; - IXMLDOMNode *pVersionNode = NULL; - - // - // Get a DOM representation of the snapshot using MSXML 3 - // - hr = LoadGDLSnapshot(&pDOMSnapshot); - - if (hr == REGDB_E_CLASSNOTREG) - { - DebugPrint(L"COemUI2::PublishHelperInterface: MSXML 6.0 not registered, GDL version lookup disabled\r\n"); - } - - // - // Find the GDL node that contains the GPDFileVersion. This should return a single XML DOM Element. - // - if (SUCCEEDED(hr)) - { - hr = pDOMSnapshot->selectSingleNode((BSTR)TEXT("//gdl:SnapshotRoot/gdl:GDL_ATTRIBUTE[@Name=\"*GPDFileVersion\"]"), &pVersionNode); - } - - // - // If the node was found, write the version information to the debugger. - // It's content is represented as CDATA in the XML, but MSXML will - // normalize that to a regular string when it parses the XML. - // - if (SUCCEEDED(hr) && pVersionNode) - { - VARIANT varVersionString; - - // - // Get DefaultOption name - // - hr = pVersionNode->get_nodeTypedValue(&varVersionString); - - if (SUCCEEDED(hr)) - { - DebugPrint(L"COemUI2::PublishHelperInterface: GDL Version: %s\r\n", varVersionString.bstrVal); - } - - VariantClear(&varVersionString); - } - - if (pDOMSnapshot) - { - pDOMSnapshot->Release(); - pDOMSnapshot = NULL; - } - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::LoadGDLSnapshot -// -// Synopsis: -// Load the GDL snapshot from IPrintCoreHelperUni into a DOM object, -// and set appropriate properties on the DOM to prepare it for use -// with xpath queries. -// -// -//---------------------------------------------------------------------------- -HRESULT -COemUI2::LoadGDLSnapshot( - _Out_ IXMLDOMDocument2 **ppDOMSnapshot - ) -{ - HRESULT hr = S_OK; - IStream *pSnapshotStream = NULL; - VARIANT_BOOL loadResult = 0; - - if (!ppDOMSnapshot) - { - return E_INVALIDARG; - } - - (*ppDOMSnapshot) = NULL; - - hr = m_pCoreHelper->CreateDefaultGDLSnapshot(0, &pSnapshotStream); - - if (SUCCEEDED(hr)) - { - // - // Create DOM document - // - hr = m_pCoreHelper->CreateInstanceOfMSXMLObject(CLSID_DOMDocument60, - NULL, - CLSCTX_INPROC_SERVER, - IID_IXMLDOMDocument2, - (LPVOID *)ppDOMSnapshot); - } - - if (SUCCEEDED(hr)) - { - VARIANT streamVar; - - VariantInit(&streamVar); - V_VT(&streamVar) = VT_UNKNOWN; - V_UNKNOWN(&streamVar) = pSnapshotStream; - pSnapshotStream->AddRef(); - - // - // Load the snapshot into the DOM document - // - (*ppDOMSnapshot)->put_async(VARIANT_FALSE); - (*ppDOMSnapshot)->put_validateOnParse(VARIANT_FALSE); - (*ppDOMSnapshot)->put_resolveExternals(VARIANT_FALSE); - - hr = (*ppDOMSnapshot)->load(streamVar, &loadResult); - - VariantClear(&streamVar); - } - - // - // If the DOM fails to load, the HRESULT will be S_FALSE, so explicitly - // look for S_OK. - // - if (hr == S_OK) - { - // - // Set the namespaces that should be available for xpath queries later. - // - BSTR bstrDefNameSpace = SysAllocString(TEXT("xmlns:gdl=\"http://schemas.microsoft.com/2002/print/gdl/1.0\"")); - - if (!bstrDefNameSpace) - { - hr = E_OUTOFMEMORY; - } - - if (SUCCEEDED(hr)) - { - VARIANT varDefNameSpace; - - VariantInit(&varDefNameSpace); - varDefNameSpace.vt = VT_BSTR; - varDefNameSpace.bstrVal = bstrDefNameSpace; - - hr = (*ppDOMSnapshot)->setProperty((BSTR)TEXT("SelectionNamespaces"), varDefNameSpace); - SysFreeString(bstrDefNameSpace); - } - } - else - { - hr = E_FAIL; - } - - if (FAILED(hr) && *ppDOMSnapshot) - { - (*ppDOMSnapshot)->Release(); - (*ppDOMSnapshot) = NULL; - } - - if (pSnapshotStream) - { - pSnapshotStream->Release(); - pSnapshotStream = NULL; - } - - return hr; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def deleted file mode 100644 index d9534de1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.def +++ /dev/null @@ -1,18 +0,0 @@ -; -; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -; ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -; PARTICULAR PURPOSE. -; -; Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -; -; Abstract: -; -; This file contains a listing of all of the methods to be exported -; from the DLL, as well as rules for how to name the exports. -; - -LIBRARY GDLSMPL - -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h deleted file mode 100644 index 77ba7647..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.h +++ /dev/null @@ -1,79 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: gdlsmpl.h -// -// PURPOSE: COM implementation of a UI module that uses GDL. CAbstractOemUI2 -// is defined in intrface.h, and contains a default implementation of -// all optional interface methods. -// -//-------------------------------------------------------------------------- - -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -extern HINSTANCE ghInstance; - // Module's Instance handle from DLLEntry of process. - -class COemUI2: public CAbstractOemUI2 -{ -public: - - COemUI2() : - m_pCoreHelper(NULL) - {} - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - STDMETHOD(GetInfo) (THIS_ - DWORD dwMode, - _Out_writes_bytes_(cbSize) PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam); - - // - // OEMDocumentPropertySheets - // - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - virtual ~COemUI2(); - -protected: - - HRESULT - DbgShowGPDVersion(); - - HRESULT - LoadGDLSnapshot( - _Out_ IXMLDOMDocument2 **ppDOMSnapshot - ); - - IPrintCoreHelperUni* m_pCoreHelper; - // Pointer to the helper interface introduced in Windows Vista. -}; - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc deleted file mode 100644 index 5cd078df..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/gdlsmpl.rc +++ /dev/null @@ -1,106 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: gdlsmpl.rc -// -// PURPOSE: Resource script containing all localizable strings for this -// module -// -//-------------------------------------------------------------------------- - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Developed by Microsoft Corp." - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "GDL Sample Printer UI Module" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "GDLSMPL" - VALUE "LegalCopyright", "Copyright � 1998 - 2006 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "GDLSMPL.dll" - VALUE "ProductName", "Microsoft GDL Sample Driver" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp deleted file mode 100644 index d399712d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.cpp +++ /dev/null @@ -1,559 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PURPOSE: Generic abstract base class useful for creating implementation -// of interface for Unidrv5 UI plug-ins. This base class -// implements all methods which have a standard implementation -// and / or are optional. Non-optional mathods are pure virtual -// in this base class. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryInterface -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryInterface( - CONST IID& iid, - VOID** ppv - ) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - } - else if (iid == IID_IPrintOemUI2) - { - *ppv = static_cast<IPrintOemUI2*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::AddRef -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -CAbstractOemUI2::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::Release -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -CAbstractOemUI2::Release() -{ - ASSERT(0 != m_cRef); - - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (0 == cRef) - { - delete this; - return 0; - - } - - return cRef; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::HideStandardUI -// -// Synopsis: -// This routine is critical to supporting full UI replacement. This -// routine allows the plug-in to disable Unidrv's (or PScript's) standard -// UI panels. If this returns E_NOTIMPL, the panel isn't hidden. If -// this routine returns S_OK, Unidrv will not display any UI for the -// specified mode. If this returns E_NOTIMPL, Unidrv will display it's -// standard UI. -// -// Returns: -// S_OK to hide the indicated UI if desired, otherwise E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::HideStandardUI( - DWORD dwMode - // document property sheets, printer property sheets, or possibly - // something not yet defined. - ) -{ - UNREFERENCED_PARAMETER(dwMode); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DocumentPropertySheets -// -// Synopsis: -// A plug-in may optionally add property sheets. If the plug-in has -// chosen to hide the standard UI, then it would instead provide -// replacements for the standard property sheets. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DevicePropertySheets -// -// Synopsis: -// A plug-in may optionally add property sheets. If the plug-in has -// chosen to hide the standard UI, then it would instead provide -// replacements for the standard property sheets. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::CommonUIProp -// -// Synopsis: -// This routine is used to interact with the Unidrv-supplied -// property sheet pages. Since this plug-in implements full-UI -// replacement, those property sheet pages are disabled, and this -// routine does not need to do anything. -// -// Returns: -// S_OK -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ) -{ - UNREFERENCED_PARAMETER(dwMode); - UNREFERENCED_PARAMETER(pOemCUIPParam); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DeviceCapabilities -// -// Synopsis: -// This routine can be used to replace the Unidrv's device capabilities -// handling. In this implementation, no custom capabilities handling is -// provided. -// -// Returns: -// E_FAIL -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DeviceCapabilities( - _Inout_ POEMUIOBJ poemuiobj, - // OEM settings & information - _In_ HANDLE hPrinter, - // Handle to the printer that the capabilities are being requested for - _In_ PWSTR pDeviceName, - // Name of the device / driver - WORD wCapability, - // The DC_ ID indicating which capability was requested. - _Out_ PVOID pOutput, - // Buffer to write requested information to. - _In_ PDEVMODE pPublicDM, - // Pointer to the public DEVMODE representing the settings to get - // capabilities with respect to. - _In_ PVOID pOEMDM, - // OEM private DEVMODE settings. - DWORD dwOld, - // Result from previous plug-in call to this routine. - _Out_ DWORD *dwResult - // Result of this call. If there are multiple UI plug-ins, this - // result is passed to the next one as dwOld - ) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - // - // Do nothing. Let Unidrv handle the device capabilities processing. - // - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DevQueryPrintEx -// -// Synopsis: -// This routine is used to determine print job compatibility with the -// current driver. The plug-in can supplement Unidrv's handling of this -// routine. If Unidrv determines that a job can be printed on the current -// printer it will call this routine to ask the plug-in whether it can -// also handle the current job. If Unidrv determines that the job cannot -// be printed, it will not call the plug-in. Additionally, XPS drivers -// built on the Unidrv and PScript UI modules may not recieve this call- -// back. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ) -{ - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::UpgradePrinter -// -// Synopsis: -// Use this callback to upgrade any settings from previous versions -// that are stored in the registry by the plug-in Not applicabe to -// this sample. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ) -{ - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::PrinterEvent -// -// Synopsis: -// Perform any special processing needed when various events occur to the -// print queue. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DriverEvent -// -// Synopsis: -// Notifies the plug-in of changes or events relevant to the driver, -// such as installing and upgrading. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryColorProfile -// -// Synopsis: -// This routine can be implemented to provide a color profile from the -// driver. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::FontInstallerDlgProc -// -// Synopsis: -// Plug-ins can use this method to replace Unidrv's provided soft-font -// installer dialog. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ) -{ - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::UpdateExternalFonts -// -// Synopsis: -// This routine is used to notify the UI of any changes to installed -// font cartridges, primarily for supporting soft-font UI replacement. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::UpdateExternalFonts( - _In_ HANDLE hPrinter, - _In_ HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::QueryJobAttributes -// -// Synopsis: -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::QueryJobAttributes( - HANDLE hPrinter, - PDEVMODE pDevmode, - DWORD dwLevel, - LPBYTE lpAttributeInfo - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDevmode); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(lpAttributeInfo); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CAbstractOemUI2::DocumentEvent -// -// Synopsis: -// Perform any special processing needed at various points in time while -// a job is printing. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -CAbstractOemUI2::DocumentEvent( - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ) -{ - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hdc); - UNREFERENCED_PARAMETER(iEsc); - UNREFERENCED_PARAMETER(cbIn); - UNREFERENCED_PARAMETER(pbIn); - UNREFERENCED_PARAMETER(cbOut); - UNREFERENCED_PARAMETER(pbOut); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h deleted file mode 100644 index 07e1175c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/intrface.h +++ /dev/null @@ -1,212 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.h -// -// PURPOSE: Defines a class with default implementations of the UI -// interface plug=-in methods that are optional. -// -//-------------------------------------------------------------------------- - -#pragma once - -class CAbstractOemUI2: public IPrintOemUI2 -{ -public: - // - // *** IUnknown methods *** - // - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown) = 0; - - // - // Get OEM dll related information - // - STDMETHOD(GetInfo) (THIS_ - DWORD dwMode, - _Out_writes_bytes_(cbSize) PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) = 0; - - // - // OEMDevMode - // - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) = 0; - - // - // OEMCommonUIProp - // - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - STDMETHOD(DeviceCapabilities) (THIS_ - _Inout_ POEMUIOBJ poemuiobj, - _In_ HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - _Out_ PVOID pOutput, - _In_ PDEVMODE pPublicDM, - _In_ PVOID pOEMDM, - DWORD dwOld, - _Out_ DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - STDMETHOD( QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - STDMETHOD(UpdateExternalFonts) (THIS_ - _In_ HANDLE hPrinter, - _In_ HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - // - // IPrintOemUI2 methods - // - - // - // QueryJobAttributes - // - STDMETHOD(QueryJobAttributes) (THIS_ - HANDLE hPrinter, - PDEVMODE pDevmode, - DWORD dwLevel, - LPBYTE lpAttributeInfo - ); - - // - // Hide Standard UI - // - STDMETHOD(HideStandardUI) (THIS_ - DWORD dwMode - ); - - // - // DocumentEvent - // - STDMETHOD(DocumentEvent) (THIS_ - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ); - - CAbstractOemUI2() - { - m_cRef = 1; - }; - - virtual ~CAbstractOemUI2() {}; - -protected: - - LONG m_cRef; - // reference count of this object - -}; - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h deleted file mode 100644 index 0533325f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precomp.h +++ /dev/null @@ -1,62 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2006 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. -// -//-------------------------------------------------------------------------- - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <INITGUID.H> -#include <WINDOWS.H> - -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <commctrl.h> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <prcomoem.h> -#include <msxml6.h> - -// -// These files should always be last in your include list. -// -#include <STRSAFE.H> -#include <intsafe.h> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/gdl/src/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd b/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd deleted file mode 100644 index 2621cbb1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oem.gpd +++ /dev/null @@ -1,704 +0,0 @@ -*GPDFileName: "oem.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*Include: "ttfsub.gpd" -*ModelName: "OEM Unidrv Customization Sample" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "<1B>&l1O" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l0H" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l1H" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option2 - *Option: Option1 - { - *Name: "600 x 600" =DOTS_PER_INCH - *DPI: PAIR(600, 600) - *TextDPI: PAIR(600, 600) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R" - } - } - *Option: Option2 - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: Option3 - { - *Name: "150 x 150" =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(150, 150) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R" - } - } -} - -*%****************************************************************************************** -*% HP-GL/2 Graphics Support -*%****************************************************************************************** -*Ifdef: WINNT_51 -*Personality: =PERSONALITY_HPGL2 -*Feature: GraphicsMode -{ - *rcNameID: =GRAPHICSMODE_DISPLAY - *DefaultOption: RASTERMODE - *Option: HPGL2MODE - { - *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY - } - *Option: RASTERMODE - { - *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>" - } - } -} -*Endif: - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1028 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1692 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4109 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4249 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 3198 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y" - } - } - } - } -} - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: PLAIN - *Option: PLAIN - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n6WdPlain" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n13WdTransparency" - } - } -} - -*%****************************************************************************************** -*% Color Mode -*%****************************************************************************************** -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *DefaultOption: 24bpp - *Option: Mono - { - *rcNameID: =MONO_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 1 - *Color?: FALSE - } - *Option: Color - { - *rcNameID: =COLOR_DISPLAY - *DevNumOfPlanes: 3 - *DevBPP: 1 - *DrvBPP: 4 - EXTERN_GLOBAL: *RasterSendAllData?: TRUE - *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW) - *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" } - *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" } - *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" } - *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" } - *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" } - *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" } - *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" } - *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*r-3U" - } - } - *Option: 8bpp - { - *rcNameID: =8BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 8 - *DrvBPP: 8 - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>" - } - } - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 24 - *DrvBPP: 24 - *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*" -+ "o3W<060400>" - } - } -} - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Memory -*% -*% Note: Unidrv uses the font memory information to estimate when it needs to stop -*% downloading fonts for a page, and thus driver writers should err on the conservative -*% side. Otherwise, printers will generate "out of memory" device errors for pages with -*% a large number of fonts / unique glyphs. -*%****************************************************************************************** -*Feature: Memory -{ - *rcNameID: =PRINTER_MEMORY_DISPLAY - *DefaultOption: 32768KB - *Option: 4096KB - { - *Name: "4MB" - *MemoryConfigKB: PAIR(4096, 6750) - } - *Option: 8192KB - { - *Name: "8MB" - *MemoryConfigKB: PAIR(8192, 10350) - } - *Option: 16384KB - { - *Name: "16MB" - *MemoryConfigKB: PAIR(16384, 13950) - } - *Option: 24576KB - { - *Name: "24MB" - *MemoryConfigKB: PAIR(24576, 21150) - } - *Option: 32768KB - { - *Name: "32MB" - *MemoryConfigKB: PAIR(32768, 28350) - } - *Option: 49152KB - { - *Name: "48MB" - *MemoryConfigKB: PAIR(49152, 43050) - } - *Option: 65536KB - { - *Name: "64MB" - *MemoryConfigKB: PAIR(65536, 57150) - } - *Option: 98304KB - { - *Name: "96MB" - *MemoryConfigKB: PAIR(98304, 85950) - } - *Option: 102400KB - { - *Name: "100MB" - *MemoryConfigKB: PAIR(102400, 89700) - } - *Option: 114688KB - { - *Name: "112MB" - *MemoryConfigKB: PAIR(114688, 100550) - } - *Option: 131072KB - { - *Name: "128MB" - *MemoryConfigKB: PAIR(131072, 116250) - } -} - -*%****************************************************************************************** -*% Duplex Unit -*%****************************************************************************************** -*Feature: DuplexUnit -{ - *rcNameID: 429 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *rcNameID: 444 - *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL) - } - *Option: TRUE - { - *rcNameID: 443 - } -} - -*%****************************************************************************************** -*% Duplex Type -*%****************************************************************************************** -*Feature: Duplex -{ - *rcNameID: =TWO_SIDED_PRINTING_DISPLAY - *DefaultOption: NONE - *Option: NONE - { - *rcNameID: =NONE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l0S" - } - } - *Option: VERTICAL - { - *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l1S" - } - } - *Option: HORIZONTAL - { - *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l2S" - } - } -} - -*%****************************************************************************************** -*% Page Protect -*%****************************************************************************************** -*Feature: PageProtect -{ - *rcNameID: =PAGE_PROTECTION_DISPLAY - *DefaultOption: OFF - *Option: ON - { - *rcNameID: =ON_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" - } - } - *Option: OFF - { - *rcNameID: =OFF_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "<1B>&u1200D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} - -*%****************************************************************************************** -*% Cursor, Page and Color Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*%****************************************************************************************** -*% Font Descriptions and Commands -*%****************************************************************************************** -*TTFSEnabled?: TRUE -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157, -+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) -*MinFontID: 16534 -*MaxFontID: 32768 -*switch: Resolution -{ - *case: Option1 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option2 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option3 - { - *FontFormat: HPPCL_RES - } -} -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } - - -*%******************************************************************************************** -*%* Vector Commands. -*%******************************************************************************************** -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd b/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd deleted file mode 100644 index bbc93432..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oem.ppd +++ /dev/null @@ -1,431 +0,0 @@ -*PPD-Adobe: "4.3" -*% Adobe Systems PostScript(R) Printer Description File -*% Copyright (c) 2003 Microsoft Corp. All rights reserved. - -*FormatVersion: "4.3" -*FileVersion: "2.0" -*LanguageEncoding: ISOLatin1 -*LanguageVersion: English -*Product: "(MS OEM Customization)" -*PSVersion: "(2015.105) 9" -*Manufacturer: "Microsoft" -*ModelName: "Microsoft PS5 OEM Customization" -*ShortNickName: "MS PS5 Oem Customization" -*NickName: "MS PS5 Oem Customization" -*PCFileName: "PS5OEM.PPD" - -*% === Installable Options =========== -*OpenGroup: InstallableOptions/Options Installed - -*OpenUI *InstalledMemory/Memory Configuration: PickOne -*DefaultInstalledMemory: 24Meg -*InstalledMemory 24Meg/Standard 24 MB RAM: "" -*InstalledMemory 28Meg/28 MB Total RAM: "" -*InstalledMemory 40Meg/40 MB Total RAM: "" -*InstalledMemory 44Meg/44 MB Total RAM: "" -*InstalledMemory 56Meg/56 MB Total RAM: "" -*InstalledMemory 72Meg/72 MB Total RAM: "" -*CloseUI: *InstalledMemory - -*CloseGroup: InstallableOptions - -*% === Constraints =================== - - -*% === Basic Device Capabilities ============ - -*LanguageLevel: "2" -*Protocols: BCP - -*FreeVM: "5500000" -*VMOption 24Meg/Standard 24 MB RAM: "5500000" -*VMOption 28Meg/28 MB Total RAM: "8000000" -*VMOption 40Meg/40 MB Total RAM: "5400000" -*VMOption 44Meg/44 MB Total RAM: "8000000" -*VMOption 56Meg/56 MB Total RAM: "17400000" -*VMOption 72Meg/72 MB Total RAM: "3800000" - -*ColorDevice: True -*DefaultColorSpace: CMYK -*AccurateScreensSupport: True -*SuggestedJobTimeout: "0" -*SuggestedWaitTimeout: "300" -*SuggestedManualFeedTimeout: "60" -*End -*TTRasterizer: Type42 -*?TTRasterizer: " - save - 42 /FontType resourcestatus - { pop pop (Type42)} {pop pop (None)} ifelse = flush - restore" -*End - -*Emulators: hpgl -*StartEmulator_hpgl: "currentfile /hpgl statusdict /emulate get exec " -*StopEmulator_hpgl: "<1B7F>0" - -*FileSystem: True -*?FileSystem: " - save false - (%disk?%) - { currentdevparams dup /Writeable known - { /Writeable get {pop true} if } {pop} ifelse - } 10 string /IODevice resourceforall - {(True)}{(False)} ifelse = flush - restore" -*End -*Throughput: "14" -*Password: "(0)" -*ExitServer: " - count 0 eq - { false } { true exch startjob } ifelse - not - { (WARNING: Cannot modify initial VM.) = - (Missing or invalid password.) = - (Please contact the author of this software.) = flush quit - } if" -*End -*Reset: " - count 0 eq - { false } { true exch startjob } ifelse - not - { (WARNING: Cannot reset printer.) = - (Missing or invalid password.) = - (Please contact the author of this software.) = flush quit - } if - systemdict /quit get exec - (WARNING : Printer Reset Failed.) = flush" -*End - -*DefaultResolution: 600x600dpi -*?Resolution: " - save currentpagedevice - /HWResolution get - aload pop exch ( ) cvs print (x) print ( ) cvs print (dpi) - = flush - restore" -*End - -*% Halftone Information ================= - -*DefaultHalftoneType: 9 -*ScreenFreq: "60.0" -*ScreenAngle: "0.0" -*DefaultScreenProc: Null -*ScreenProc Null: "{}" - -*DefaultTransfer: Null -*Transfer Null: "{ }" -*Transfer Null.Inverse: "{ 1 exch sub }" - - -*% Tray Selection ============ - -*OpenUI *InputSlot: PickOne -*OrderDependency: 10 AnySetup *InputSlot -*DefaultInputSlot: Paper -*InputSlot Upper: " - (<<) cvx exec - /MediaPosition 0 - /MediaType null - /TraySwitch false - /ManualFeed false - (>>) cvx exec setpagedevice" -*End -*InputSlot Middle: " - (<<) cvx exec - /MediaPosition 1 - /MediaType null - /TraySwitch false - /ManualFeed false - (>>) cvx exec setpagedevice" -*End -*InputSlot Lower: " - (<<) cvx exec - /MediaPosition 2 - /MediaType null - /TraySwitch false - /ManualFeed false - (>>) cvx exec setpagedevice" -*End -*InputSlot Paper: " - (<<) cvx exec - /MediaPosition null - /MediaType (Paper) - /TraySwitch true - /ManualFeed false - (>>) cvx exec setpagedevice" -*End -*InputSlot Transparency: " - (<<) cvx exec - /MediaPosition null - /MediaType (Transparency) - /TraySwitch true - /ManualFeed false - (>>) cvx exec setpagedevice" -*End -*InputSlot ManualPaper/Manual Paper: " - (<<) cvx exec - /MediaPosition null - /MediaType (Paper) - /TraySwitch false - /ManualFeed true - (>>) cvx exec setpagedevice" -*End -*InputSlot ManualTransparency/Manual Transparency: " - (<<) cvx exec - /MediaPosition null - /MediaType (Transparency) - /TraySwitch false - /ManualFeed true - (>>) cvx exec setpagedevice" -*End -*?InputSlot: " - save - currentpagedevice /MediaPosition get - dup null eq - { pop currentpagedevice /MediaType get - dup null eq - { pop (Upper) } - { dup (Paper) eq - { pop currentpagedevice /ManualFeed get - { (ManualPaper) } - { (Paper) } ifelse - } - { - (Transparency) eq - { currentpagedevice /ManualFeed get - { (ManualTransparency) } - { (Transparency) } ifelse - } - { (Unknown) } ifelse - } ifelse - } ifelse - } - { - dup 0 eq - { pop (Upper) } - { dup 1 eq - { pop (Middle) } - { 2 eq - { (Lower) } - { (Unknown) } ifelse - } ifelse - } ifelse - } ifelse - = flush restore" -*End -*CloseUI: *InputSlot - -*% Paper Handling =================== - -*% Use these entries to set paper size most of the time, unless there is -*% specific reason to use PageRegion. -*OpenUI *PageSize: PickOne -*OrderDependency: 20 AnySetup *PageSize -*DefaultPageSize: Letter -*PageSize Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*PageSize Legal: "(<<) cvx exec /PageSize [612 1008] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*PageSize A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*?PageSize: " - save currentpagedevice /PageSize get aload pop - 2 copy gt {exch} if (Unknown) - (<<) cvx exec - [612 792] (Letter) - [612 1008] (Legal) - [595 842] (A4) (>>) cvx exec - { exch aload pop 4 index sub abs 5 le exch 5 index sub abs 5 le and - { exch pop exit } { pop } ifelse - } bind forall = flush pop pop - restore" -*End -*CloseUI: *PageSize - -*% These entries will set up the frame buffer. Usually used with manual feed. -*OpenUI *PageRegion: PickOne -*OrderDependency: 30 AnySetup *PageRegion -*DefaultPageRegion: Letter -*PageRegion Letter: "(<<) cvx exec /PageSize [612 792] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*PageRegion Legal: "(<<) cvx exec /PageSize [612 1008] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*PageRegion A4: "(<<) cvx exec /PageSize [595 842] /ImagingBBox null - (>>) cvx exec setpagedevice" -*End -*CloseUI: *PageRegion - -*% The following entries provide information about specific paper keywords. -*DefaultImageableArea: Letter -*ImageableArea Letter: "10.32 15.9 601.68 776.22" -*ImageableArea Legal: "10.32 16.3801 601.68 991.74" -*ImageableArea A4: "13.44 14.46 581.76 828.54" -*?ImageableArea: " - save - /cvp { ( ) cvs print ( ) print } bind def - /upperright {10000 mul floor 10000 div} bind def - /lowerleft {10000 mul ceiling 10000 div} bind def - newpath clippath pathbbox - 4 -2 roll exch 2 {lowerleft cvp} repeat - exch 2 {upperright cvp} repeat flush - restore" -*End - -*% These provide the physical dimensions of the paper (by keyword) -*DefaultPaperDimension: Letter -*PaperDimension Letter: "612 792" -*PaperDimension Legal: "612 1008" -*PaperDimension A4: "595 842" - -*RequiresPageRegion All: True - -*% Print Quality Selection =================== - -*OpenUI *OutputMode/Print Quality: PickOne -*OrderDependency: 50 AnySetup *OutputMode -*DefaultOutputMode: Standard -*OutputMode Fast/Fast Color 600x600 dpi: " - (<<) cvx exec - /HWResolution [600 600] - /ProcessColorModel /DeviceCMY - (>>) cvx exec setpagedevice" -*End -*OutputMode Standard/Standard 600x600 dpi: " - (<<) cvx exec - /HWResolution [600 600] - /ProcessColorModel /DeviceCMYK - (>>) cvx exec setpagedevice" -*End -*OutputMode Enhanced/Enhanced 1200x600 dpi: " - (<<) cvx exec - /HWResolution [1200 600] - /ProcessColorModel /DeviceCMYK - (>>) cvx exec setpagedevice" -*End -*OutputMode Premium/Premium 1200x1200 dpi: " - (<<) cvx exec - /HWResolution [1200 1200] - /ProcessColorModel /DeviceCMYK - (>>) cvx exec setpagedevice" -*End -*?OutputMode: " - save - currentpagedevice /ProcessColorModel get /DeviceCMY eq - { (Fast) } - { currentpagedevice /HWResolution get - aload pop 1200 eq - { pop (Premium) } - { 1200 eq - { (Enhanced) } - { (Standard) } ifelse - } ifelse - } ifelse - = flush restore" -*End -*CloseUI: *OutputMode - -*OpenUI *OutputOrder/Output Order: PickOne -*OrderDependency: 60 AnySetup *OutputOrder -*DefaultOutputOrder: Reverse -*OutputOrder Normal/Face Down: " - (<<) cvx exec - /OutputFaceUp false - (>>) cvx exec setpagedevice" -*End -*OutputOrder Reverse/Face Up: " - (<<) cvx exec - /OutputFaceUp true - (>>) cvx exec setpagedevice" -*End -*?OutputOrder: " - save - currentpagedevice /OutputFaceUp get {(Reverse)}{(Normal)}ifelse - = flush restore" -*End -*CloseUI: *OutputOrder - -*OpenUI *Collate/Quick Collate: Boolean -*OrderDependency: 70 AnySetup *Collate -*DefaultCollate: False -*Collate False: " - (<<) cvx exec - /Collate false - (>>) cvx exec setpagedevice" -*End -*Collate True: " - (<<) cvx exec - /Collate true - (>>) cvx exec setpagedevice" -*End -*?Collate: " - save - currentpagedevice /Collate get {(True)}{(False)}ifelse - = flush restore" -*End -*CloseUI: *Collate - - -*% Font Information ===================== -*DefaultFont: Courier -*Font Courier: Standard "(002.003)" Standard ROM -*Font Courier-Bold: Standard "(002.003)" Standard ROM -*Font Courier-BoldOblique: Standard "(002.003)" Standard ROM -*Font Courier-Oblique: Standard "(002.003)" Standard ROM -*Font Helvetica: Standard "(001.006)" Standard ROM -*Font Helvetica-Bold: Standard "(001.007)" Standard ROM -*Font Helvetica-BoldOblique: Standard "(001.007)" Standard ROM -*Font Helvetica-Condensed: Standard "(001.001)" Standard ROM -*Font Helvetica-Condensed-Bold: Standard "(001.002)" Standard ROM -*Font Helvetica-Condensed-BoldObl: Standard "(001.002)" Standard ROM -*Font Helvetica-Condensed-Oblique: Standard "(001.001)" Standard ROM -*Font Helvetica-Narrow: Standard "(001.006)" Standard ROM -*Font Helvetica-Narrow-Bold: Standard "(001.007)" Standard ROM -*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)" Standard ROM -*Font Helvetica-Narrow-Oblique: Standard "(001.006)" Standard ROM -*Font Helvetica-Oblique: Standard "(001.006)" Standard ROM -*Font Symbol: Special "(001.007)" Special ROM -*Font Times-Bold: Standard "(001.007)" Standard ROM -*Font Times-BoldItalic: Standard "(001.009)" Standard ROM -*Font Times-Italic: Standard "(001.007)" Standard ROM -*Font Times-Roman: Standard "(001.007)" Standard ROM -*Font ZapfChancery-MediumItalic: Standard "(001.006)" Standard ROM -*Font ZapfDingbats: Special "(001.004)" Special ROM -*?FontQuery: " - save - { count 1 gt - { exch dup 127 string cvs (/) print print (:) print - /Font resourcestatus {pop pop (Yes)} {(No)} ifelse = - } { exit } ifelse - } bind loop - (*) = flush restore" -*End - -*?FontList: " - save (*) {cvn ==} 128 string /Font resourceforall - (*) = flush restore" -*End - -*DefaultColorSep: ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi - -*% For 60 lpi / 600x600dpi ================================ - -*ColorSepScreenAngle ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0" -*ColorSepScreenAngle CustomColor.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0" -*ColorSepScreenAngle ProcessCyan.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0" -*ColorSepScreenAngle ProcessMagenta.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0" -*ColorSepScreenAngle ProcessYellow.60lpi.600x600dpi/60 lpi / 600x600 dpi: "0.0" - -*ColorSepScreenFreq ProcessBlack.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0" -*ColorSepScreenFreq CustomColor.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0" -*ColorSepScreenFreq ProcessCyan.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0" -*ColorSepScreenFreq ProcessMagenta.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0" -*ColorSepScreenFreq ProcessYellow.60lpi.600x600dpi/60 lpi / 600x600 dpi: "60.0" - -*% end of PPD file for MS PS5 OEM Custimization diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf b/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf Binary files differdeleted file mode 100644 index 5f49b577..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln b/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln deleted file mode 100644 index 2d0d56ed..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemdll.sln +++ /dev/null @@ -1,809 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26430.16 -MinimumVisualStudioVersion = 12.0 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Bitmap", "Bitmap", "{EFB5E861-A892-49B4-BA05-38F6F5F42D48}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Custhlp", "Custhlp", "{F3DB5340-C664-40EB-986F-2A48790AEDC5}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{EC75B371-D09D-4D95-9816-3429B6D3806B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gdl", "Gdl", "{A6BA54B0-ADB8-4032-8C4B-770474042B09}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemprean", "Oemprean", "{E7B7C6C6-5396-42D3-9BDE-DFAC86D0AFE3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemps", "Oemps", "{80510096-C37F-488D-A426-E3BA4B1A1600}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemui", "Oemui", "{35933BA0-56E6-4DD4-84E9-C8AADAA19AFA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Oemuni", "Oemuni", "{7AC217E4-4DB5-414C-A39F-B783020E43AA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PSUIRep", "PSUIRep", "{03A523F4-091A-416B-97B5-A84FA1B1D3EE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{CCF8F861-A2C2-4C28-AB19-29CC47C6D560}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PTPCPlPr", "PTPCPlPr", "{F8AB36BA-6C96-42BA-90F5-378D3B73634C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SyncSet", "SyncSet", "{C52A574A-6122-48EB-875C-07CE190B0808}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ThemeUI", "ThemeUI", "{F3C654B9-A286-494E-8558-3A2526D52A37}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Src", "Src", "{C4BCC65A-6423-4569-A1D6-AAA82CE821A9}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Uniuirep", "Uniuirep", "{1BA35560-35CD-4E6E-8B67-AD7ED043874A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkps", "Wmarkps", "{9F8B052F-1649-4F54-ABE9-42E51AFB32AA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Watermark", "Watermark", "{575FCB22-ADB3-4025-8F23-040500F6C11A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkui", "Wmarkui", "{2A597978-AD6A-41D0-9B97-CC1B69CE054A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkui", "Wmarkui", "{D0C95EA5-D23F-44E6-91C3-2BA65CE3991E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Watermarkuni", "Watermarkuni", "{5A8A1EF7-4454-43F3-8A69-484AF81D0771}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wmarkuni", "Wmarkuni", "{90BABB1D-0FDD-4A9A-BA18-3319FF12363B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitmap", "bitmap\bitmap.vcxproj", "{EDCCC34A-50DF-4894-B7B9-FC156F899947}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CUSTHLP", "custhlp\CUSTHLP.vcxproj", "{CA70C64A-75C8-48CD-9224-335C2ED689A6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GDLSMPL", "gdl\src\GDLSMPL.vcxproj", "{F0118F7B-9DF5-49FC-B4FF-951C54033F3D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oemprean", "oemprean\oemprean.vcxproj", "{D5E225D5-EEEA-45FD-AD07-E4678C542E1A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMPS", "oemps\OEMPS.vcxproj", "{9F374241-B8F9-45D3-B163-7E84E8E22C1F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMUI", "oemui\OEMUI.vcxproj", "{452209BF-AEB7-457D-956B-90CDE70CED7D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OEMUNI", "oemuni\OEMUNI.vcxproj", "{B0F13767-2056-47FC-B37B-41D7E339900B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PSUIREP", "PSUIRep\PSUIREP.vcxproj", "{5D63CD51-110C-41B7-B8B0-6AB27398690B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PTPCPLPR", "PTPCPlPr\src\PTPCPLPR.vcxproj", "{CED613CF-6666-43FC-9414-02AFBDA83A34}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SYNCSET", "SyncSet\SYNCSET.vcxproj", "{60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThemeUISmpl", "ThemeUI\ThemeUISmpl.vcxproj", "{EA206DEA-26E6-4FD4-BF68-23F222C5E211}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UNIUIREP", "uniuirep\src\UNIUIREP.vcxproj", "{7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKPS", "watermark\wmarkps\WMARKPS.vcxproj", "{4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUI", "watermark\wmarkui\WMARKUI.vcxproj", "{BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUNIUI", "watermarkuni\wmarkui\WMARKUNIUI.vcxproj", "{1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WMARKUNI", "watermarkuni\wmarkuni\WMARKUNI.vcxproj", "{866141A6-4989-41D7-9409-4A5A73B535B0}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Win10 Debug|ARM64 = Win10 Debug|ARM64 - Win10 Debug|Win32 = Win10 Debug|Win32 - Win10 Debug|x64 = Win10 Debug|x64 - Win10 Release|ARM64 = Win10 Release|ARM64 - Win10 Release|Win32 = Win10 Release|Win32 - Win10 Release|x64 = Win10 Release|x64 - Win7 Debug|ARM64 = Win7 Debug|ARM64 - Win7 Debug|Win32 = Win7 Debug|Win32 - Win7 Debug|x64 = Win7 Debug|x64 - Win7 Release|ARM64 = Win7 Release|ARM64 - Win7 Release|Win32 = Win7 Release|Win32 - Win7 Release|x64 = Win7 Release|x64 - Win8 Debug|ARM64 = Win8 Debug|ARM64 - Win8 Debug|Win32 = Win8 Debug|Win32 - Win8 Debug|x64 = Win8 Debug|x64 - Win8 Release|ARM64 = Win8 Release|ARM64 - Win8 Release|Win32 = Win8 Release|Win32 - Win8 Release|x64 = Win8 Release|x64 - Win8.1 Debug|ARM64 = Win8.1 Debug|ARM64 - Win8.1 Debug|Win32 = Win8.1 Debug|Win32 - Win8.1 Debug|x64 = Win8.1 Debug|x64 - Win8.1 Release|ARM64 = Win8.1 Release|ARM64 - Win8.1 Release|Win32 = Win8.1 Release|Win32 - Win8.1 Release|x64 = Win8.1 Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {EDCCC34A-50DF-4894-B7B9-FC156F899947}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {CA70C64A-75C8-48CD-9224-335C2ED689A6}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {9F374241-B8F9-45D3-B163-7E84E8E22C1F}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {452209BF-AEB7-457D-956B-90CDE70CED7D}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {B0F13767-2056-47FC-B37B-41D7E339900B}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {5D63CD51-110C-41B7-B8B0-6AB27398690B}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {CED613CF-6666-43FC-9414-02AFBDA83A34}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {EA206DEA-26E6-4FD4-BF68-23F222C5E211}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|ARM64.ActiveCfg = Win10 Debug|ARM64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|ARM64.Build.0 = Win10 Debug|ARM64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|Win32.ActiveCfg = Win10 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|Win32.Build.0 = Win10 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|x64.ActiveCfg = Win10 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Debug|x64.Build.0 = Win10 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|ARM64.ActiveCfg = Win10 Release|ARM64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|ARM64.Build.0 = Win10 Release|ARM64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|Win32.ActiveCfg = Win10 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|Win32.Build.0 = Win10 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|x64.ActiveCfg = Win10 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win10 Release|x64.Build.0 = Win10 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|ARM64.ActiveCfg = Win7 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Debug|x64.Build.0 = Win7 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|ARM64.ActiveCfg = Win7 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|Win32.Build.0 = Win7 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|x64.ActiveCfg = Win7 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win7 Release|x64.Build.0 = Win7 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|ARM64.ActiveCfg = Win8 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Debug|x64.Build.0 = Win8 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|ARM64.ActiveCfg = Win8 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|Win32.Build.0 = Win8 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|x64.ActiveCfg = Win8 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8 Release|x64.Build.0 = Win8 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|ARM64.ActiveCfg = Win8.1 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|ARM64.ActiveCfg = Win8.1 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64 - {866141A6-4989-41D7-9409-4A5A73B535B0}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {EC75B371-D09D-4D95-9816-3429B6D3806B} = {A6BA54B0-ADB8-4032-8C4B-770474042B09} - {CCF8F861-A2C2-4C28-AB19-29CC47C6D560} = {F8AB36BA-6C96-42BA-90F5-378D3B73634C} - {C4BCC65A-6423-4569-A1D6-AAA82CE821A9} = {1BA35560-35CD-4E6E-8B67-AD7ED043874A} - {9F8B052F-1649-4F54-ABE9-42E51AFB32AA} = {575FCB22-ADB3-4025-8F23-040500F6C11A} - {2A597978-AD6A-41D0-9B97-CC1B69CE054A} = {575FCB22-ADB3-4025-8F23-040500F6C11A} - {D0C95EA5-D23F-44E6-91C3-2BA65CE3991E} = {5A8A1EF7-4454-43F3-8A69-484AF81D0771} - {90BABB1D-0FDD-4A9A-BA18-3319FF12363B} = {5A8A1EF7-4454-43F3-8A69-484AF81D0771} - {EDCCC34A-50DF-4894-B7B9-FC156F899947} = {EFB5E861-A892-49B4-BA05-38F6F5F42D48} - {CA70C64A-75C8-48CD-9224-335C2ED689A6} = {F3DB5340-C664-40EB-986F-2A48790AEDC5} - {F0118F7B-9DF5-49FC-B4FF-951C54033F3D} = {EC75B371-D09D-4D95-9816-3429B6D3806B} - {D5E225D5-EEEA-45FD-AD07-E4678C542E1A} = {E7B7C6C6-5396-42D3-9BDE-DFAC86D0AFE3} - {9F374241-B8F9-45D3-B163-7E84E8E22C1F} = {80510096-C37F-488D-A426-E3BA4B1A1600} - {452209BF-AEB7-457D-956B-90CDE70CED7D} = {35933BA0-56E6-4DD4-84E9-C8AADAA19AFA} - {B0F13767-2056-47FC-B37B-41D7E339900B} = {7AC217E4-4DB5-414C-A39F-B783020E43AA} - {5D63CD51-110C-41B7-B8B0-6AB27398690B} = {03A523F4-091A-416B-97B5-A84FA1B1D3EE} - {CED613CF-6666-43FC-9414-02AFBDA83A34} = {CCF8F861-A2C2-4C28-AB19-29CC47C6D560} - {60E61442-4E2A-41A1-BC70-EDC0B8DC4EB8} = {C52A574A-6122-48EB-875C-07CE190B0808} - {EA206DEA-26E6-4FD4-BF68-23F222C5E211} = {F3C654B9-A286-494E-8558-3A2526D52A37} - {7C66BD86-A7CA-4F53-A5B2-9361A6B80E16} = {C4BCC65A-6423-4569-A1D6-AAA82CE821A9} - {4B90E6E4-34B2-460F-9BF7-D75B5334F2E5} = {9F8B052F-1649-4F54-ABE9-42E51AFB32AA} - {BE3E261C-4EF8-4BC2-AAD2-49F1292512CE} = {2A597978-AD6A-41D0-9B97-CC1B69CE054A} - {1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62} = {D0C95EA5-D23F-44E6-91C3-2BA65CE3991E} - {866141A6-4989-41D7-9409-4A5A73B535B0} = {90BABB1D-0FDD-4A9A-BA18-3319FF12363B} - EndGlobalSection -EndGlobal diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd deleted file mode 100644 index 3328de18..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.gpd +++ /dev/null @@ -1,706 +0,0 @@ -*GPDFileName: "oemprean.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*Include: "ttfsub.gpd" -*ModelName: "OEM Pre-Analysis sample" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*PreAnalysisOptions: 8 - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "<1B>&l1O" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l0H" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l1H" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option2 - *Option: Option1 - { - *Name: "600 x 600" =DOTS_PER_INCH - *DPI: PAIR(600, 600) - *TextDPI: PAIR(600, 600) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R" - } - } - *Option: Option2 - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: Option3 - { - *Name: "150 x 150" =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(150, 150) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R" - } - } -} - -*%****************************************************************************************** -*% HP-GL/2 Graphics Support -*%****************************************************************************************** -*Ifdef: WINNT_51 -*Personality: =PERSONALITY_HPGL2 -*Feature: GraphicsMode -{ - *rcNameID: =GRAPHICSMODE_DISPLAY - *DefaultOption: RASTERMODE - *Option: HPGL2MODE - { - *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY - } - *Option: RASTERMODE - { - *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>" - } - } -} -*Endif: - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1028 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1692 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4109 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4249 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 3198 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y" - } - } - } - } -} - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: PLAIN - *Option: PLAIN - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n6WdPlain" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n13WdTransparency" - } - } -} - -*%****************************************************************************************** -*% Color Mode -*%****************************************************************************************** -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *DefaultOption: 24bpp - *Option: Mono - { - *rcNameID: =MONO_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 1 - *Color?: FALSE - } - *Option: Color - { - *rcNameID: =COLOR_DISPLAY - *DevNumOfPlanes: 3 - *DevBPP: 1 - *DrvBPP: 4 - EXTERN_GLOBAL: *RasterSendAllData?: TRUE - *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW) - *Command: CmdSendCyanData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendMagentaData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"V" } - *Command: CmdSendYellowData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" } - *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" } - *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" } - *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" } - *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" } - *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" } - *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" } - *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*r-3U" - } - } - *Option: 8bpp - { - *rcNameID: =8BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 8 - *DrvBPP: 8 - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*t0I<1B>*l184O<1B>*v6W<000108080808>" - } - } - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 24 - *DrvBPP: 24 - *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*" -+ "o3W<060400>" - } - } -} - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Memory -*% -*% Note: Unidrv uses the font memory information to estimate when it needs to stop -*% downloading fonts for a page, and thus driver writers should err on the conservative -*% side. Otherwise, printers will generate "out of memory" device errors for pages with -*% a large number of fonts / unique glyphs. -*%****************************************************************************************** -*Feature: Memory -{ - *rcNameID: =PRINTER_MEMORY_DISPLAY - *DefaultOption: 32768KB - *Option: 4096KB - { - *Name: "4MB" - *MemoryConfigKB: PAIR(4096, 6750) - } - *Option: 8192KB - { - *Name: "8MB" - *MemoryConfigKB: PAIR(8192, 10350) - } - *Option: 16384KB - { - *Name: "16MB" - *MemoryConfigKB: PAIR(16384, 13950) - } - *Option: 24576KB - { - *Name: "24MB" - *MemoryConfigKB: PAIR(24576, 21150) - } - *Option: 32768KB - { - *Name: "32MB" - *MemoryConfigKB: PAIR(32768, 28350) - } - *Option: 49152KB - { - *Name: "48MB" - *MemoryConfigKB: PAIR(49152, 43050) - } - *Option: 65536KB - { - *Name: "64MB" - *MemoryConfigKB: PAIR(65536, 57150) - } - *Option: 98304KB - { - *Name: "96MB" - *MemoryConfigKB: PAIR(98304, 85950) - } - *Option: 102400KB - { - *Name: "100MB" - *MemoryConfigKB: PAIR(102400, 89700) - } - *Option: 114688KB - { - *Name: "112MB" - *MemoryConfigKB: PAIR(114688, 100550) - } - *Option: 131072KB - { - *Name: "128MB" - *MemoryConfigKB: PAIR(131072, 116250) - } -} - -*%****************************************************************************************** -*% Duplex Unit -*%****************************************************************************************** -*Feature: DuplexUnit -{ - *rcNameID: 429 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *rcNameID: 444 - *DisabledFeatures: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL) - } - *Option: TRUE - { - *rcNameID: 443 - } -} - -*%****************************************************************************************** -*% Duplex Type -*%****************************************************************************************** -*Feature: Duplex -{ - *rcNameID: =TWO_SIDED_PRINTING_DISPLAY - *DefaultOption: NONE - *Option: NONE - { - *rcNameID: =NONE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l0S" - } - } - *Option: VERTICAL - { - *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l1S" - } - } - *Option: HORIZONTAL - { - *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l2S" - } - } -} - -*%****************************************************************************************** -*% Page Protect -*%****************************************************************************************** -*Feature: PageProtect -{ - *rcNameID: =PAGE_PROTECTION_DISPLAY - *DefaultOption: OFF - *Option: ON - { - *rcNameID: =ON_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" - } - } - *Option: OFF - { - *rcNameID: =OFF_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "<1B>&u1200D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} - -*%****************************************************************************************** -*% Cursor, Page and Color Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*%****************************************************************************************** -*% Font Descriptions and Commands -*%****************************************************************************************** -*TTFSEnabled?: TRUE -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157, -+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) -*MinFontID: 16534 -*MaxFontID: 32768 -*switch: Resolution -{ - *case: Option1 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option2 - { - *FontFormat: HPPCL_OUTLINE - } - *case: Option3 - { - *FontFormat: HPPCL_RES - } -} -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } - - -*%******************************************************************************************** -*%* Vector Commands. -*%******************************************************************************************** -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm deleted file mode 100644 index 87662eb5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.htm +++ /dev/null @@ -1,514 +0,0 @@ -<html xmlns:v="urn:schemas-microsoft-com:vml" -xmlns:o="urn:schemas-microsoft-com:office:office" -xmlns:w="urn:schemas-microsoft-com:office:word" -xmlns="http://www.w3.org/TR/REC-html40"> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=ProgId content=Word.Document> -<meta name=Generator content="Microsoft Word 10"> -<meta name=Originator content="Microsoft Word 10"> -<link rel=File-List href="oemprean_files/filelist.xml"> -<title>OEMPREAN SAMPLE</title> -<!--[if gte mso 9]><xml> - <o:DocumentProperties> - <o:Author></o:Author> - <o:LastAuthor></o:LastAuthor> - <o:Revision>18</o:Revision> - <o:TotalTime>38</o:TotalTime> - <o:Created>2003-05-28T23:09:00Z</o:Created> - <o:LastSaved>2003-08-14T01:02:00Z</o:LastSaved> - <o:Pages>1</o:Pages> - <o:Words>1074</o:Words> - <o:Characters>6125</o:Characters> - <o:Company>Microsoft Corporation</o:Company> - <o:Lines>51</o:Lines> - <o:Paragraphs>14</o:Paragraphs> - <o:CharactersWithSpaces>7185</o:CharactersWithSpaces> - <o:Version>10.4219</o:Version> - </o:DocumentProperties> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:WordDocument> - <w:GrammarState>Clean</w:GrammarState> - <w:Compatibility> - <w:BreakWrappedTables/> - <w:SnapToGridInCell/> - <w:WrapTextWithPunct/> - <w:UseAsianBreakRules/> - </w:Compatibility> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Verdana; - panose-1:2 11 6 4 3 5 4 4 2 4; - mso-font-charset:0; - mso-generic-font-family:swiss; - mso-font-pitch:variable; - mso-font-signature:536871559 0 0 0 415 0;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {mso-style-parent:""; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman"; - mso-fareast-font-family:"Times New Roman";} -h1 - {mso-style-next:Normal; - margin-top:12.0pt; - margin-right:0in; - margin-bottom:3.0pt; - margin-left:0in; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:1; - font-size:16.0pt; - font-family:Arial; - mso-font-kerning:16.0pt;} -h3 - {mso-style-next:Normal; - margin-top:12.0pt; - margin-right:0in; - margin-bottom:3.0pt; - margin-left:0in; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:3; - font-size:13.0pt; - font-family:Arial;} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline; - text-underline:single;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline; - text-underline:single;} -pre - {margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Courier New"; - mso-fareast-font-family:"Times New Roman"; - color:black;} -@page Section1 - {size:8.5in 11.0in; - margin:1.0in 1.25in 1.0in 1.25in; - mso-header-margin:.5in; - mso-footer-margin:.5in; - mso-paper-source:0;} -div.Section1 - {page:Section1;} ---> -</style> -<!--[if gte mso 10]> -<style> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Times New Roman";} -</style> -<![endif]--> -</head> - -<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'> - -<div class=Section1> - -<h1>OEMPREAN SAMPLE</h1> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<h3>Summary</h3> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>This -sample illustrates how you can leverage the preanalysis feature in Unidrv. This -sample is built upon the redesigned version of the oemuni sample. <o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>When -preanalysis is enabled in the GPD, Unidrv defines the surface as a banding -surface but causes the first playback to be of the entire page. Unidrv does -this by setting the GDI clip window to the entire page. Unidrv allows all -drawing commands to be hooked but returns before any drawing can be done. On -the following passes Unidrv resets the clip window back to the original band -size and bands normally. In order to enable this feature in the GPD, specify -the following GPD parameter: �*PreAnalysisOptions: 8�.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>The OEM -rendering plug-in is required to hook both DrvStartBanding and DrvNextBand when -this mode is enabled in the GPD. The OEM rendering plug-in must test the pptl -parameter of the DrvStartBanding call to determine whether preanalysis has been -enabled on this page. If the pptl parameter is NULL, then preanalysis has been -enabled. The pptl parameter can be used by Unidrv since it has no meaning at -this point. This parameter has not been updated with the band position and for -preanalysis the band position is always be set to 0, 0. If the pptl parameter -is NULL, then the OEM rendering plug-in should consider all drawing calls up to -the first call to DrvNextBand to be part of preanalysis. During this phase no -drawing onto the surface is allowed. You should be aware that after -preanalysis, you might get more calls than you saw in the normal rendering, -because primitives that cross band boundaries yield two or more DDI calls after -the preanalysis pass.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>The -sample uses the bPreAnalysis flag in the OEMPDEV structure to denote whether a -particular pass is the preanalysis pass or the actual rendering pass. If the -bPreAnalysis flag is set, it indicates that the current pass is the preanalysis -pass. The sample implements all of the drawing function hooks in ddihook.cpp. -The sample uses the OEMStartBanding and OEMNextBand functions, to respectively -set and reset the bPreAnalysis flag. The sample also uses the DBG_CLIPOBJ debug -macro function to dump the bounds of the clipping rectangle available for -preanalysis in each of the drawing functions during the preanalysis pass. To -view all of the debug output in the debugger, you must set the debug level to -VERBOSE. The rest of the sample is identical to the oemuni sample that -illustrates a basic OEM rendering plug-in.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Note that -the surface used during preanalysis might differ from the surface passed in -during the rendering pass. Also note that during the preanalysis pass, although -Unidrv calls the hooked drawing functions, it returns before any drawing is -done. For this reason you should not perform any drawing on the surface during -the preanalysis pass. All other preanalysis tasks should be performed during -this pass. For example, certain printers need to handle black objects that -intersect with color objects differently from black objects that appear by -themselves. Other printers might need to halftone StretchBlt objects -differently from BitBlt objects. Basically, the plug-in can analyze the objects -on the page. A final point to note is that during the preanalysis pass, drawing -functions should not call back into Unidrv. When the bPreAnalysis flag is set, -the sample returns without calling back into Unidrv.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Note that -this sample will not build with the Windows 2000 build environment. This -version of the sample implements the IPrintOemUni2 interface which is available -only on Windows XP and later. The table shown below will help identify which -operating systems this sample will build/work on. <o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<table class=MsoNormalTable border=1 cellpadding=0 width="100%" - style='width:100.0%;mso-cellspacing:1.5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'> - <tr style='mso-yfti-irow:0'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;text-align:center'><b style='mso-bidi-font-weight:normal'><span - style='font-size:10.0pt;font-family:Verdana'>Operating System</span><o:p></o:p></b></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><b - style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family: - Verdana'>Can sample be built in the OS?</span></b><b style='mso-bidi-font-weight: - normal'><span style='font-family:Verdana'><o:p></o:p></span></b></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><b - style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family: - Verdana'>Does sample work in the OS?</span><o:p></o:p></b></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><b - style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family: - Verdana;letter-spacing:-1.0pt'>Can sample be used in a production environment - for the OS?</span><o:p></o:p></b></p> - </td> - </tr> - <tr style='mso-yfti-irow:1'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - codenamed Longhorn<o:p></o:p></span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>Yes<o:p></o:p></span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>Yes<o:p></o:p></span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p> - </td> - </tr> - <tr style='mso-yfti-irow:2'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - Server 2003</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>Yes</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - </tr> - <tr style='mso-yfti-irow:3'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - XP</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>Yes</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - </tr> - <tr style='mso-yfti-irow:4'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - 2000</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - </tr> - <tr style='mso-yfti-irow:5'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - Me</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No</span></p> - </td> - </tr> - <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'> - <td width="19%" style='width:19.84%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Windows - 98 SE<o:p></o:p></span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p> - </td> - <td width="26%" style='width:26.78%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p> - </td> - <td width="25%" style='width:25.8%;padding:.75pt .75pt .75pt .75pt'> - <p class=MsoNormal align=center style='text-align:center'><span - style='font-size:10.0pt;font-family:Verdana'>No<o:p></o:p></span></p> - </td> - </tr> -</table> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<h3>Building the sample</h3> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To build -the samples, run �<b style='mso-bidi-font-weight:normal'>build �cZ</b>� from -the directory. The resulting DLL will be placed in the appropriate platform directory -(i.e. i386 or Alpha). To create a version with verbose debug output, add _DEBUG -to the compile defines in the sources file.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<h3>Installing the sample</h3> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>After -building the sample, you can install it using the Add Printer Wizard and -supplying the INF that is part of the sample when you are prompted for an INF -in the wizard. The Unidrv binaries required for this driver need not be copied -to the local directory containing oemdll.inf. <o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<h3>Resources</h3> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>For the -latest release of the Windows Device Driver Development Kit, see <a -href="http://www.microsoft.com/whdc/ddk/winddk.mspx">http://www.microsoft.com/whdc/ddk/winddk.mspx</a>.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>If you -have questions on using or adapting this sample for your project, you can -either contact <a href="http://support.microsoft.com/">Microsoft Technical -Support</a> or post your questions in the <a -href="http://msdn.microsoft.com/newsgroups/default.asp?url=/newsgroups/loadframes.asp?icp=msdn&slcid=us&newsgroup=microsoft.public.development.device.drivers">Microsoft -driver development newsgroup</a>.</span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<h3>File Manifest</h3> - -<p class=MsoNormal><o:p> </o:p></p> - -<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span -style='font-size:10.0pt;font-family:Verdana'>Root:<o:p></o:p></span></b></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'>Files</span></u><span -style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:3'>���������������������� </span><u>Description</u><o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>readme.htm<span -style='mso-tab-count:2'>������������ </span>The documentation for this sample -(this file).<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.gpd<span -style='mso-tab-count:2'>��������� </span>The generic GPD file for this sample.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.inf<span -style='mso-tab-count:2'>����������� </span>The printer INF that will install -this sample once it is built.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.ini<span -style='mso-tab-count:2'>����������� </span>The printer ini file that specifies -the OEM customization DLLs for this sample.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span -style='font-size:10.0pt;font-family:Verdana'>OEMPREAN directory:</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'><o:p><span - style='text-decoration:none'> </span></o:p></span></u></p> - -<p class=MsoNormal><u><span style='font-size:10.0pt;font-family:Verdana'>Files</span></u><span -style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:3'>���������������������� </span><u>Description<o:p></o:p></u></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>ddihook.cpp<span -style='mso-tab-count:2'>������������ </span>Source module for DDI Hook routines -for the rendering plug-in. (OEMBitBlt, OEMStrokePath, OEMTextOut, OEMNextBand -etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>ddihook.h<span -style='mso-tab-count:2'>��������������� </span>Source module that defines the -constants used to control DDI hooking. (IMPL_ALPHABLEND, IMPL_BITBLT, -IMPL_NEXTBAND etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>debug.cpp<span -style='mso-tab-count:2'>�������������� </span>Source module that contains the -debugging functions. (COemUniDbg::vDumpSURFOBJ, COemUniDbg::vDumpSTROBJ etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>debug.h<span -style='mso-tab-count:2'>����������������� </span>The header file for the debug -module defined in debug.cpp. (Definition of the COemUniDbg class)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>devmode.cpp<span -style='mso-tab-count:2'>���������� </span>Source module that contains -implementation of the OEM Devmode functions. (hrOEMDevmode, bConvertOEMDevmode -etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>devmode.h<span -style='mso-tab-count:2'>������������� </span>The header for devmode.cpp.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>dllentry.cpp<span -style='mso-tab-count:2'>������������ </span>Source module for DLL entry -functions. (DllMain)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>enable.cpp<span -style='mso-tab-count:2'>������������� </span>Source module that contains the -enable routines for the rendering plug-in. (OEMEnableDriver, OEMEnablePDEV, -OEMDisableDriver etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>intrface.cpp<span -style='mso-tab-count:2'>������������ </span>Source module that implements the -OEM COM printer customization rendering plug-in interface. -(COemUni2::ImageProcessing, COemUni2::FilterGraphics etc.)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>intrface.h<span -style='mso-tab-count:2'>��������������� </span>The header for intrface.cpp that -defines the COM interface for the rendering plug-in. (Definition of the -COemUni2 class)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>makefile<span -style='mso-tab-count:2'>����������������� </span>The generic makefile for -building the code sample.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.def<span -style='mso-tab-count:2'>���������� </span>The file that lists the exported -functions for the sample.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.h<span -style='mso-tab-count:2'>������������ </span>The header file that defines the -PDEV class for the sample. (Definition and implementation of the COemPDEV -class)<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>oemprean.rc<span -style='mso-tab-count:2'>����������� </span>The resources file for the rendering -plugin�s resources.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>precomp.h<span -style='mso-tab-count:2'>�������������� </span>The header that includes the -headers to precompile.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>resource.h<span -style='mso-tab-count:2'>�������������� </span>The header file the resources -file.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>sources<span -style='mso-tab-count:2'>������������������ </span>The generic sources file for building -the code sample.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -</div> - -</body> - -</html> diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf Binary files differdeleted file mode 100644 index e2905f70..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini deleted file mode 100644 index ad5eed92..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean.ini +++ /dev/null @@ -1,4 +0,0 @@ -[OEMFiles] -OEMDriverFile1=OEMPREAN.DLL - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp deleted file mode 100644 index b3843090..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/ddihook.cpp +++ /dev/null @@ -1,2069 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: DDIHook.cpp -// -// -// PURPOSE: DDI Hook routines for User Mode COM Customization DLL. -// -// This module implements the following functions defined in printoem.h: -// OEMCopyBits -// OEMBitBlt -// OEMStretchBlt -// OEMDitherColor -// OEMStretchBltROP -// OEMPlgBlt -// OEMPaint -// OEMRealizeBrush -// OEMStrokePath -// OEMFillPath -// OEMStrokeAndFillPath -// OEMLineTo -// OEMAlphaBlend -// OEMGradientFill -// OEMTransparentBlt -// OEMTextOut -// OEMQueryFont -// OEMQueryFontTree -// OEMQueryFontData -// OEMFontManagement -// OEMQueryAdvanceWidths -// OEMGetGlyphMode -// OEMStartDoc -// OEMEndDoc -// OEMStartPage -// OEMSendPage -// OEMStartBanding -// OEMNextBand -// OEMEscape -// -// History: -// 06/24/03 xxx created. -// -// - -#include "precomp.h" -#include "oemprean.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -BOOL APIENTRY -OEMCopyBits( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - POINTL *pptlSrc - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvCopyBits. - - DrvCopyBits translates between device-managed - raster surfaces and GDI standard-format bitmaps. - GDI will call DrvCopyBits when it needs to copy from - one surface to another and at least one of the - surfaces is device-managed. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Points to the Dstination surface - psoSrc - Points to the source surface - pxlo - XLATEOBJ provided by the engine - pco - Defines a clipping region on the Dstination surface - pxlo - Defines the translation of color indices - between the source and target surfaces - prclDst - Defines the area to be modified - pptlSrc - Defines the upper-left corner of the source rectangle - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMCopyBits entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMCopyBits: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMCopyBits: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvCopyBits)(psoDst, - psoSrc, - pco, - pxlo, - prclDst, - pptlSrc); -} - -BOOL APIENTRY -OEMBitBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - POINTL *pptlSrc, - POINTL *pptlMask, - BRUSHOBJ *pbo, - POINTL *pptlBrush, - ROP4 rop4 - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvBitBlt. - - DrvBitBlt provides general bit-block transfer capabilities - between device-managed surfaces, between GDI-managed - standard-format bitmaps, or between a device-managed - surface and a GDI-managed standard-format bitmap. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Describes the target surface - psoSrc - Describes the source surface - psoMask - Describes the mask for rop4 - pco - Limits the area to be modified - pxlo - Specifies how color indices are translated - between the source and target surfaces - prclDst - Defines the area to be modified - pptlSrc - Defines the upper left corner of the source rectangle - pptlMask - Defines which pixel in the mask corresponds to - the upper left corner of the source rectangle - pbo - Defines the pattern for bitblt - pptlBrush - Defines the origin of the brush in the Dstination surface - rop4 - ROP code that defines how the mask, pattern, source, and - Dstination pixels are combined to write to the Dstination surface - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMBitBlt entry."); - - DBG_SURFOBJ(DBG_VERBOSE, L"psoDst", psoDst); - DBG_SURFOBJ(DBG_VERBOSE, L"psoSrc", psoSrc); - DBG_SURFOBJ(DBG_VERBOSE, L"psoMask", psoMask); - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - DBG_XLATEOBJ(DBG_VERBOSE, L"pxlo", pxlo); - DBG_RECTL(DBG_VERBOSE, L"prclDst", prclDst); - DBG_POINTL(DBG_VERBOSE, L"pptlSrc", pptlSrc); - DBG_POINTL(DBG_VERBOSE, L"pptlMask", pptlMask); - DBG_BRUSHOBJ(DBG_VERBOSE, L"pbo", pbo); - DBG_POINTL(DBG_VERBOSE, L"pptlBrush", pptlBrush); - VERBOSE(TEXT("\nrop4: %#x\r\n\n"), rop4); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMBitBlt: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMBitBlt: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvBitBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - prclDst, - pptlSrc, - pptlMask, - pbo, - pptlBrush, - rop4); -} - -BOOL APIENTRY -OEMStretchBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDst, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStretchBlt. - - DrvStretchBlt provides stretching bit-block transfer - capabilities between any combination of device-managed - and GDI-managed surfaces. DrvStretchBlt enables the - device driver to write to GDI bitmaps, especially when the - driver can do halftoning. This function allows the same - halftoning algorithm to be applied to GDI bitmaps and - device surfaces. This function can be provided to handle - only certain forms of stretching, such as by integer multiples. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source for blt operation - psoMask - Defines a surface that provides a mask for the source - pco - Limits the area to be modified on the Dstination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlHTOrg - Specifies the origin of the halftone brush - prclDst - Defines the area to be modified on the Dstination surface - prclSrc - Defines the area to be copied from the source surface - pptlMask - Specifies which pixel in the given mask corresponds to - the upper left pixel in the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMStretchBlt entry."); - - DBG_SURFOBJ(DBG_VERBOSE, L"psoDst", psoDst); - DBG_SURFOBJ(DBG_VERBOSE, L"psoSrc", psoSrc); - DBG_SURFOBJ(DBG_VERBOSE, L"psoMask", psoMask); - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - DBG_XLATEOBJ(DBG_VERBOSE, L"pxlo", pxlo); - DBG_COLORADJUSTMENT(DBG_VERBOSE, L"pca", pca); - DBG_POINTL(DBG_VERBOSE, L"pptlHTOrg", pptlHTOrg); - DBG_RECTL(DBG_VERBOSE, L"prclDst", prclDst); - DBG_RECTL(DBG_VERBOSE, L"prclSrc", prclSrc); - DBG_POINTL(DBG_VERBOSE, L"pptlMask", pptlMask); - VERBOSE(TEXT("\niMode: %#x\r\n\n"), iMode); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMStretchBlt: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMStretchBlt: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStretchBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDst, - prclSrc, - pptlMask, - iMode); -} - -ULONG APIENTRY -OEMDitherColor( - DHPDEV dhpdev, - ULONG iMode, - ULONG rgbColor, - ULONG *pulDither - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvDitherColor. - - DrvDitherColor requests the device to create a - brush dithered against a device palette. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - DHPDEV passed, it is our pDEV - iMode - Not used - rgbColor - Solid rgb color to be used - pulDither - buffer to put the halftone brush. - -Return Value: - - Returns halftone method. - - DCR_DRIVER if the dither values have been calculated by the driver. - DCR_SOLID if the engine should use the best solid color approximation of the color. - DCR_HALFTONE if the engine should create a halftone approximation for the driver. - ---*/ - -{ - VERBOSE(L"OEMDitherColor entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvDitherColor)(dhpdev, - iMode, - rgbColor, - pulDither); -} - -BOOL APIENTRY -OEMStretchBltROP( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDst, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode, - BRUSHOBJ *pbo, - ROP4 rop4 - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStretchBltROP. - - DrvStretchBltROP performs a stretching bit-block transfer - using a ROP. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Specifies the target surface - psoSrc - Specifies the source surface - psoMask - Specifies the mask surface - pco - Limits the area to be modified - pxlo - Specifies how color indices are translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlHTOrg - Specifies the halftone origin - prclDst - Area to be modified on the destination surface - prclSrc - Rectangle area on the source surface - pptlMask - Defines which pixel in the mask corresponds to - the upper left corner of the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - pbo - Defines the pattern for bitblt - rop4 - ROP code that defines how the mask, pattern, source, and - destination pixels are combined on the destination surface - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMStretchBltROP entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMStretchBltROP: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMStretchBltROP: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStretchBltROP)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDst, - prclSrc, - pptlMask, - iMode, - pbo, - rop4); -} - -BOOL APIENTRY -OEMPlgBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlBrushOrg, - POINTFIX *pptfixDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -/*++ - -Routine Description: - - Implementation of DDI hook for DrvPlgBlt. - - DrvPlgBlt provides rotate bit-block transfer capabilities between - combinations of device-managed and GDI-managed surfaces. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source for blt operation - psoMask - Defines a surface that provides a mask for the source - pco - Limits the area to be modified on the Dstination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlBrushOrg - Specifies the origin of the halftone brush - pptfixDest - Defines the area to be modified on the Dstination surface - prclSrc - Defines the area to be copied from the source surface - pptlMask - Specifies which pixel in the given mask corresponds to - the upper left pixel in the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMPlgBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMPlgBlt: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMPlgBlt: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvPlgBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlBrushOrg, - pptfixDest, - prclSrc, - pptlMask, - iMode); -} - -BOOL APIENTRY -OEMPaint( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix - ) -/*++ - -Routine Description: - - Implementation of DDI hook for DrvPaint. - - DrvPaint is an obsolete function. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to draw - pco - Limits the area to be modified on the Dstination - pbo - Points to a BRUSHOBJ which defined the pattern and colors to fill with - pptlBrushOrg - Specifies the origin of the halftone brush - mix - Defines the foreground and background raster operations to use for - the brush - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMPaint entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMPaint: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMPaint: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvPaint)(pso, - pco, - pbo, - pptlBrushOrg, - mix); -} - -BOOL APIENTRY -OEMRealizeBrush( - BRUSHOBJ *pbo, - SURFOBJ *psoTarget, - SURFOBJ *psoPattern, - SURFOBJ *psoMask, - XLATEOBJ *pxlo, - ULONG iHatch - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvRealizeBrush. - - DrvRealizeBrush requests that the driver realize a specified brush - for a specified surface. To realize a brush, the driver converts a - GDI brush into a form that can be used internally. A realized brush - contains device-specific information needed by the device to - accelerate drawing using the brush. The driver's realization of a brush - is written into the buffer allocated by a call to BRUSHOBJ_pvAllocRBrush. - - Please refer to DDK documentation for more details. - -Arguments: - - pbo - BRUSHOBJ to be realized - psoTarget - Defines the surface for which the brush is to be realized - psoPattern - Defines the pattern for the brush - psoMask - Transparency mask for the brush - pxlo - Defines the interpretration of colors in the pattern - iHatch - Specifies whether psoPattern is one of the hatch brushes - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMRealizeBrush entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoTarget->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvRealizeBrush)(pbo, - psoTarget, - psoPattern, - psoMask, - pxlo, - iHatch); -} - -BOOL APIENTRY -OEMStrokePath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - LINEATTRS *plineattrs, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStrokePath. - - DrvStrokePath strokes a path when called by GDI. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Identifies the surface on which to draw - ppo - Defines the path to be stroked - pco - Defines the clipping path - pxo - Specifies the world to device coordinate transformation - pbo - Specifies the brush to be used when drawing the path - pptlBrushOrg - Defines the brush origin - plineattrs - Defines the line attributes - mix - Specifies how to combine the brush with the destination - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE(L"OEMStrokePath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMStrokePath: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMStrokePath: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStrokePath)(pso, - ppo, - pco, - pxo, - pbo, - pptlBrushOrg, - plineattrs, - mix); -} - -BOOL APIENTRY -OEMFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix, - FLONG flOptions - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvFillPath. - - DrvFillPath is an optional entry point to handle the filling of closed paths. - GDI can call DrvFillPath to fill a path on a device-managed surface. - When deciding whether to call this function, GDI compares the fill - requirements with the following flags in the flGraphicsCaps member of - the DEVINFO structure: GCAPS_BEZIERS, GCAPS_ALTERNATEFILL, - and GCAPS_WINDINGFILL. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to draw. - ppo - Defines the path to be filled - pco - Defines the clipping path - pbo - Defines the pattern and colors to fill with - pptlBrushOrg - Defines the brush origin - mix - Defines the foreground and background ROPs to use for the brush - flOptions - Whether to use zero-winding or odd-even rule - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE(L"OEMFillPath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMFillPath: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMFillPath: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvFillPath)(pso, - ppo, - pco, - pbo, - pptlBrushOrg, - mix, - flOptions); -} - -BOOL APIENTRY -OEMStrokeAndFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pboStroke, - LINEATTRS *plineattrs, - BRUSHOBJ *pboFill, - POINTL *pptlBrushOrg, - MIX mixFill, - FLONG flOptions - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStrokeAndFillPath. - - DrvStrokeAndFillPath strokes and fills a path concurrently. - The driver can return FALSE if the path or the clipping is too - complex for the device to handle; in that case, GDI converts - to a simpler call. For example, if the device driver has set the - GCAPS_BEZIERS flag in the flGraphicsCaps member of the - DEVINFO structure and then receives a path with Bezier curves, - it can return FALSE; GDI will then convert the Bezier curves to - lines and call DrvStrokeAndFillPath again. If the device driver - returns FALSE again, GDI will further simplify the call, making - calls to DrvStrokePath and DrvFillPath, or to DrvBitBlt, depending - on the mix and width of the lines making up the path. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface on which to draw - ppo - Describes the path to be filled - pco - Defines the clipping path - pxo - Specifies the world to device coordinate transformation - pboStroke - Specifies the brush to use when stroking the path - plineattrs - Specifies the line attributes - pboFill - Specifies the brush to use when filling the path - pptlBrushOrg - Specifies the brush origin for both brushes - mixFill - Specifies the foreground and background ROPs to use - for the fill brush - flOptions - Whether to use zero-winding or odd-even rule - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE(L"OEMStrokeAndFillPath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMStrokeAndFillPath: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMStrokeAndFillPath: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStrokeAndFillPath)(pso, - ppo, - pco, - pxo, - pboStroke, - plineattrs, - pboFill, - pptlBrushOrg, - mixFill, - flOptions); -} - -BOOL APIENTRY -OEMLineTo( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvLineTo. - - DrvLineTo draws a single, solid, integer-only cosmetic line. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface on which to draw - pco - Defines the clipping path - pbo - Defines the brush used to draw the line - x1,y1 - Specifies the line's starting point - x2,y2 - Specifies the line's ending point - prclBounds - Defines a rectangle that bounds the unclipped line. - mix - Specifies the foreground and background ROP - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE(L"OEMLineTo entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMLineTo: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMLineTo: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvLineTo)(pso, - pco, - pbo, - x1, - y1, - x2, - y2, - prclBounds, - mix); -} - -BOOL APIENTRY -OEMAlphaBlend( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - RECTL *prclSrc, - BLENDOBJ *pBlendObj - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvAlphaBlend. - - DrvAlphaBlend provides bit-block transfer capabilities with alpha blending. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDest - Defines the surface on which to draw - psoSrc - Defines the source - pco - Limits the area to be modified on the Destination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - prclDest - Defines the area to be modified on the Destination surface - prclSrc - Defines the area to be copied from the source surface - BlendFunction - Specifies the blend function to be used - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMAlphaBlend entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMAlphaBlend: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMAlphaBlend: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvAlphaBlend)(psoDest, - psoSrc, - pco, - pxlo, - prclDest, - prclSrc, - pBlendObj); -} - -BOOL APIENTRY -OEMGradientFill( - SURFOBJ *psoDest, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - TRIVERTEX *pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - RECTL *prclExtents, - POINTL *pptlDitherOrg, - ULONG ulMode - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvGradientFill. - - DrvGradientFill shades the specified primitives. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDest - Defines the surface on which to draw - pco - Limits the area to be modified on the Destination - pxlo - Should be ignored by the driver - pVertex - Pointer to an array of TRIVERTEX structures, - with each entry containing position and color information - nVertex - Specifies the number of TRIVERTEX structures in the - array to which pVertex points - pMesh - Pointer to an array of structures that define the connectivity - of the TRIVERTEX elements to which pVertex points - nMesh - Specifies the number of elements in the array to which - pMesh points - prclExtents - Pointer to a RECTL structure that defines the area in - which the gradient drawing is to occur - pptlDitherOrg - Pointer to a POINTL structure that defines the origin - on the surface for dithering - ulMode - Specifies the current drawing mode and how to interpret - the array to which pMesh points - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMGradientFill entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMGradientFill: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMGradientFill: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvGradientFill)(psoDest, - pco, - pxlo, - pVertex, - nVertex, - pMesh, - nMesh, - prclExtents, - pptlDitherOrg, - ulMode); -} - -BOOL APIENTRY -OEMTransparentBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - RECTL *prclSrc, - ULONG iTransColor, - ULONG ulReserved - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvTransparentBlt. - - DrvTransparentBlt provides bit-block transfer capabilities with - transparency. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source - pco - Limits the area to be modified on the Destination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - prclDst - Defines the area to be modified on the Destination surface - prclSrc - Defines the area to be copied from the source surface - iTransColor - Specifies the transparent color - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMTransparentBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMTransparentBlt: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMTransparentBlt: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvTransparentBlt)(psoDst, - psoSrc, - pco, - pxlo, - prclDst, - prclSrc, - iTransColor, - ulReserved); -} - -BOOL APIENTRY -OEMTextOut( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvTextOut. - - DrvTextOut is the entry point from GDI that calls for the - driver to render a set of glyphs at specified positions. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to be written. - pstro - Defines the glyphs to be rendered and their positions - pfo - Specifies the font to be used - pco - Defines the clipping path - prclExtra - A NULL-terminated array of rectangles to be filled - prclOpaque - Specifies an opaque rectangle - pboFore - Defines the foreground brush - pboOpaque - Defines the opaque brush - pptlOrg - Pointer to POINT struct , defining th origin - mix - Specifies the foreground and background ROPs for pboFore - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMTextOut entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - DBG_SURFOBJ(DBG_VERBOSE, L"pso", pso); - DBG_STROBJ(DBG_VERBOSE, L"pstro", pstro); - DBG_FONTOBJ(DBG_VERBOSE, L"pfo", pfo); - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - DBG_BRUSHOBJ(DBG_VERBOSE, L"pboFore", pboFore); - DBG_BRUSHOBJ(DBG_VERBOSE, L"pboOpaque", pboOpaque); - - if (pOemPDEV->bPreAnalysis) - { - VERBOSE(TEXT("OEMTextOut: Begin pre-analysis...\r\n")); - - // Since the bPreAnalysis flag is set, this indicates that the current pass is the pre-analysis pass. - // Perform any pre-analysis tasks here. Note that the surface used during pre-analysis might - // differ from the surface passed in during the rendering pass. - - // Dump the bounds of the clip window available for pre-analysis. - DBG_CLIPOBJ(DBG_VERBOSE, L"pco", pco); - - // Although unidrv calls the hooked drawing functions, it will return before any drawing is done. - // So we should not perform any drawing on the surface. But all other pre-analysis tasks should - // be performed here. For example, certain printers need to handle black objects differently if - // they intersect with any color objects versus being stand alone. Another task could be to halftone - // stretchblt objects differently from bitblt objects. Basically, the plug-in can analyze the objects on the page. - - // During the pre-analysis pass, drawing functions should not call back into Unidrv. - // So we return here. - VERBOSE(TEXT("OEMTextOut: End pre-analysis...\r\n")); - - return TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvTextOut)(pso, - pstro, - pfo, - pco, - prclExtra, - prclOpaque, - pboFore, - pboOpaque, - pptlOrg, - mix); -} - -PIFIMETRICS APIENTRY -OEMQueryFont( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG_PTR *pid - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFont. - - DrvQueryFont is used by GDI to get the IFIMETRICS structure - for a given font. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - iFile - Identifies the driver font file - iFace - One-based index of the driver font - pid - Points to a LONG variable for returning an identifier - which GDI will pass to DrvFree - -Return Value: - - Pointer to an IFIMETRICS structure for the given font. - NULL if there is an error - ---*/ - -{ - VERBOSE(L"OEMQueryFont entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFont)(dhpdev, - iFile, - iFace, - pid); -} - -PVOID APIENTRY -OEMQueryFontTree( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG iMode, - ULONG_PTR *pid - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFontTree. - - DrvQueryFontTree provides GDI with a pointer to a structure that - defines one of the following: - - A mapping from Unicode to glyph handles, including glyph variants - - A mapping of kerning pairs to kerning handles - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - iFile - Identifies the driver font file - iFace - One-based index of the driver font - iMode - Specifies the type of information to be provided - pid - Points to a LONG variable for returning an identifier - which GDI will pass to DrvFree - -Return Value: - - Pointer to the structure requested based on iMode. - NULL if there is an error - ---*/ - -{ - VERBOSE(L"OEMQueryFontTree entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFontTree)(dhpdev, - iFile, - iFace, - iMode, - pid); -} - -LONG APIENTRY -OEMQueryFontData( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - HGLYPH hg, - GLYPHDATA *pgd, - _Out_writes_bytes_(cjSize) PVOID pv, - ULONG cjSize - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFontData. - - DrvQueryFontData retrieves information about a realized font. - GDI provides a pointer to an array of glyph or kerning handles, - and the driver returns information about the glyphs or kerning - pairs. The driver can assume that all handles in the array are valid. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - iMode - Type of information requested - hg - A glyph handle - pgd - Points to a GLYPHDATA structure - pv - Points to output buffer - cjSize - Size of output buffer - -Return Value: - - Depends on iMode. FD_ERROR if there is an error - ---*/ - -{ - VERBOSE(L"OEMQueryFontData entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFontData)(dhpdev, - pfo, - iMode, - hg, - pgd, - pv, - cjSize); -} - -ULONG APIENTRY -OEMFontManagement( - SURFOBJ *pso, - FONTOBJ *pfo, - ULONG iMode, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvFontManagement. - - Is this function valid for Unidrv drivers? - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Points to a SURFOBJ structure - pfo - Points to a FONTOBJ structure - iMode - Escape number - cjIn - Size of input buffer - pvIn - Points to input buffer - cjOut - Size of output buffer - pvOut - Points to output buffer - -Return Value: - - 0x00000001 to 0x7fffffff for success - 0x80000000 to 0xffffffff for failure - 0 if the specified escape number if not supported - ---*/ - -{ - VERBOSE(L"OEMFontManagement entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvFontManagement)(pso, - pfo, - iMode, - cjIn, - pvIn, - cjOut, - pvOut); -} - -BOOL APIENTRY -OEMQueryAdvanceWidths( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - _In_reads_(cGlyphs) HGLYPH *phg, - _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths, - ULONG cGlyphs - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryAdvanceWidths. - - DrvQueryAdvanceWidths returns character advance widths - for a specified set of glyphs. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - iMode - Type of information to be provided - phg - Points to an array of HGLYPHs for which the driver will - provide character advance widths - pvWidths - Points to a buffer for returning width data - cGlyphs - Number of glyphs in the phg array - -Return Value: - - Depends on iMode - ---*/ - -{ - VERBOSE(L"OEMQueryAdvanceWidths entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryAdvanceWidths)(dhpdev, - pfo, - iMode, - phg, - pvWidths, - cGlyphs); -} - -ULONG APIENTRY -OEMGetGlyphMode( - DHPDEV dhpdev, - FONTOBJ *pfo - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvGetGlyphMode. - - DrvGetGlyphMode tells GDI how to cache glyph information. - GDI calls a driver's DrvGetGlyphMode routine to determine the - range of font information that should be cached for a particular - font; that is, DrvGetGlyphMode determines what GDI stores in - its font cache. A device that caches fonts on its own should return - FO_HGLYPHS to minimize the storage requirements for the font. - GDI calls DrvGetGlyphMode for each font realization. For example, - a driver might want to download outlines for point sizes larger than - 12 point, but raster images for smaller fonts. However, GDI reserves - the right to refuse this request. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - -Return Value: - - The glyph mode or FO_GLYPHMODE, which is the default. - ---*/ - -{ - VERBOSE(L"OEMGetGlyphMode entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvGetGlyphMode)(dhpdev, - pfo); -} - -BOOL APIENTRY -OEMStartDoc( - SURFOBJ *pso, - _In_ PWSTR pwszDocName, - DWORD dwJobId - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartDoc. - - DrvStartDoc is called by GDI when it is ready to - start sending a document to the driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pDocName - Specifies a Unicode document name - jobId - Identifies the print job - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMStartDoc entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartDoc)(pso, - pwszDocName, - dwJobId); -} - -BOOL APIENTRY -OEMEndDoc( - SURFOBJ *pso, - FLONG fl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvEndDoc. - - DrvEndDoc is called by GDI when it has finished - sending a document to the driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - flags - A set of flag bits - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMEndDoc entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvEndDoc)(pso, - fl); -} - -BOOL APIENTRY -OEMStartPage( - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartPage. - - DrvStartPage is called by GDI when it is ready to - start sending the contents of a physical page to the - driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMStartPage entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartPage)(pso); -} - -BOOL APIENTRY -OEMSendPage( - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvSendPage. - - DrvSendPage is called by GDI when it has finished - drawing a physical page, so the driver can send - the page to the printer. - - Please refer to DDK documentation for more details. - - NOTE: OEMSendPage will not be called in any driver that enables - pre-analysis. But the reason we implement this is that the driver - might be pushed to a down-level client and thereby have to run - without pre-analysis support. In this case, it might have to support - OEMSendPage. - -Arguments: - - pso - Defines the surface object - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMSendPage entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvSendPage)(pso); -} - -BOOL APIENTRY -OEMStartBanding( - SURFOBJ *pso, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartBanding. - - DrvStartBanding is called by GDI when it is ready to start - sending bands of a physical page to the driver for rendering. - Note: DrvStartBanding is called to prepare the driver - for banding, call only once per page (not at everyband!!) - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pptl - Pointer to origin of next band (to return to GDI) - -Return Value: - - Fill out pptl to contain the origin of the first band - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMStartBanding entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - DBG_POINTL(DBG_VERBOSE, L"pptl", pptl); - - if (pptl == NULL) - { - VERBOSE(TEXT("OEMStartBanding: Start of OEM Pre-analysis pass...\r\n")); - VERBOSE(TEXT("\tOEM Pre-analysis pass...no drawing on surface in this pass.\r\n")); - pOemPDEV->bPreAnalysis = TRUE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartBanding)(pso, - pptl); -} - -BOOL APIENTRY -OEMNextBand( - SURFOBJ *pso, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvNextBand. - - DrvNextBand is called by GDI when it has finished - drawing a band for a physical page, so the driver - can send the band to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pptl - Pointer to origin of next band (to return to GDI) - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"OEMNextBand entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - DBG_POINTL(DBG_VERBOSE, L"pptl", pptl); - - if (pOemPDEV->bPreAnalysis) - { - // - // First call into OEMNextBand indicates end of pre-analysis path. - // - VERBOSE(TEXT("OEMNextBand: End of OEM Pre-analysis pass...\r\n")); - pOemPDEV->bPreAnalysis = FALSE; - } - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvNextBand)(pso, - pptl); -} - -ULONG APIENTRY -OEMEscape( - SURFOBJ *pso, - ULONG iEsc, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) - -/*++ - -Routine Description: - - Implementation of DDI entry point DrvEscape. - - DrvEscape is used for retrieving information from a device - that is not available in a device-independent device driver - interface; the particular query depends on the value of the - iEsc parameter. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface the call is directed to - iEsc - Specifies a query - cjIn - Specifies the size in bytes of the buffer pointed to by pvIn - pvIn - Points to input data buffer - cjOut - Specifies the size in bytes of the buffer pointed to by pvOut - pvOut - Points to the output buffer - -Return Value: - - Depends on the query specified by iEsc parameter. - - Zero if the function specified by the query is not supported. - ---*/ - -{ - VERBOSE(L"OEMEscape entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvEscape)(pso, - iEsc, - cjIn, - pvIn, - cjOut, - pvOut); -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp deleted file mode 100644 index f1807066..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.cpp +++ /dev/null @@ -1,1503 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.cpp -// -// PURPOSE: Implementation of the debug functions. -// -// -// History: -// 06/28/03 xxx created. -// -// - -#include "precomp.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// INTERNAL DEFINES -//////////////////////////////////////////////////////// - -#define DEBUG_BUFFER_SIZE 1024 -#define PATH_SEPARATOR '\\' - -//////////////////////////////////////////////////////// -// EXTERNAL GLOBALS -//////////////////////////////////////////////////////// - -#ifdef DBG - -INT giDebugLevel = DEBUG_LEVEL; - - -PCWSTR -EnsureLabel( - _In_opt_ PCWSTR pszInLabel, - _In_ PCWSTR pszDefLabel - ) - -/*++ - -Routine Description: - - This function checks if pszInLabel is valid. If not, it returns - pszDefLabel else pszInLabel is returned. - -Arguments: - - pszInLabel - custom label string passed in with the call to the dump function - pszDefLabel - default label string in case custom label string is not valid - -Return Value: - - pszInLabel if it is valid, else pszDefLabel - ---*/ - -{ - // By design, pszDefLabel is assumed to be a valid, non-empty - // string (since it is supplied internally). - // - if (!pszInLabel || !*pszInLabel) - { - // The caller supplied a NULL string or empty string; - // supply the internal default. - // - return pszDefLabel; - } - - return pszInLabel; -} - -BOOL OEMDebugMessage( - LPCWSTR lpszMessage, - ... - ) - -/*++ - -Routine Description: - - Outputs variable argument debug string. - -Arguments: - - dwSize - size of temp buffer to hold formatted string - lpszMessage - format string - arglist - Variable argument list... - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - va_list VAList; - HRESULT hResult; - - // Parameter checking. - if( NULL == lpszMessage) - { - return FALSE; - } - - LPWSTR lpszMsgBuf = new WCHAR[DEBUG_BUFFER_SIZE]; - if(NULL == lpszMsgBuf) - return FALSE; - - va_start(VAList, lpszMessage); - // Pass the variable parameters to wvsprintf to be formatted. - hResult = StringCchVPrintfW(lpszMsgBuf, DEBUG_BUFFER_SIZE, lpszMessage, VAList); - va_end(VAList); - - // Dump string to debug output. - OutputDebugStringW(lpszMsgBuf); - - // Clean up. - delete[] lpszMsgBuf; - - return SUCCEEDED(hResult); -} - -PCSTR -StripDirPrefixA( - IN PCSTR pstrFilename - ) - -/*++ - -Routine Description: - - Strip the directory prefix off a filename (ANSI version) - -Arguments: - - pstrFilename - Pointer to filename string - -Return Value: - - Pointer to the last component of a filename (without directory prefix) - ---*/ - -{ - PCSTR pstr; - - pstr = strrchr(pstrFilename, PATH_SEPARATOR); - if (pstr) - return pstr + 1; - - return pstrFilename; -} - -void -vDumpFlags( - DWORD dwFlags, - PDBG_FLAGS pDebugFlags - ) - -/*++ - -Routine Description: - - Dumps the combination of flags in members such as - pso->fjBitmap, pstro->flAccel, pfo->flFontType etc. - -Arguments: - - dwFlags - combined value of the relevant member - Example values are pso->fjBitmap, pstro->flAccel - pDebugFlags - structure containing the different possible values - that can be combined in dwFlags - -Return Value: - - NONE - ---*/ - -{ - DWORD dwFound = 0; - BOOL bFirstFlag = FALSE; - - OEMDebugMessage(L"%#x [", dwFlags); - - // Traverse through the list of flags to see if any match - // - for ( ; pDebugFlags->dwFlag; ++pDebugFlags) - { - if(dwFlags & pDebugFlags->dwFlag) - { - if (!bFirstFlag) - { - OEMDebugMessage(L"%s", pDebugFlags->pszFlag); - bFirstFlag = TRUE; - } - else - { - OEMDebugMessage(L" | %s", pDebugFlags->pszFlag); - } - dwFound |= pDebugFlags->dwFlag; - } - } - - OEMDebugMessage(L"]"); - - // - // Check if there are extra bits set that we don't understand. - // - if(dwFound != dwFlags) - { - OEMDebugMessage(L" <ExtraBits: %x>", dwFlags & ~dwFound); - } - - OEMDebugMessage(L"\r\n"); -} - -void -vDumpOemDMParam( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Dumps the members of a OEMDMPARAM structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pOemDMParam - pointer to the OEMDMPARAM strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pOemDMParam"); - - // Return if strct to be dumped is invalid - // - if (!pOemDMParam) - { - OEMDebugMessage(L"\npOemDMParam [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\npOemDMParam [%s]: %#x\r\n", pszLabel, pOemDMParam); - OEMDebugMessage(L"\tcbSize = %d\r\n", pOemDMParam->cbSize); - OEMDebugMessage(L"\tpdriverobj = %#x\r\n", pOemDMParam->pdriverobj); - OEMDebugMessage(L"\thPrinter = %#x\r\n", pOemDMParam->hPrinter); - OEMDebugMessage(L"\thModule = %#x\r\n", pOemDMParam->hModule); - OEMDebugMessage(L"\tpPublicDMIn = %#x\r\n", pOemDMParam->pPublicDMIn); - OEMDebugMessage(L"\tpPublicDMOut = %#x\r\n", pOemDMParam->pPublicDMOut); - OEMDebugMessage(L"\tpOEMDMIn = %#x\r\n", pOemDMParam->pOEMDMIn); - OEMDebugMessage(L"\tpOEMDMOut = %#x\r\n", pOemDMParam->pOEMDMOut); - OEMDebugMessage(L"\tcbBufSize = %d\r\n", pOemDMParam->cbBufSize); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdSURFOBJ_fjBitmap[] = { - { L"BMF_TOPDOWN", BMF_TOPDOWN}, - { L"BMF_NOZEROINIT", BMF_NOZEROINIT}, - { L"BMF_DONTCACHE", BMF_DONTCACHE}, - { L"BMF_USERMEM", BMF_USERMEM}, - { L"BMF_KMSECTION", BMF_KMSECTION}, - { L"BMF_NOTSYSMEM", BMF_NOTSYSMEM}, - { L"BMF_WINDOW_BLT", BMF_WINDOW_BLT}, - {NULL, 0} // The NULL entry is important -// { L"BMF_UMPDMEM", BMF_UMPDMEM}, -// { L"BMF_RESERVED", BMF_RESERVED}, - }; -#else - DBG_FLAGS gafdSURFOBJ_fjBitmap[] = { - {NULL, 0} - }; -#endif - -void -vDumpSURFOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Dumps the members of a SURFOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pso - pointer to the SURFOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pso"); - - // Return if strct to be dumped is invalid - // - if (!pso) - { - OEMDebugMessage(L"\nSURFOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nSURFOBJ [%s]: %#x\r\n", pszLabel, pso); - OEMDebugMessage(L"\tdhSurf: %#x\r\n", pso->dhsurf); - OEMDebugMessage(L"\thSurf: %#x\r\n", pso->hsurf); - OEMDebugMessage(L"\tdhpdev: %#x\r\n", pso->dhpdev); - OEMDebugMessage(L"\thdev: %#x\r\n", pso->hdev); - OEMDebugMessage(L"\tsizlBitmap: [%ld x %ld]\r\n", pso->sizlBitmap.cx, pso->sizlBitmap.cy); - OEMDebugMessage(L"\tcjBits: %ld\r\n", pso->cjBits); - OEMDebugMessage(L"\tpvBits: %#x\r\n", pso->pvBits); - OEMDebugMessage(L"\tpvScan0: %#x\r\n", pso->pvScan0); - OEMDebugMessage(L"\tlDelta: %ld\r\n", pso->lDelta); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pso->iUniq); - - PWSTR psziBitmapFormat = L"0"; - switch (pso->iBitmapFormat) - { - case BMF_1BPP : psziBitmapFormat = L"BMF_1BPP" ; break; - case BMF_4BPP : psziBitmapFormat = L"BMF_4BPP" ; break; - case BMF_8BPP : psziBitmapFormat = L"BMF_8BPP" ; break; - case BMF_16BPP: psziBitmapFormat = L"BMF_16BPP"; break; - case BMF_24BPP: psziBitmapFormat = L"BMF_24BPP"; break; - case BMF_32BPP: psziBitmapFormat = L"BMF_32BPP"; break; - case BMF_4RLE : psziBitmapFormat = L"BMF_4RLE" ; break; - case BMF_8RLE : psziBitmapFormat = L"BMF_8RLE" ; break; - case BMF_JPEG : psziBitmapFormat = L"BMF_JPEG" ; break; - case BMF_PNG : psziBitmapFormat = L"BMF_PNG " ; break; - } - OEMDebugMessage(L"\tiBitmapFormat: %s\r\n", psziBitmapFormat); - - PWSTR psziType = L"0"; - switch (pso->iType) - { - case STYPE_BITMAP : psziType = L"STYPE_BITMAP" ; break; - case STYPE_DEVBITMAP: psziType = L"STYPE_DEVBITMAP"; break; - case STYPE_DEVICE : psziType = L"STYPE_DEVICE" ; break; - } - OEMDebugMessage(L"\tiType: %s\r\n", psziType); - - OEMDebugMessage(L"\tfjBitmap: "); - if (STYPE_BITMAP == pso->iType) - vDumpFlags(pso->fjBitmap, gafdSURFOBJ_fjBitmap); - else - OEMDebugMessage(L"IGNORE\r\n"); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdSTROBJ_flAccel[] = { - { L"SO_FLAG_DEFAULT_PLACEMENT", SO_FLAG_DEFAULT_PLACEMENT}, - { L"SO_HORIZONTAL", SO_HORIZONTAL}, - { L"SO_VERTICAL", SO_VERTICAL}, - { L"SO_REVERSED", SO_REVERSED}, - { L"SO_ZERO_BEARINGS", SO_ZERO_BEARINGS}, - { L"SO_CHAR_INC_EQUAL_BM_BASE", SO_CHAR_INC_EQUAL_BM_BASE}, - { L"SO_MAXEXT_EQUAL_BM_SIDE", SO_MAXEXT_EQUAL_BM_SIDE}, - { L"SO_DO_NOT_SUBSTITUTE_DEVICE_FONT", SO_DO_NOT_SUBSTITUTE_DEVICE_FONT}, - { L"SO_GLYPHINDEX_TEXTOUT", SO_GLYPHINDEX_TEXTOUT}, - { L"SO_ESC_NOT_ORIENT", SO_ESC_NOT_ORIENT}, - { L"SO_DXDY", SO_DXDY}, - { L"SO_CHARACTER_EXTRA", SO_CHARACTER_EXTRA}, - { L"SO_BREAK_EXTRA", SO_BREAK_EXTRA}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdSTROBJ_flAccel[] = { - {NULL, 0} - }; -#endif - -void -vDumpSTROBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - STROBJ *pstro - ) - -/*++ - -Routine Description: - - Dumps the members of a STROBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pstro - pointer to the STROBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pstro"); - - // Return if strct to be dumped is invalid - // - if (!pstro) - { - OEMDebugMessage(L"\nSTROBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nSTROBJ [%s]: %#x\r\n", pszLabel, pstro); - OEMDebugMessage(L"\tcGlyphs: %ld\r\n", pstro->cGlyphs); - OEMDebugMessage(L"\tflAccel: "); - vDumpFlags(pstro->flAccel, gafdSTROBJ_flAccel); - OEMDebugMessage(L"\tulCharInc: %ld\r\n", pstro->ulCharInc); - OEMDebugMessage(L"\trclBkGround: (%ld, %ld) (%ld, %ld)\r\n", pstro->rclBkGround.left, pstro->rclBkGround.top, pstro->rclBkGround.right, pstro->rclBkGround.bottom); - if (!pstro->pgp) - OEMDebugMessage(L"\tpgp: NULL\r\n"); - else - OEMDebugMessage(L"\tpgp: %#x\r\n", pstro->pgp); - OEMDebugMessage(L"\tpwszOrg: \"%s\"\r\n", pstro->pwszOrg); - - OEMDebugMessage(L"\n"); - -} - -#if DBG - DBG_FLAGS gafdFONTOBJ_flFontType[] = { - { L"FO_TYPE_RASTER", FO_TYPE_RASTER}, - { L"FO_TYPE_DEVICE", FO_TYPE_DEVICE}, - { L"FO_TYPE_TRUETYPE", FO_TYPE_TRUETYPE}, - { L"FO_TYPE_OPENTYPE", 0x8}, - { L"FO_SIM_BOLD", FO_SIM_BOLD}, - { L"FO_SIM_ITALIC", FO_SIM_ITALIC}, - { L"FO_EM_HEIGHT", FO_EM_HEIGHT}, - { L"FO_GRAY16", FO_GRAY16}, - { L"FO_NOGRAY16", FO_NOGRAY16}, - { L"FO_CFF", FO_CFF}, - { L"FO_POSTSCRIPT", FO_POSTSCRIPT}, - { L"FO_MULTIPLEMASTER", FO_MULTIPLEMASTER}, - { L"FO_VERT_FACE", FO_VERT_FACE}, - { L"FO_DBCS_FONT", FO_DBCS_FONT}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdFONTOBJ_flFontType[] = { - {NULL, 0} - }; -#endif - -void -vDumpFONTOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - FONTOBJ *pfo - ) - -/*++ - -Routine Description: - - Dumps the members of a FONTOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pfo - pointer to the FONTOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pfo"); - - // Return if strct to be dumped is invalid - // - if (!pfo) - { - OEMDebugMessage(L"\nFONTOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nFONTOBJ [%s]: %#x\r\n", pszLabel, pfo); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pfo->iUniq); - OEMDebugMessage(L"\tiFace: %ld\r\n", pfo->iFace); - OEMDebugMessage(L"\tcxMax: %ld\r\n", pfo->cxMax); - OEMDebugMessage(L"\tflFontType: "); - vDumpFlags(pfo->flFontType, gafdFONTOBJ_flFontType); - OEMDebugMessage(L"\tiTTUniq: %#x\r\n", pfo->iTTUniq); - OEMDebugMessage(L"\tiFile: %#x\r\n", pfo->iFile); - OEMDebugMessage(L"\tsizLogResPpi: [%ld x %ld]\r\n", pfo->sizLogResPpi.cx, pfo->sizLogResPpi.cy); - OEMDebugMessage(L"\tulStyleSize: %ld\r\n", pfo->ulStyleSize); - if (!pfo->pvConsumer) - OEMDebugMessage(L"\tpvConsumer: NULL\r\n"); - else - OEMDebugMessage(L"\tpvConsumer: %#x\r\n", pfo->pvConsumer); - if (!pfo->pvProducer) - OEMDebugMessage(L"\tpvProducer: NULL\r\n"); - else - OEMDebugMessage(L"\tpvProducer: %#x\r\n", pfo->pvProducer); - - OEMDebugMessage(L"\n"); - -} - -void -vDumpCLIPOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - CLIPOBJ *pco - ) - -/*++ - -Routine Description: - - Dumps the members of a CLIPOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pco - pointer to the CLIPOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pco"); - - // Return if strct to be dumped is invalid - // - if (!pco) - { - OEMDebugMessage(L"\nCLIPOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nCLIPOBJ [%s]: %#x\r\n", pszLabel, pco); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pco->iUniq); - OEMDebugMessage(L"\trclBounds: (%ld, %ld) (%ld, %ld)\r\n", pco->rclBounds.left, pco->rclBounds.top, pco->rclBounds.right, pco->rclBounds.bottom); - - PWSTR psziDComplexity = L"Unknown iDComplexity."; - switch (pco->iDComplexity ) - { - case DC_COMPLEX: psziDComplexity = L"DC_COMPLEX"; break; - case DC_RECT: psziDComplexity = L"DC_RECT"; break; - case DC_TRIVIAL: psziDComplexity = L"DC_TRIVIAL"; break; - } - OEMDebugMessage(L"\tiDComplexity: %s\r\n", psziDComplexity); - - PWSTR psziFComplexity = L"0"; - switch (pco->iFComplexity) - { - case FC_COMPLEX: psziFComplexity = L"FC_COMPLEX"; break; - case FC_RECT: psziFComplexity = L"FC_RECT"; break; - case FC_RECT4: psziFComplexity = L"FC_RECT4"; break; - } - OEMDebugMessage(L"\tiFComplexity: %s\r\n", psziFComplexity); - - PWSTR psziMode = L"0"; - switch (pco->iMode) - { - case TC_PATHOBJ: psziMode = L"TC_PATHOBJ"; break; - case TC_RECTANGLES: psziMode = L"TC_RECTANGLES"; break; - } - OEMDebugMessage(L"\tiMode: %s\r\n", psziMode); - - PWSTR pszfjOptions = L"0"; - switch (pco->fjOptions) - { - case OC_BANK_CLIP: pszfjOptions = L"TC_PATHOBJ"; break; - } - OEMDebugMessage(L"\tfjOptions: %s\r\n", pszfjOptions); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdBRUSHOBJ_flColorType[] = { - { L"BR_CMYKCOLOR", BR_CMYKCOLOR}, - { L"BR_DEVICE_ICM", BR_DEVICE_ICM}, - { L"BR_HOST_ICM", BR_HOST_ICM}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdBRUSHOBJ_flColorType[] = { - {NULL, 0} - }; -#endif - -void -vDumpBRUSHOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - BRUSHOBJ *pbo - ) - -/*++ - -Routine Description: - - Dumps the members of a BRUSHOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pbo - pointer to the BRUSHOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pbo"); - - // Return if strct to be dumped is invalid - // - if (!pbo) - { - OEMDebugMessage(L"\nBRUSHOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nBRUSHOBJ [%s]: %#x\r\n", pszLabel, pbo); - OEMDebugMessage(L"\tiSolidColor: %#x\r\n", pbo->iSolidColor); - OEMDebugMessage(L"\tpvRbrush: %#x\r\n", pbo->pvRbrush); - OEMDebugMessage(L"\tflColorType: "); - vDumpFlags(pbo->flColorType, gafdBRUSHOBJ_flColorType); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdGDIINFO_flHTFlags[] = { - { L"HT_FLAG_8BPP_CMY332_MASK", HT_FLAG_8BPP_CMY332_MASK}, - { L"HT_FLAG_ADDITIVE_PRIMS", HT_FLAG_ADDITIVE_PRIMS}, - { L"HT_FLAG_DO_DEVCLR_XFORM", HT_FLAG_DO_DEVCLR_XFORM}, - { L"HT_FLAG_HAS_BLACK_DYE", HT_FLAG_HAS_BLACK_DYE}, - { L"HT_FLAG_HIGH_INK_ABSORPTION", HT_FLAG_HIGH_INK_ABSORPTION}, - { L"HT_FLAG_HIGHER_INK_ABSORPTION", HT_FLAG_HIGHER_INK_ABSORPTION}, - { L"HT_FLAG_HIGHEST_INK_ABSORPTION", HT_FLAG_HIGHEST_INK_ABSORPTION}, - { L"HT_FLAG_INK_ABSORPTION_IDX0", HT_FLAG_INK_ABSORPTION_IDX0}, - { L"HT_FLAG_INK_ABSORPTION_IDX1", HT_FLAG_INK_ABSORPTION_IDX1}, - { L"HT_FLAG_INK_ABSORPTION_IDX2", HT_FLAG_INK_ABSORPTION_IDX2}, - { L"HT_FLAG_INK_ABSORPTION_IDX3", HT_FLAG_INK_ABSORPTION_IDX3}, - { L"HT_FLAG_INK_HIGH_ABSORPTION", HT_FLAG_INK_HIGH_ABSORPTION}, - { L"HT_FLAG_LOW_INK_ABSORPTION", HT_FLAG_LOW_INK_ABSORPTION}, - { L"HT_FLAG_LOWER_INK_ABSORPTION", HT_FLAG_LOWER_INK_ABSORPTION}, - { L"HT_FLAG_LOWEST_INK_ABSORPTION", HT_FLAG_LOWEST_INK_ABSORPTION}, - { L"HT_FLAG_OUTPUT_CMY", HT_FLAG_OUTPUT_CMY}, - { L"HT_FLAG_PRINT_DRAFT_MODE", HT_FLAG_PRINT_DRAFT_MODE}, - { L"HT_FLAG_SQUARE_DEVICE_PEL", HT_FLAG_SQUARE_DEVICE_PEL}, - { L"HT_FLAG_USE_8BPP_BITMASK", HT_FLAG_USE_8BPP_BITMASK}, - { L"HT_FLAG_NORMAL_INK_ABSORPTION", HT_FLAG_NORMAL_INK_ABSORPTION}, -// { L"HT_FLAG_INVERT_8BPP_BITMASK_IDX", HT_FLAG_INVERT_8BPP_BITMASK_IDX}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdGDIINFO_flHTFlags[] = { - {NULL, 0} - }; -#endif - -void -vDumpGDIINFO( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - GDIINFO *pGdiInfo - ) - -/*++ - -Routine Description: - - Dumps the members of a GDIINFO structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pGdiInfo - pointer to the GDIINFO strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pGdiInfo"); - - // Return if strct to be dumped is invalid - // - if (!pGdiInfo) - { - OEMDebugMessage(L"\nGDIINFO [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nGDIINFO [%s]: %#x\r\n", pszLabel, pGdiInfo); - OEMDebugMessage(L"\tulVersion: %#x\r\n", pGdiInfo->ulVersion); - - PWSTR pszulTechnology = L"???"; - switch (pGdiInfo->ulTechnology) - { - case DT_PLOTTER: pszulTechnology = L"DT_PLOTTER"; break; - case DT_RASDISPLAY: pszulTechnology = L"DT_RASDISPLAY"; break; - case DT_RASPRINTER: pszulTechnology = L"DT_RASPRINTER"; break; - case DT_RASCAMERA: pszulTechnology = L"DT_RASCAMERA"; break; - case DT_CHARSTREAM: pszulTechnology = L"DT_CHARSTREAM"; break; - } - OEMDebugMessage(L"\tulTechnology: %ld [%s]\r\n", pGdiInfo->ulTechnology, pszulTechnology); - - OEMDebugMessage(L"\tulHorzSize: %ld\r\n", pGdiInfo->ulHorzSize); - OEMDebugMessage(L"\tulVertSize: %ld\r\n", pGdiInfo->ulVertSize); - OEMDebugMessage(L"\tulHorzRes: %ld\r\n", pGdiInfo->ulHorzRes); - OEMDebugMessage(L"\tulVertRes: %ld\r\n", pGdiInfo->ulVertRes); - OEMDebugMessage(L"\tcBitsPixel: %ld\r\n", pGdiInfo->cBitsPixel); - OEMDebugMessage(L"\tcPlanes: %ld\r\n", pGdiInfo->cPlanes); - OEMDebugMessage(L"\tulNumColors: %ld\r\n", pGdiInfo->ulNumColors); - OEMDebugMessage(L"\tflRaster: %#x\r\n", pGdiInfo->flRaster); - OEMDebugMessage(L"\tulLogPixelsX: %ld\r\n", pGdiInfo->ulLogPixelsX); - OEMDebugMessage(L"\tulLogPixelsY: %ld\r\n", pGdiInfo->ulLogPixelsY); - - PWSTR pszTextCaps = L"Text scrolling through DrvBitBlt/DrvCopyBits"; - if (TC_SCROLLBLT == (pGdiInfo->flTextCaps & TC_SCROLLBLT)) - { - pszTextCaps = L"Text scrolling through DrvTextOut"; - } - OEMDebugMessage(L"\tflTextCaps: %s\n", pszTextCaps); - - OEMDebugMessage(L"\tulDACRed: %#x\r\n", pGdiInfo->ulDACRed); - OEMDebugMessage(L"\tulDACGreen: %#x\r\n", pGdiInfo->ulDACGreen); - OEMDebugMessage(L"\tulDACBlue: %#x\r\n", pGdiInfo->ulDACBlue); - OEMDebugMessage(L"\tulAspectX: %ld\r\n", pGdiInfo->ulAspectX); - OEMDebugMessage(L"\tulAspectY: %ld\r\n", pGdiInfo->ulAspectY); - OEMDebugMessage(L"\tulAspectXY: %ld\r\n", pGdiInfo->ulAspectXY); - OEMDebugMessage(L"\txStyleStep: %ld\r\n", pGdiInfo->xStyleStep); - OEMDebugMessage(L"\tyStyleStep: %ld\r\n", pGdiInfo->yStyleStep); - OEMDebugMessage(L"\tdenStyleStep: %ld\r\n", pGdiInfo->denStyleStep); - OEMDebugMessage(L"\tptlPhysOffset: (%ld, %ld)\r\n", pGdiInfo->ptlPhysOffset.x, pGdiInfo->ptlPhysOffset.y); - OEMDebugMessage(L"\tszlPhysSize: (%ld, %ld)\r\n", pGdiInfo->szlPhysSize.cx, pGdiInfo->szlPhysSize.cy); - OEMDebugMessage(L"\tulNumPalReg: %ld\r\n", pGdiInfo->ulNumPalReg); - OEMDebugMessage(L"\tulDevicePelsDPI: %ld\r\n", pGdiInfo->ulDevicePelsDPI); - - PWSTR pszPrimaryOrder = L"???"; - switch(pGdiInfo->ulPrimaryOrder) - { - case PRIMARY_ORDER_ABC: pszPrimaryOrder = L"PRIMARY_ORDER_ABC [RGB/CMY]"; break; - case PRIMARY_ORDER_ACB: pszPrimaryOrder = L"PRIMARY_ORDER_ACB [RBG/CYM]"; break; - case PRIMARY_ORDER_BAC: pszPrimaryOrder = L"PRIMARY_ORDER_BAC [GRB/MCY]"; break; - case PRIMARY_ORDER_BCA: pszPrimaryOrder = L"PRIMARY_ORDER_BCA [GBR/MYC]"; break; - case PRIMARY_ORDER_CBA: pszPrimaryOrder = L"PRIMARY_ORDER_CBA [BGR/YMC]"; break; - case PRIMARY_ORDER_CAB: pszPrimaryOrder = L"PRIMARY_ORDER_CAB [BRG/YCM]"; break; - } - OEMDebugMessage(L"\tulPrimaryOrder: %s\n", pszPrimaryOrder); - - PWSTR pszHTPat = L"???"; - switch(pGdiInfo->ulHTPatternSize) - { - case HT_PATSIZE_2x2 : pszHTPat = L"HT_PATSIZE_2x2 "; break; - case HT_PATSIZE_2x2_M : pszHTPat = L"HT_PATSIZE_2x2_M"; break; - case HT_PATSIZE_4x4 : pszHTPat = L"HT_PATSIZE_4x4"; break; - case HT_PATSIZE_4x4_M : pszHTPat = L"HT_PATSIZE_4x4_M"; break; - case HT_PATSIZE_6x6 : pszHTPat = L"HT_PATSIZE_6x6"; break; - case HT_PATSIZE_6x6_M : pszHTPat = L"HT_PATSIZE_6x6_M"; break; - case HT_PATSIZE_8x8 : pszHTPat = L"HT_PATSIZE_8x8"; break; - case HT_PATSIZE_8x8_M : pszHTPat = L"HT_PATSIZE_8x8_M"; break; - case HT_PATSIZE_10x10 : pszHTPat = L"HT_PATSIZE_10x10"; break; - case HT_PATSIZE_10x10_M : pszHTPat = L"HT_PATSIZE_10x10_M"; break; - case HT_PATSIZE_12x12 : pszHTPat = L"HT_PATSIZE_12x12"; break; - case HT_PATSIZE_12x12_M : pszHTPat = L"HT_PATSIZE_12x12_M"; break; - case HT_PATSIZE_14x14 : pszHTPat = L"HT_PATSIZE_14x14"; break; - case HT_PATSIZE_14x14_M : pszHTPat = L"HT_PATSIZE_14x14_M"; break; - case HT_PATSIZE_16x16 : pszHTPat = L"HT_PATSIZE_16x16"; break; - case HT_PATSIZE_16x16_M : pszHTPat = L"HT_PATSIZE_16x16_M"; break; - case HT_PATSIZE_SUPERCELL : pszHTPat = L"HT_PATSIZE_SUPERCELL"; break; - case HT_PATSIZE_SUPERCELL_M : pszHTPat = L"HT_PATSIZE_SUPERCELL_M"; break; - case HT_PATSIZE_USER : pszHTPat = L"HT_PATSIZE_USER"; break; -// case HT_PATSIZE_MAX_INDEX : pszHTPat = L"HT_PATSIZE_MAX_INDEX"; break; -// case HT_PATSIZE_DEFAULT : pszHTPat = L"HT_PATSIZE_DEFAULT"; break; - } - OEMDebugMessage(L"\tulHTPatternSize: %s\n", pszHTPat); - - PWSTR pszHTOutputFormat = L"???"; - switch(pGdiInfo->ulHTOutputFormat) - { - case HT_FORMAT_1BPP : pszHTOutputFormat = L"HT_FORMAT_1BPP"; break; - case HT_FORMAT_4BPP : pszHTOutputFormat = L"HT_FORMAT_4BPP"; break; - case HT_FORMAT_4BPP_IRGB : pszHTOutputFormat = L"HT_FORMAT_4BPP_IRGB"; break; - case HT_FORMAT_8BPP : pszHTOutputFormat = L"HT_FORMAT_8BPP"; break; - case HT_FORMAT_16BPP : pszHTOutputFormat = L"HT_FORMAT_16BPP"; break; - case HT_FORMAT_24BPP : pszHTOutputFormat = L"HT_FORMAT_24BPP"; break; - case HT_FORMAT_32BPP : pszHTOutputFormat = L"HT_FORMAT_32BPP"; break; - } - OEMDebugMessage(L"\tulHTOutputFormat: %s\n", pszHTOutputFormat); - - OEMDebugMessage(L"\tflHTFlags: "); - vDumpFlags(pGdiInfo->flHTFlags, gafdGDIINFO_flHTFlags); - OEMDebugMessage(L"\tulVRefresh: %ld\r\n", pGdiInfo->ulVRefresh); - OEMDebugMessage(L"\tulBltAlignment: %ld\r\n", pGdiInfo->ulBltAlignment); - OEMDebugMessage(L"\tulPanningHorzRes: %ld\r\n", pGdiInfo->ulPanningHorzRes); - OEMDebugMessage(L"\tulPanningVertRes: %ld\r\n", pGdiInfo->ulPanningVertRes); - OEMDebugMessage(L"\txPanningAlignment: %ld\r\n", pGdiInfo->xPanningAlignment); - OEMDebugMessage(L"\tyPanningAlignment: %ld\r\n", pGdiInfo->yPanningAlignment); - OEMDebugMessage(L"\tcxHTPat: %ld\r\n", pGdiInfo->cxHTPat); - OEMDebugMessage(L"\tcyHTPat: %ld\r\n", pGdiInfo->cyHTPat); - OEMDebugMessage(L"\tpHTPatA: %#x\r\n", pGdiInfo->pHTPatA); - OEMDebugMessage(L"\tpHTPatB: %#x\r\n", pGdiInfo->pHTPatB); - OEMDebugMessage(L"\tpHTPatC: %#x\r\n", pGdiInfo->pHTPatC); - OEMDebugMessage(L"\tflShadeBlend: %#x\r\n", pGdiInfo->flShadeBlend); - - PWSTR pszPhysPixChars = L"???"; - switch(pGdiInfo->ulPhysicalPixelCharacteristics) - { - case PPC_DEFAULT: pszPhysPixChars = L"PPC_DEFAULT"; break; - case PPC_BGR_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_HORIZONTAL_STRIPES"; break; - case PPC_BGR_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_BGR_ORDER_VERTICAL_STRIPES"; break; - case PPC_RGB_ORDER_HORIZONTAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_HORIZONTAL_STRIPES"; break; - case PPC_RGB_ORDER_VERTICAL_STRIPES: pszPhysPixChars = L"PPC_RGB_ORDER_VERTICAL_STRIPES"; break; - case PPC_UNDEFINED: pszPhysPixChars = L"PPC_UNDEFINED"; break; - } - OEMDebugMessage(L"\tulPhysicalPixelCharacteristics: %s\n", pszPhysPixChars); - - PWSTR pszPhysPixGamma = L"???"; - switch(pGdiInfo->ulPhysicalPixelGamma) - { - case PPG_DEFAULT: pszPhysPixGamma = L"PPG_DEFAULT"; break; - case PPG_SRGB : pszPhysPixGamma = L"PPG_SRGB"; break; - } - OEMDebugMessage(L"\tulPhysicalPixelGamma: %s\n", pszPhysPixGamma); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = { - { L"GCAPS_BEZIERS", GCAPS_BEZIERS}, - { L"GCAPS_GEOMETRICWIDE", GCAPS_GEOMETRICWIDE}, - { L"GCAPS_ALTERNATEFILL", GCAPS_ALTERNATEFILL}, - { L"GCAPS_WINDINGFILL", GCAPS_WINDINGFILL}, - { L"GCAPS_HALFTONE", GCAPS_HALFTONE}, - { L"GCAPS_COLOR_DITHER", GCAPS_COLOR_DITHER}, - { L"GCAPS_HORIZSTRIKE", GCAPS_HORIZSTRIKE}, - { L"GCAPS_VERTSTRIKE", GCAPS_VERTSTRIKE}, - { L"GCAPS_OPAQUERECT", GCAPS_OPAQUERECT}, - { L"GCAPS_VECTORFONT", GCAPS_VECTORFONT}, - { L"GCAPS_MONO_DITHER", GCAPS_MONO_DITHER}, - { L"GCAPS_ASYNCCHANGE", GCAPS_ASYNCCHANGE}, - { L"GCAPS_ASYNCMOVE", GCAPS_ASYNCMOVE}, - { L"GCAPS_DONTJOURNAL", GCAPS_DONTJOURNAL}, - { L"GCAPS_DIRECTDRAW", GCAPS_DIRECTDRAW}, - { L"GCAPS_ARBRUSHOPAQUE", GCAPS_ARBRUSHOPAQUE}, - { L"GCAPS_PANNING", GCAPS_PANNING}, - { L"GCAPS_PALMANAGED", GCAPS_PALMANAGED}, - { L"GCAPS_DITHERONREALIZE", GCAPS_DITHERONREALIZE}, - { L"GCAPS_NO64BITMEMACCESS", GCAPS_NO64BITMEMACCESS}, - { L"GCAPS_FORCEDITHER", GCAPS_FORCEDITHER}, - { L"GCAPS_GRAY16", GCAPS_GRAY16}, - { L"GCAPS_ICM", GCAPS_ICM}, - { L"GCAPS_CMYKCOLOR", GCAPS_CMYKCOLOR}, - { L"GCAPS_LAYERED", GCAPS_LAYERED}, - { L"GCAPS_ARBRUSHTEXT", GCAPS_ARBRUSHTEXT}, - { L"GCAPS_SCREENPRECISION", GCAPS_SCREENPRECISION}, - { L"GCAPS_FONT_RASTERIZER", GCAPS_FONT_RASTERIZER}, - { L"GCAPS_NUP", GCAPS_NUP}, - {NULL, 0} // The NULL entry is important - }; - - DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = { - { L"GCAPS2_JPEGSRC", GCAPS2_JPEGSRC}, - { L"GCAPS2_xxxx", GCAPS2_xxxx}, - { L"GCAPS2_PNGSRC", GCAPS2_PNGSRC}, - { L"GCAPS2_CHANGEGAMMARAMP", GCAPS2_CHANGEGAMMARAMP}, - { L"GCAPS2_ALPHACURSOR", GCAPS2_ALPHACURSOR}, - { L"GCAPS2_SYNCFLUSH", GCAPS2_SYNCFLUSH}, - { L"GCAPS2_SYNCTIMER", GCAPS2_SYNCTIMER}, - { L"GCAPS2_ICD_MULTIMON", GCAPS2_ICD_MULTIMON}, - { L"GCAPS2_MOUSETRAILS", GCAPS2_MOUSETRAILS}, - { L"GCAPS2_REMOTEDRIVER", GCAPS2_REMOTEDRIVER}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdDEVINFO_flGraphicsCaps[] = { - {NULL, 0} - }; - - DBG_FLAGS gafdDEVINFO_flGraphicsCaps2[] = { - {NULL, 0} - }; -#endif - -void -vDumpDEVINFO( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - DEVINFO *pDevInfo - ) - -/*++ - -Routine Description: - - Dumps the members of a DEVINFO structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pDevInfo - pointer to the DEVINFO strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pDevInfo"); - - // Return if strct to be dumped is invalid - // - if (!pDevInfo) - { - OEMDebugMessage(L"\nDEVINFO [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nDEVINFO [%s]: %#x\r\n", pszLabel, pDevInfo); - OEMDebugMessage(L"\tflGraphicsCaps: "); - vDumpFlags(pDevInfo->flGraphicsCaps, gafdDEVINFO_flGraphicsCaps); - OEMDebugMessage(L"\tcFonts: %ld\r\n", pDevInfo->cFonts); - - PWSTR psziDitherFormat = L"0"; - switch (pDevInfo->iDitherFormat) - { - case BMF_1BPP : psziDitherFormat = L"BMF_1BPP" ; break; - case BMF_4BPP : psziDitherFormat = L"BMF_4BPP" ; break; - case BMF_8BPP : psziDitherFormat = L"BMF_8BPP" ; break; - case BMF_16BPP: psziDitherFormat = L"BMF_16BPP"; break; - case BMF_24BPP: psziDitherFormat = L"BMF_24BPP"; break; - case BMF_32BPP: psziDitherFormat = L"BMF_32BPP"; break; - case BMF_4RLE : psziDitherFormat = L"BMF_4RLE" ; break; - case BMF_8RLE : psziDitherFormat = L"BMF_8RLE" ; break; - case BMF_JPEG : psziDitherFormat = L"BMF_JPEG" ; break; - case BMF_PNG : psziDitherFormat = L"BMF_PNG " ; break; - } - OEMDebugMessage(L"\tiDitherFormat: %s\r\n", psziDitherFormat); - - OEMDebugMessage(L"\tcxDither: %ld\r\n", pDevInfo->cxDither); - OEMDebugMessage(L"\tcyDither: %ld\r\n", pDevInfo->cyDither); - OEMDebugMessage(L"\thpalDefault: %#x\r\n", pDevInfo->hpalDefault); - OEMDebugMessage(L"\tflGraphicsCaps2: "); - vDumpFlags(pDevInfo->flGraphicsCaps2, gafdDEVINFO_flGraphicsCaps2); - - OEMDebugMessage(L"\n"); -} - -void -vDumpBitmapInfoHeader( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - BITMAPINFOHEADER *pBitmapInfoHeader - ) - -/*++ - -Routine Description: - - Dumps the members of a BITMAPINFOHEADER structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pBitmapInfoHeader - pointer to the BITMAPINFOHEADER strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pBitmapInfoHeader"); - - // Return if strct to be dumped is invalid - // - if (!pBitmapInfoHeader) - { - OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nBITMAPINFOHEADER [%s]: %#x\r\n", pszLabel, pBitmapInfoHeader); - OEMDebugMessage(L"\tbiSize: %ld\r\n", pBitmapInfoHeader->biSize); - OEMDebugMessage(L"\tbiWidth: %ld\r\n", pBitmapInfoHeader->biWidth); - OEMDebugMessage(L"\tbiHeight: %ld\r\n", pBitmapInfoHeader->biHeight); - OEMDebugMessage(L"\tbiPlanes: %ld\r\n", pBitmapInfoHeader->biPlanes); - OEMDebugMessage(L"\tbiBitCount: %ld\r\n", pBitmapInfoHeader->biBitCount); - - PWSTR pszbiCompression = L"0"; - switch (pBitmapInfoHeader->biCompression) - { - case BI_RGB : pszbiCompression = L"BI_RGB" ; break; - case BI_RLE8 : pszbiCompression = L"BI_RLE8" ; break; - case BI_RLE4 : pszbiCompression = L"BI_RLE4" ; break; - case BI_BITFIELDS: pszbiCompression = L"BI_BITFIELDS"; break; - case BI_JPEG : pszbiCompression = L"BI_JPEG" ; break; - case BI_PNG : pszbiCompression = L"BI_PNG " ; break; - } - OEMDebugMessage(L"\tbiCompression: %s\r\n", pszbiCompression); - - OEMDebugMessage(L"\tbiSizeImage: %ld\r\n", pBitmapInfoHeader->biSizeImage); - OEMDebugMessage(L"\tbiXPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biXPelsPerMeter); - OEMDebugMessage(L"\tbiYPelsPerMeter: %ld\r\n", pBitmapInfoHeader->biYPelsPerMeter); - OEMDebugMessage(L"\tbiClrUsed: %ld\r\n", pBitmapInfoHeader->biClrUsed); - OEMDebugMessage(L"\tbiClrImportant: %ld\r\n", pBitmapInfoHeader->biClrImportant); - - OEMDebugMessage(L"\n"); -} - -void -vDumpPOINTL( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Dumps the members of a POINTL structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pptl - pointer to the POINTL strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pptl"); - - // Return if strct to be dumped is invalid - // - if (!pptl) - { - OEMDebugMessage(L"\nPOINTL [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nPOINTL [%s]: %#x (%ld, %ld)\r\n", pszLabel, pptl, pptl->x, pptl->y); - - OEMDebugMessage(L"\n"); -} - -void -vDumpRECTL( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - RECTL *prcl - ) - -/*++ - -Routine Description: - - Dumps the members of a RECTL structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - prcl - pointer to the RECTL strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"prcl"); - - // Return if strct to be dumped is invalid - // - if (!prcl) - { - OEMDebugMessage(L"\nRECTL [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nRECTL [%s]: %#x (%ld, %ld) (%ld, %ld)\r\n", pszLabel, prcl, prcl->left, prcl->top, prcl->right, prcl->bottom); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdXLATEOBJ_flXlate[] = { - { L"XO_DEVICE_ICM", XO_DEVICE_ICM}, - { L"XO_FROM_CMYK", XO_FROM_CMYK}, - { L"XO_HOST_ICM", XO_HOST_ICM}, - { L"XO_TABLE", XO_TABLE}, - { L"XO_TO_MONO", XO_TO_MONO}, - { L"XO_TRIVIAL", XO_TRIVIAL}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdXLATEOBJ_flXlate[] = { - {NULL, 0} - }; -#endif - -void -vDumpXLATEOBJ( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - XLATEOBJ *pxlo - ) - -/*++ - -Routine Description: - - Dumps the members of a XLATEOBJ structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pxlo - pointer to the XLATEOBJ strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pxlo"); - - // Return if strct to be dumped is invalid - // - if (!pxlo) - { - OEMDebugMessage(L"\nXLATEOBJ [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nXLATEOBJ [%s]: %#x\r\n", pszLabel, pxlo); - OEMDebugMessage(L"\tiUniq: %ld\r\n", pxlo->iUniq); - OEMDebugMessage(L"\tflXlate: "); - vDumpFlags(pxlo->flXlate, gafdXLATEOBJ_flXlate); - OEMDebugMessage(L"\tiSrcType: %ld [obsolete]\r\n", pxlo->iSrcType); - OEMDebugMessage(L"\tiDstType: %ld [obsolete]\r\n", pxlo->iDstType); - OEMDebugMessage(L"\tcEntries: %ld\r\n", pxlo->cEntries); - if (pxlo->pulXlate) - OEMDebugMessage(L"\tpulXlate: %#x [%ld]\r\n", pxlo->pulXlate, *pxlo->pulXlate); - else - OEMDebugMessage(L"\tpulXlate: %#x\r\n", pxlo->pulXlate); - - OEMDebugMessage(L"\n"); -} - -#if DBG - DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = { - { L"CA_NEGATIVE", CA_NEGATIVE}, - { L"CA_LOG_FILTER", CA_LOG_FILTER}, - {NULL, 0} // The NULL entry is important - }; -#else - DBG_FLAGS gafdCOLORADJUSTMENT_caFlags[] = { - {NULL, 0} - }; -#endif - -void -vDumpCOLORADJUSTMENT( - INT iDebugLevel, - _In_ PWSTR pszInLabel, - COLORADJUSTMENT *pca - ) - -/*++ - -Routine Description: - - Dumps the members of a COLORADJUSTMENT structure. - -Arguments: - - iDebugLevel - desired output debug level - pszInLabel - output label string - pca - pointer to the COLORADJUSTMENT strct to be dumped - -Return Value: - - NONE - ---*/ - -{ - // Check if the debug level is appropriate - // - if (iDebugLevel < giDebugLevel) - { - // Nothing to output here - // - return; - } - - // Prepare the label string - // - PCWSTR pszLabel = EnsureLabel(pszInLabel, L"pca"); - - // Return if strct to be dumped is invalid - // - if (!pca) - { - OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: NULL\r\n", pszLabel); - - // Nothing else to output - // - return; - } - - // Format the data - // - OEMDebugMessage(L"\nCOLORADJUSTMENT [%s]: %#x\r\n", pszLabel, pca); - OEMDebugMessage(L"\tcaSize: %#x\r\n", pca->caSize); - OEMDebugMessage(L"\tcaFlags: "); - if (pca->caFlags) - vDumpFlags(pca->caFlags, gafdCOLORADJUSTMENT_caFlags); - else - OEMDebugMessage(L"NULL\r\n"); - - PWSTR pszcaIlluminantIndex = L"0"; - switch (pca->caIlluminantIndex) - { - case ILLUMINANT_DEVICE_DEFAULT: pszcaIlluminantIndex = L"ILLUMINANT_DEVICE_DEFAULT" ; break; - case ILLUMINANT_A: pszcaIlluminantIndex = L"ILLUMINANT_A [Tungsten lamp]" ; break; - case ILLUMINANT_B: pszcaIlluminantIndex = L"ILLUMINANT_B [Noon sunlight]" ; break; - case ILLUMINANT_C: pszcaIlluminantIndex = L"ILLUMINANT_C [NTSC daylight]" ; break; - case ILLUMINANT_D50: pszcaIlluminantIndex = L"ILLUMINANT_D50 [Normal print]" ; break; - case ILLUMINANT_D55: pszcaIlluminantIndex = L"ILLUMINANT_D55 [Bond paper print]" ; break; - case ILLUMINANT_D65: pszcaIlluminantIndex = L"ILLUMINANT_D65 [Standard daylight]" ; break; - case ILLUMINANT_D75: pszcaIlluminantIndex = L"ILLUMINANT_D75 [Northern daylight]" ; break; - case ILLUMINANT_F2: pszcaIlluminantIndex = L"ILLUMINANT_F2 [Cool white lamp]" ; break; - } - OEMDebugMessage(L"\tcaIlluminantIndex: %s\r\n", pszcaIlluminantIndex); - - OEMDebugMessage(L"\tcaRedGamma: %d\r\n", (int)pca->caRedGamma); - OEMDebugMessage(L"\tcaGreenGamma: %d\r\n", (int)pca->caGreenGamma); - OEMDebugMessage(L"\tcaBlueGamma: %d\r\n", (int)pca->caBlueGamma); - OEMDebugMessage(L"\tcaReferenceBlack: %d\r\n", (int)pca->caReferenceBlack); - OEMDebugMessage(L"\tcaReferenceWhite: %d\r\n", (int)pca->caReferenceWhite); - OEMDebugMessage(L"\tcaContrast: %d\r\n", (int)pca->caContrast); - OEMDebugMessage(L"\tcaBrightness: %d\r\n", (int)pca->caBrightness); - OEMDebugMessage(L"\tcaColorfulness: %d\r\n", (int)pca->caColorfulness); - OEMDebugMessage(L"\tcaRedGreenTint: %d\r\n", (int)pca->caRedGreenTint); - - OEMDebugMessage(L"\n"); -} - -#endif - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h deleted file mode 100644 index 2b488890..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/debug.h +++ /dev/null @@ -1,215 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// -// History: -// 06/28/03 xxx created. -// -// - -#pragma once - -#include "devmode.h" - -// VC and Build use different debug defines. -// The following makes it so either will -// cause the inclusion of debugging code. -#if !defined(_DEBUG) && defined(DBG) - #define _DEBUG DBG -#elif defined(_DEBUG) && !defined(DBG) - #define DBG _DEBUG -#endif - - - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// VERBOSE(msg) -// Display a message if the current debug level is <= DBG_VERBOSE. -// -// TERSE(msg) -// Display a message if the current debug level is <= DBG_TERSE. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// ASSERTMSG(cond, msg) -// Verify a condition is true. If not, display a message and -// force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// These macros require extra parantheses for the msg argument -// example, ASSERTMSG(x > 0, ("x is less than 0\n")); -// WARNING(("App passed NULL pointer, ignoring...\n")); -// - -#define DBG_VERBOSE 1 -#define DBG_TERSE 2 -#define DBG_WARNING 3 -#define DBG_ERROR 4 -#define DBG_RIP 5 -#define DBG_NONE 6 - -// -// Determine what level of debugging messages to emit. -// This can be set in the sources file, or omitted -// completely -// -#ifdef VERBOSE_MSG - #define DEBUG_LEVEL DBG_VERBOSE -#elif TERSE_MSG - #define DEBUG_LEVEL DBG_TERSE -#elif WARNING_MSG - #define DEBUG_LEVEL DBG_WARNING -#elif ERROR_MSG - #define DEBUG_LEVEL DBG_ERROR -#elif RIP_MSG - #define DEBUG_LEVEL DBG_RIP -#elif NO_DBG_MSG - #define DEBUG_LEVEL DBG_NONE -#else - #define DEBUG_LEVEL DBG_WARNING -#endif - - -#if DBG - - extern INT giDebugLevel; - - #define DBGMSG(level, prefix, msg) { \ - if (giDebugLevel <= (level)) { \ - OEMDebugMessage(L"%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \ - OEMDebugMessage(msg); \ - } \ - } - - #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) OEMDebugMessage - #define TERSE if(giDebugLevel <= DBG_TERSE) OEMDebugMessage - #define WARNING if(giDebugLevel <= DBG_WARNING) OEMDebugMessage - #define ERR if(giDebugLevel <= DBG_ERROR) OEMDebugMessage - - #define DBG_OEMDMPARAM(iDbgLvl, szLabel, pobj) {vDumpOemDMParam(iDbgLvl, szLabel, pobj);} - #define DBG_SURFOBJ(iDbgLvl, szLabel, pobj) {vDumpSURFOBJ(iDbgLvl, szLabel, pobj);} - #define DBG_STROBJ(iDbgLvl, szLabel, pobj) {vDumpSTROBJ(iDbgLvl, szLabel, pobj);} - #define DBG_FONTOBJ(iDbgLvl, szLabel, pobj) {vDumpFONTOBJ(iDbgLvl, szLabel, pobj);} - #define DBG_CLIPOBJ(iDbgLvl, szLabel, pobj) {vDumpCLIPOBJ(iDbgLvl, szLabel, pobj);} - #define DBG_BRUSHOBJ(iDbgLvl, szLabel, pobj) {vDumpBRUSHOBJ(iDbgLvl, szLabel, pobj);} - #define DBG_GDIINFO(iDbgLvl, szLabel, pobj) {vDumpGDIINFO(iDbgLvl, szLabel, pobj);} - #define DBG_DEVINFO(iDbgLvl, szLabel, pobj) {vDumpDEVINFO(iDbgLvl, szLabel, pobj);} - #define DBG_BMPINFO(iDbgLvl, szLabel, pobj) {vDumpBitmapInfoHeader(iDbgLvl, szLabel, pobj);} - #define DBG_POINTL(iDbgLvl, szLabel, pobj) {vDumpPOINTL(iDbgLvl, szLabel, pobj);} - #define DBG_RECTL(iDbgLvl, szLabel, pobj) {vDumpRECTL(iDbgLvl, szLabel, pobj);} - #define DBG_XLATEOBJ(iDbgLvl, szLabel, pobj) {vDumpXLATEOBJ(iDbgLvl, szLabel, pobj);} - #define DBG_COLORADJUSTMENT(iDbgLvl, szLabel, pobj) {vDumpCOLORADJUSTMENT(iDbgLvl, szLabel, pobj);} - - #define ASSERT(cond) \ - { \ - if (! (cond)) \ - { \ - RIP((L"\n")); \ - } \ - } - - #define ASSERTMSG(cond, msg) \ - { \ - if (! (cond)) { \ - RIP(msg); \ - } \ - } - - #define RIP(msg) \ - { \ - DBGMSG(DBG_RIP, L"RIP", msg); \ - DebugBreak(); \ - } - - typedef struct DBG_FLAGS { - LPWSTR pszFlag; - DWORD dwFlag; - } *PDBG_FLAGS; - - BOOL OEMDebugMessage(LPCWSTR, ...); - void vDumpOemDMParam(INT iDebugLevel, _In_ PWSTR pszInLabel, POEMDMPARAM pOemDMParam); - void vDumpSURFOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, SURFOBJ *pso); - void vDumpSTROBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, STROBJ *pstro); - void vDumpFONTOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, FONTOBJ *pfo); - void vDumpCLIPOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, CLIPOBJ *pco); - void vDumpBRUSHOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, BRUSHOBJ *pbo); - void vDumpGDIINFO(INT iDebugLevel, _In_ PWSTR pszInLabel, GDIINFO *pGdiInfo); - void vDumpDEVINFO(INT iDebugLevel, _In_ PWSTR pszInLabel, DEVINFO *pDevInfo); - void vDumpBitmapInfoHeader(INT iDebugLevel, _In_ PWSTR pszInLabel, PBITMAPINFOHEADER pBitmapInfoHeader); - void vDumpPOINTL(INT iDebugLevel, _In_ PWSTR pszInLabel, POINTL *pptl); - void vDumpRECTL(INT iDebugLevel, _In_ PWSTR pszInLabel, RECTL *prcl); - void vDumpXLATEOBJ(INT iDebugLevel, _In_ PWSTR pszInLabel, XLATEOBJ *pxlo); - void vDumpCOLORADJUSTMENT(INT iDebugLevel, _In_ PWSTR pszInLabel, COLORADJUSTMENT *pca); - - BOOL OEMRealDebugMessage(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist); - PCSTR StripDirPrefixA(IN PCSTR pstrFilename); - void vDumpFlags(DWORD dwFlags, PDBG_FLAGS pDebugFlags); - -#else // !DBG - - #define DebugMsg NOP_FUNCTION - - #define VERBOSE NOP_FUNCTION - #define TERSE NOP_FUNCTION - #define WARNING NOP_FUNCTION - #define ERR NOP_FUNCTION - - #define DBG_OEMDMPARAM(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_OEMDEVMODE(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_SURFOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_STROBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_FONTOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_CLIPOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_BRUSHOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_GDIINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_DEVINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_BMPINFO(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_POINTL(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_RECTL(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_XLATEOBJ(iDbgLvl, szLabel, pobj) NOP_FUNCTION - #define DBG_COLORADJUSTMENT(iDbgLvl, szLabel, pobj) NOP_FUNCTION - - #define ASSERT(cond) - - #define ASSERTMSG(cond, msg) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp deleted file mode 100644 index 92ca5dd9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.cpp +++ /dev/null @@ -1,229 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// -// History: -// 06/24/03 xxx created. -// -// - -#include "precomp.h" -#include "oemprean.h" -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -HRESULT hrOEMDevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DevMode. - hrOEMDevMode is called by IPrintOemUni::DevMode - which is defined in intrface.cpp. - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - caller-supplied constant. Refer to the docs - for more information. - pOemDMParam - pointer to an OEMDMPARAM structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - ---*/ - -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - VERBOSE(L"hrOEMDevMode entry."); - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - )) - { - ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - ERR(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam); - - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devmode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - break; - - case OEMDM_CONVERT: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - bMakeOEMDevmodeValid(pOEMDevOut); - break; - } - DBG_OEMDMPARAM(DBG_VERBOSE, L"pOemDMParam", pOemDMParam); - - return S_OK; -} - - -BOOL bConvertOEMDevmode( - PCOEMDEV pOEMDevIn, - POEMDEV pOEMDevOut - ) - -/*++ - -Routine Description: - - Converts private DEVMODE members to the - current version. - -Arguments: - - pOEMDevIn - pointer to OEM private devmode - pOEMDevOut - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE(L"bConvertOEMDevmode entry."); - - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(TEXT("Converting private OEM Devmode.\r\n")); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - VERBOSE(TEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - } - - return TRUE; -} - - -BOOL bMakeOEMDevmodeValid( - POEMDEV pOEMDevmode - ) - -/*++ - -Routine Description: - - Ensures that private OEM devmode members are valid. - -Arguments: - - pOEMDevmode - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data. - pOEMDevmode->dwDriverData = 0; - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h deleted file mode 100644 index 05f98204..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/devmode.h +++ /dev/null @@ -1,43 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -// History: -// 06/24/03 xxx created. -// -// - -#pragma once - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL dwDriverData; -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -///////////////////////////////////////////////////////// -// Prototypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp deleted file mode 100644 index 412f9446..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/dllentry.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// -// History: -// 06/24/03 xxx created. -// -// - -#include "precomp.h" -#include "oemprean.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// - -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - VERBOSE(L"DllMain entry."); - - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(TEXT("Process attach.\r\n")); - break; - - case DLL_THREAD_ATTACH: - VERBOSE(TEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(TEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(TEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp deleted file mode 100644 index 9c102afc..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.cpp +++ /dev/null @@ -1,1819 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// -// -// Functions: -// IPrintOemUni2 interface functions -// COemCF class factory -// Registration functions: DllCanUnloadNow, DllGetClassObject -// -// History: -// 06/26/03 xxx created. -// -// - -#include "precomp.h" -#include <INITGUID.H> -#include <PRCOMOEM.H> - -#include "oemprean.h" -#include "debug.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// ================================================================== -// Internal Globals -// -static long g_cComponents; // Count of active components -static long g_cServerLocks; // Count of locks -// -// ================================================================== - -// ================================================================== -// The purpose of this array is to inform UNIDRV of the callbacks -// that are implemented in this driver. -// -// Note that there is *NO* order dependency in this array. New -// index values and their corresponding callbacks can be placed -// anywhere within the list as needed. -// -static const DRVFN s_aOemHookFuncs[] = -{ - // The following are defined in ddihook.cpp. - // - {INDEX_DrvAlphaBlend, (PFN)OEMAlphaBlend}, - {INDEX_DrvBitBlt, (PFN)OEMBitBlt}, - {INDEX_DrvCopyBits, (PFN)OEMCopyBits}, - {INDEX_DrvDitherColor, (PFN)OEMDitherColor}, - {INDEX_DrvFillPath, (PFN)OEMFillPath}, - {INDEX_DrvFontManagement, (PFN)OEMFontManagement}, - {INDEX_DrvGetGlyphMode, (PFN)OEMGetGlyphMode}, - {INDEX_DrvGradientFill, (PFN)OEMGradientFill}, - {INDEX_DrvLineTo, (PFN)OEMLineTo}, - {INDEX_DrvPaint, (PFN)OEMPaint}, - {INDEX_DrvPlgBlt, (PFN)OEMPlgBlt}, - {INDEX_DrvQueryAdvanceWidths, (PFN)OEMQueryAdvanceWidths}, - {INDEX_DrvQueryFont, (PFN)OEMQueryFont}, - {INDEX_DrvQueryFontData, (PFN)OEMQueryFontData}, - {INDEX_DrvQueryFontTree, (PFN)OEMQueryFontTree}, - {INDEX_DrvRealizeBrush, (PFN)OEMRealizeBrush}, - {INDEX_DrvStretchBlt, (PFN)OEMStretchBlt}, - {INDEX_DrvStretchBltROP, (PFN)OEMStretchBltROP}, - {INDEX_DrvStrokeAndFillPath, (PFN)OEMStrokeAndFillPath}, - {INDEX_DrvStrokePath, (PFN)OEMStrokePath}, - {INDEX_DrvTextOut, (PFN)OEMTextOut}, - {INDEX_DrvTransparentBlt, (PFN)OEMTransparentBlt}, - {INDEX_DrvStartDoc, (PFN)OEMStartDoc}, - {INDEX_DrvEndDoc, (PFN)OEMEndDoc}, - {INDEX_DrvStartPage, (PFN)OEMStartPage}, - {INDEX_DrvSendPage, (PFN)OEMSendPage}, - {INDEX_DrvStartBanding, (PFN)OEMStartBanding}, - {INDEX_DrvNextBand, (PFN)OEMNextBand}, - {INDEX_DrvEscape, (PFN)OEMEscape} -}; - - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 body -// -COemUni2::COemUni2() -{ - m_cRef = 1; - - // Increment COM component count. - InterlockedIncrement(&g_cComponents); - - m_pOEMHelp = NULL; - -} - -COemUni2::~COemUni2() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall -COemUni2:: -QueryInterface( - const IID& iid, - void** ppv - ) -{ - VERBOSE(L"COemUni2::QueryInterface() entry."); - - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("COemUni2::QueryInterface IUnknown.\r\n")); - } - else if (iid == IID_IPrintOemUni2) - { - VERBOSE(DLLTEXT("COemUni2::QueryInterface IPrintOemUni2.\r\n")); - - *ppv = static_cast<IPrintOemUni2*>(this); - } - else - { - WARNING(DLLTEXT("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n")); - - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemUni2:: -AddRef( - VOID - ) -{ - VERBOSE(L"COemUni2::AddRef() entry."); - - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemUni2:: -Release( - VOID - ) -{ - VERBOSE(L"COemUni2::Release() entry."); - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (cRef == 0) - { - delete this; - return 0; - } - return cRef; -} - -HRESULT __stdcall -COemUni2:: -CommandCallback( - PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::CommandCallback - - The IPrintOemUni::CommandCallback method is used - to provide dynamically generated printer commands - for Unidrv-supported printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwCallbackID - value representing the printer command's - *CallbackID attribute in the printer's generic printer - description (GPD) file. - dwCount - value representing the number of elements - in the array pointed to by pdwParams. Can be 0. - pdwParams - pointer to an array of DWORD-sized parameters - containing values specified by the printer commands - *Params attribute in the printer's GPD file. Can be NULL. - piResult - Receives a method-supplied result value. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::CommandCallback() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pdwParams); - - *piResult = 0; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -Compression( - PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::Compression - - The IPrintOemUni::Compression method can be used - with Unidrv-supported printers to provide a customized - bitmap compression method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pInBuf - pointer to input scan line data. - pOutBuf - pointer to an output buffer to receive - compressed scan line data. - dwInLen - length of the input data. - dwOutLen - length of the output buffer. - piResult - Receives a method-supplied result value. If the - operation succeeds, this value should be the number - of compressed bytes, which must not be larger than - the value received for dwOutLen. If an error occurs, - or if the method cannot compress, the result value - should be -1. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::Compression() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pInBuf); - UNREFERENCED_PARAMETER(pOutBuf); - UNREFERENCED_PARAMETER(dwInLen); - UNREFERENCED_PARAMETER(dwOutLen); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DevMode - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DevMode method. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - caller-supplied constant. Refer to the docs - for more information. - pOemDMParam - pointer to an OEMDMPARAM structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2:DevMode entry."); - - DBG_OEMDMPARAM(DBG_VERBOSE, L"pOemDMParam", pOemDMParam); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall -COemUni2:: -DisableDriver( - VOID - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisableDriver - - The IPrintOemUni::DisableDriver method allows a rendering - plug-in for Unidrv to free resources that were allocated by the - plug-in's IPrintOemUni::EnableDriver method. This is the last - IPrintOemUni interface method that is called before the rendering - plug-in is unloaded. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisableDriver method. - - Please refer to DDK documentation for more details. - -Arguments: - - VOID - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2::DisableDriver() entry."); - - // Release reference to Printer Driver's interface. - // - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DisablePDEV( - PDEVOBJ pdevobj - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisablePDEV - - The IPrintOemUni::DisablePDEV method performs the same types of - operations as the DrvDisablePDEV function. Its purpose is to allow a - rendering plug-in to delete the private PDEV structure that is pointed - to by the DEVOBJ structure's pdevOEM member. This PDEV structure - is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisablePDEV method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2::DisablePDEV() entry."); - - POEMPDEV pOemPDEV = static_cast<POEMPDEV>(pdevobj->pdevOEM); - delete pOemPDEV; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DownloadCharGlyph( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadCharGlyph - - The IPrintOemUni::DownloadCharGlyph method enables a - rendering plug-in for Unidrv to send a character glyph for - a specified soft font to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - hGlyph - glyph handle. - pdwWidth - pointer to receive the method-supplied width of the character. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the character glyph. - If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::DownloadCharGlyph() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(hGlyph); - UNREFERENCED_PARAMETER(pdwWidth); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DownloadFontHeader( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadFontHeader - - The IPrintOemUni::DownloadFontHeader method allows a - rendering plug-in for Unidrv to send a font's header - information to a printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the font header - information. If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::DownloadFontHeader() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DriverDMS( - PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DriverDMS - - The IPrintOemUni::DriverDMS method allows a rendering - plug-in for Unidrv to indicate that it uses a device-managed - drawing surface instead of the default GDI-managed surface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DriverDMS method. - - Please refer to DDK documentation for more details. For general info - on device managed surfaces and how to handle them, please refer to - the section titled "Handling Device-Managed Surfaces". - -Arguments: - - pDevObj - pointer to a DEVOBJ structure. - pBuffer - pointer to a buffer to receive method-specified flags. - cbSize - size, in bytes, of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the required - minimum pBuffer size. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2::DriverDMS() entry."); - - UNREFERENCED_PARAMETER(pDevObj); - UNREFERENCED_PARAMETER(pBuffer); - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pcbNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -EnableDriver( - DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnableDriver - - The IPrintOemUni::EnableDriver method allows a rendering - plug-in for Unidrv to hook out some graphics DDI functions. - - The IPrintOemUni::EnableDriver method allows a rendering - plug-in to perform the same types of operations as the - DrvEnableDriver function. Like the DrvEnableDriver function, - the IPrintOemUni::EnableDriver method is responsible for - providing addresses of internally supported graphics DDI functions, - or DDI hook functions. - - The method should fill the supplied DRVENABLEDATA structure - and allocate an array of DRVFN structures. It should fill the - array with pointers to hooking functions, along with winddi.h-defined - index values that identify the hooked out graphics DDI functions. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnableDriver method. - - Please refer to DDK documentation for more details. - -Arguments: - - DriverVersion - interface version number. This value is - defined by PRINTER_OEMINTF_VERSION, in printoem.h. - cbSize - size, in bytes, of the structure pointed to by pded. - pded - pointer to a DRVENABLEDATA structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - - VERBOSE(L"COemUni2::EnableDriver() entry."); - - pded->iDriverVersion = PRINTER_OEMINTF_VERSION; - pded->c = sizeof(s_aOemHookFuncs) / sizeof(DRVFN); - pded->pdrvfn = (DRVFN *) s_aOemHookFuncs; - - // Even if nothing is done, need to return S_OK so - // that DisableDriver() will be called, which releases - // the reference to the Printer Driver's interface. - // - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *ppDevOem - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnablePDEV - - The IPrintOemUni::EnablePDEV method performs the same types - of operations as the DrvEnablePDEV function that is exported - by a printer graphics DLL. Its purpose is to allow a rendering - plug-in to create its own PDEV structure. For more information - about PDEV structures, see "Customized PDEV Structures" in the DDK docs. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnablePDEV method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pPrinterName - pointer to a text string representing the - logical address of the printer. - cPatterns - value representing the number of HSURF-typed - surface handles contained in the buffer pointed to by - phsurfPatterns. - phsurfPatterns - pointer to a buffer that is large enough to - contain cPatterns number of HSURF-typed surface handles. - The handles represent surface fill patterns. - cjGdiInfo - value representing the size of the structure pointed - to by pGdiInfo. - pGdiInfo - pointer to a GDIINFO structure. - cjDevInfo - value representing the size of the structure pointed - to by pDevInfo. - pDevInfo - pointer to a DEVINFO structure. - pded - pointer to a DRVENABLEDATA structure containing the - addresses of the printer driver's graphics DDI hooking functions. - pDevOem - Receives a method-supplied pointer to a private PDEV structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - If the operation fails, the method should call SetLastError to set an error code. - - ---*/ - -{ - VERBOSE(L"COemUni2::EnablePDEV() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - - #ifndef DBG - UNREFERENCED_PARAMETER(pGdiInfo); - UNREFERENCED_PARAMETER(pDevInfo); - #endif - - // Allocate an instance of our private PDEV. - // - POEMPDEV pOemPDEV = new COemPDEV(); - *ppDevOem = pOemPDEV; - - if (NULL == pOemPDEV) - { - return E_FAIL; - } - - pOemPDEV->InitializeDDITable(pded); - - DBG_GDIINFO(DBG_VERBOSE, L"pGdiInfo", pGdiInfo); - DBG_DEVINFO(DBG_VERBOSE, L"pDevInfo", pDevInfo); - - pOemPDEV->bPreAnalysis = FALSE; // Initialize the pre-analysis flag - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -FilterGraphics( - PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::FilterGraphics - - The IPrintOemUni::FilterGraphics method can be used with - Unidrv-supported printers to modify scan line data and send - it to the spooler. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to a buffer containing scan line data to be printed. - dwLen - value representing the length, in bytes, of the data - pointed to by pBuf. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - DWORD dwResult; - - VERBOSE(L"COemUni2::FilterGraphics() entry."); - - m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult); - - if (dwResult == dwLen) - return S_OK; - else - return S_FALSE; -} - -HRESULT __stdcall -COemUni2:: -GetImplementedMethod( - _In_ PSTR pMethodName - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetImplementedMethod - - The IPrintOemUni::GetImplementedMethod method is used by - Unidrv to determine which IPrintOemUni interface methods - have been implemented by a rendering plug-in. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetImplemented method. - - Please refer to DDK documentation for more details. - -Arguments: - - pMethodName - pointer to a string representing the name of an - IPrintOemUni interface method, such as "ImageProcessing" - for IPrintOemUni::ImageProcessing or "FilterGraphics" for - IPrintOemUni::FilterGraphics. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - HRESULT Result = S_FALSE; - - VERBOSE(L"COemUni2::GetImplementedMethod() entry."); - VERBOSE(TEXT("\tCOemUni2::%hs: "), pMethodName); - - // Unidrv only calls GetImplementedMethod for optional - // methods. The required methods are assumed to be - // supported. - - // Return S_OK for supported function (i.e. implemented), - // and S_FALSE for functions that aren't supported (i.e. not implemented). - switch (*pMethodName) - { - case 'C': - if (!strcmp(NAME_CommandCallback, pMethodName)) - { - Result = S_OK; - } - break; - case 'F': - if (!strcmp(NAME_FilterGraphics, pMethodName)) - { - Result = S_OK; - } - break; - } - - VERBOSE(Result == S_OK ? TEXT("Supported\r\n") : TEXT("NOT supported\r\n")); - - return Result; -} - -HRESULT __stdcall -COemUni2:: -GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetInfo - - A rendering plug-in's IPrintOemUni::GetInfo method returns - identification information. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetInfo method. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - Contains one of the following caller-supplied integer constants. - OEMGI_GETSIGNATURE - The method must return a unique four-byte - identification signature. The plug-in must also place this signature - in OPTITEM structures, as described in the description of the - OEMCUIPPARAM. structure's pOEMOptItems member. - OEMGI_GETVERSION - The method must return the user interface - plug-in's version number as a DWORD. The version format is - developer-defined. - pBuffer - pointer to memory allocated to receive the information specified - by dwInfo. - cbSize - size of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the number of bytes written - into the buffer pointed to by pBuffer. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - PWSTR pszTag = L"COemUni2::GetInfo entry."; - - switch(dwMode) - { - case OEMGI_GETSIGNATURE: - pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]"; - break; - case OEMGI_GETVERSION: - pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]"; - break; - } - - VERBOSE(pszTag); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) ) ) - { - WARNING(DLLTEXT("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - VERBOSE(TEXT("COemUni2::GetInfo() exit insufficient buffer!\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("COemUni2::GetInfo() exit mode not supported.\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(TEXT("COemUni2::GetInfo() exit S_OK, (*pBuffer is %#x).\r\n"), *(PDWORD)pBuffer); - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -HalftonePattern( - PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::HalftonePattern - - The IPrintOemUni::HalftonePattern method can be used with - Unidrv-supported printers to create or modify a halftone - pattern before it is used in a halftoning operation. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pHTPattern - pointer to a buffer to receive the method-supplied - halftone pattern. Buffer size, in bytes, is: - (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns. - dwHTPatternX - length, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTPatternY - height, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTNumPatterns - number of patterns, as specified by the GPD file's - *HTNumPatterns attribute. This can be 1 or 3. - dwCallbackID - value identifying the halftone method, as specified by - the GPD file's *HTCallbackID attribute. - pResource - pointer to a buffer containing a halftone pattern, as - specified by the GPD file's *rcHTPatternID attribute. This can be NULL. - dwResourceSize - size of the halftone pattern contained in the buffer - pointed to by pResource. This is zero if pResource is NULL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::HalftonePattern() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pHTPattern); - UNREFERENCED_PARAMETER(dwHTPatternX); - UNREFERENCED_PARAMETER(dwHTPatternY); - UNREFERENCED_PARAMETER(dwHTNumPatterns); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pResource); - UNREFERENCED_PARAMETER(dwResourceSize); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -ImageProcessing( - PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ImageProcessing - - The IPrintOemUni::ImageProcessing method can be used with - Unidrv-supported printers to modify image bitmap data, in order - to perform color formatting or halftoning. The method can return - the modified bitmap to Unidrv or send it directly to the print spooler. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pSrcBitmap - pointer to an input device-independent bitmap (DIB). - pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure - that describes the bitmap pointed to by pSrcBitmap. - pColorTable - pointer to a color table. Used only if the output format is - eight bits per pixel. - dwCallbackID - value assigned to the *IPCallbackID attribute of the - currently selected option for the ColorMode feature. - pIPParams - pointer to an IPPARAMS structure. - ppbResult - - If the method returns the converted DIB to Unidrv: - If the conversion succeeds, the method should return a - pointer to a buffer containing the converted DIB. - Otherwise it should return NULL. - If the method sends the converted DIB to the print spooler: - If the operation succeeds, the method should return TRUE. - Otherwise it should return FALSE. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::ImageProcessing() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pSrcBitmap); - UNREFERENCED_PARAMETER(pBitmapInfoHeader); - UNREFERENCED_PARAMETER(pColorTable); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pIPParams); - UNREFERENCED_PARAMETER(ppbResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -MemoryUsage( - PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::MemoryUsage - - The IPrintOemUni::MemoryUsage method can be used with - Unidrv-supported printers to specify the amount of memory - required for use by a rendering plug-in's IPrintOemUni::ImageProcessing - method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pMemoryUsage - pointer to an OEMMEMORYUSAGE structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::MemoryUsage() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pMemoryUsage); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -OutputCharStr( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::OutputCharStr - - The IPrintOemUni::OutputCharStr method enables a rendering - plug-in to control the printing of font glyphs. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - dwType - value indicating the type of glyph specifier array - pointed to by pGlyph. Valid values are as follows: - TYPE_GLYPHHANDLE The pGlyph array elements are glyph - handles of type HGLYPH. - TYPE_GLYPHID The pGlyph array elements are glyph - identifiers of type DWORD. - dwCount - value representing the number of glyph specifiers in - the array pointed to by pGlyph. - pGlyph - pointer to an array of glyph specifiers, where the array - element type is indicated by dwType. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::OutputCharStr() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(dwType); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pGlyph); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -PublishDriverInterface( - IUnknown *pIUnknown - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::PublishDriverInterface - - The IPrintOemUni::PublishDriverInterface method allows a - rendering plug-in for Unidrv to obtain the Unidrv driver's - IPrintOemDriverUni interface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::PublishDriverInterface method and the method - must return S_OK, or the driver will not call the plug-in's other - IPrintOemUni interface methods. - - Please refer to DDK documentation for more details. - -Arguments: - - pIUnknown - pointer to the IUnknown interface of the driver's - IPrintOemDriverUni COM interface. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2::PublishDriverInterface() entry."); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ResetPDEV - - A rendering plug-in's IPrintOemUni::ResetPDEV method performs - the same types of operations as the DrvResetPDEV function. During - the processing of an application's call to the Platform SDK ResetDC - function, the IPrintOemUni::ResetPDEV method is called by Unidrv's - DrvResetPDEV function. For more information about when DrvResetPDEV - is called, see its description in the DDK docs. - - The rendering plug-in's private PDEV structure's address is contained - in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld. - The IPrintOemUni::ResetPDEV method should use relevant members of this - old structure to fill in the new structure, which is referenced through pdevobjNew. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::ResetPDEV method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information. - pdevobjNew - pointer to a DEVOBJ structure into which the method should place - new PDEV information. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE(L"COemUni2::ResetPDEV() entry."); - - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -SendFontCmd( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::SendFontCmd - - The IPrintOemUni::SendFontCmd method enables a rendering - plug-in to modify a printer's font selection command and then - send it to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pFInv - pointer to an FINVOCATION structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::SendFontCmd() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pFInv); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TextOutAsBitmap( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TextOutAsBitmap - - The IPrintOemUni::TextOutAsBitmap method allows a rendering - plug-in to create a bitmap image of a text string, in case a - downloadable font is not available. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to be written. - pstro - Defines the glyphs to be rendered and their positions - pfo - Specifies the font to be used - pco - Defines the clipping path - prclExtra - A NULL-terminated array of rectangles to be filled - prclOpaque - Specifies an opaque rectangle - pboFore - Defines the foreground brush - pboOpaque - Defines the opaque brush - pptlOrg - Pointer to POINT struct , defining th origin - mix - Specifies the foreground and background ROPs for pboFore - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::TextOutAsBitmap() entry."); - - UNREFERENCED_PARAMETER(pso); - UNREFERENCED_PARAMETER(pstro); - UNREFERENCED_PARAMETER(pfo); - UNREFERENCED_PARAMETER(pco); - UNREFERENCED_PARAMETER(prclExtra); - UNREFERENCED_PARAMETER(prclOpaque); - UNREFERENCED_PARAMETER(pboFore); - UNREFERENCED_PARAMETER(pboOpaque); - UNREFERENCED_PARAMETER(pptlOrg); - UNREFERENCED_PARAMETER(mix); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTDownloadMethod( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTDownloadMethod - - The IPrintOemUni::TTDownloadMethod method enables a rendering - plug-in to indicate the format that Unidrv should use for a specified - TrueType soft font. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives one of the following method-supplied constant values: - TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps. - TTDOWNLOAD_DONTCARE Unidrv can select the font format. - TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics, - instead of downloading the font. - TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::TTDownloadMethod() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTYGetInfo( - PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTYGetInfo - - The IPrintOemUni::TTYGetInfo method enables a rendering plug-in - to supply Unidrv with information relevant to text-only printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwInfoIndex - constant identifying the type of information being requested. - The following constant values are defined: - OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a - DWORD in which the method should return the number of the - code page to be used. - OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a - RECT structure in which the method should return page margin - widths, in tenths of millimeters (for example, 20 represents 2 mm). - If the entire page is printable, all margin values must be 0. - OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a - DWORD in which the method should return the number of resource - IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain - these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS. - OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array - of DWORDs of sufficient size to hold the number of resource IDs of - the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by - using OEMTTY_INFO_NUM_UFMS in a query.) The method should - return the resource IDs of the UFMs for 10,12, and 17 CPI fonts. - pOutputBuf - pointer to a buffer to receive the requested information. - dwSize - size, in bytes, of the buffer pointed to by pOutputBuf. - pcbcNeeded - pointer to a location to receive the number of bytes written into - the buffer pointed to by pOutputBuf. If the number of bytes required is - smaller than the number specified by dwSize, the method should supply - the required size and return E_FAIL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::TTYGetInfo() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwInfoIndex); - UNREFERENCED_PARAMETER(pOutputBuf); - UNREFERENCED_PARAMETER(dwSize); - UNREFERENCED_PARAMETER(pcbcNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -WritePrinter( - PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni2::WritePrinter - - The IPrintOemUni2::WritePrinter method, if supported, enables a - rendering plug-in to capture all output data generated by a Unidrv - driver. If this method is not supported, the output data would - otherwise be sent to the spooler in a call to the spooler's WritePrinter API. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to the first byte of an array of bytes that contains - the output data generated by the Unidrv driver. - cbBuffer - size, in bytes, of the array pointed to by pBuf. - pcbWritten - pointer to a DWORD value that receives the number - of bytes of data that were successfully sent to the plug-in. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE(L"COemUni2::WritePrinter() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pBuf); - UNREFERENCED_PARAMETER(cbBuffer); - UNREFERENCED_PARAMETER(pcbWritten); - - return E_NOTIMPL; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class COemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef)(THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release)(THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance)(THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer)(THIS_ BOOL bLock); - - - // Constructor - COemCF(): m_cRef(1) { }; - - // Destructor - ~COemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall -COemCF:: -QueryInterface( - const IID& iid, - void** ppv) -{ - VERBOSE(L"COemCF::QueryInterface entry."); - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<COemCF*>(this); - } - else - { - *ppv = NULL; -#if DBG && defined(USERMODE_DRIVER) - TCHAR szOutput[80] = {0}; - StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail! - VERBOSE(TEXT("COemCF::QueryInterface %s not supported.\r\n"), szOutput); -#endif - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemCF:: -AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemCF:: -Release() -{ -// ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall -COemCF:: -CreateInstance( - IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - VERBOSE(L"Class factory:Create component."); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - COemUni2* pOemCP = new COemUni2; - if (pOemCP == NULL) - { - return E_OUTOFMEMORY; - } - - // Get the requested interface. - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCP->Release(); - return hr; -} - -// LockServer -HRESULT __stdcall -COemCF:: -LockServer( - BOOL bLock - ) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow(void) -{ - VERBOSE(L"DllCanUnloadNow entry."); - - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv - ) -{ - VERBOSE(L"DllGetClassObject:\tCreate class factory."); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMRENDER) - { - ERR(ERRORTEXT("DllGetClassObject:\tClass not available!\r\n")); - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor - if (pFontCF == NULL) - { - ERR(ERRORTEXT("DllGetClassObject:\tOut of Memory!\r\n")); - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hrResult = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hrResult; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h deleted file mode 100644 index 28b2a82f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/intrface.h +++ /dev/null @@ -1,288 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// -// History: -// 06/26/03 xxx created. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// String Literals -///////////////////////////////////////////////////////// - -CONST CHAR NAME_CommandCallback[] = "CommandCallback"; -CONST CHAR NAME_FilterGraphics[] = "FilterGraphics"; - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 -// -// Interface for Unidrv OEM sample rendering module -// -class COemUni2 : public IPrintOemUni2 -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for getting the implemented methods. - // Returns S_OK if the given method is implemneted. - // Returns S_FALSE if the given method is notimplemneted. - // - - STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName); - - // - // Method for OEM to specify DDIs that have been hooked - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM plugin to contruct its own PDEV - // - - STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo)(THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode)(THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult); - - // - // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult); - - // - // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen); - // - // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult); - - // - // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize); - - // - // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage); - - // - // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded); - - // - // OEMDownloadFontheader - UNIDRV only - // - - STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMDownloadCharGlyph - UNIDRV only - // - - STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult); - - // - // OEMTTDownloadMethod - UNIDRV only - // - - STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMOutputCharStr - UNIDRV only - // - - STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph); - - // - // OEMSendFontCmd - UNIDRV only - // - - - STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv); - - // - // OEMTextOutAsBitmap - UNIDRV only - // - - STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix); - - // - // IPrintOemUni2 methods - // - - // - // Method for plugin to hook out spooler's WritePrinter API so it - // can get access to output data Universal driver is generating - // - // At DrvEnablePDEV time, Universal driver will call this function with - // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin - // implements this function. Plugin should return S_OK to indicate it is - // implementing this function, or return E_NOTIMPL otherwise. - // - // In pcbWritten, plugins should return the number of bytes written to the - // spooler's WritePrinter function. Zero doesn't carry a special meaning, - // errors must be reported through the returned HRESULT. - // - - STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten); - - - COemUni2(); - ~COemUni2(); - -protected: - LONG m_cRef; - IPrintOemDriverUni* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def deleted file mode 100644 index a9534822..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMPREAN -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h deleted file mode 100644 index f8fa44a7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.h +++ /dev/null @@ -1,259 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUNI.H -// -// -// PURPOSE: Define the COemPDEV class which stores the private -// PDEV for the driver. -// -// -// Functions: -// COemPDEV constructor and destructor -// COemPDEV::InitializeDDITable -// COemPDEV::_SavePFN -// COemPDEV::_ResetPointers -// -// History: -// 06/24/03 xxx created. -// -// - -#pragma once - -#include "debug.h" - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -#define DLLTEXT(s) TEXT("OEMUNI: ") TEXT(s) -#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s) - -class COemPDEV -{ -public: - __stdcall COemPDEV(void) - { - - // Note that since our parent has AddRef'd the UNIDRV interface, - // we don't do so here since our scope is identical to our - // parent. - // - - VERBOSE(L"In COemPDEV constructor..."); - - _ResetPointers(); - } - - __stdcall ~COemPDEV(void) - { - VERBOSE(L"In COemPDEV destructor..."); - } - - void __stdcall InitializeDDITable(DRVENABLEDATA* pded) - { - VERBOSE(L"COemPDEV::InitializeDDITable entry."); - - UINT iDrvFn; - UINT cDrvFn = pded->c; - PDRVFN pDrvFn = pded->pdrvfn; - - for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn) - { - _SavePFN(pDrvFn->iFunc, pDrvFn->pfn); - } - } - -private: - - void __stdcall _SavePFN(ULONG uFunc, PFN pfn) - { - - // Note: if a "pass-through" driver is being constructed, then - // there is nothing for this method to do. So, to keep the - // compiler from complaining about a switch with no case - // statements, but which has a default statement, we surround - // the entire construct with preprocessor controls. - // - switch(uFunc) - { - // The following are the page/band related DDI hooks. - // - - case INDEX_DrvStartDoc: - m_pfnDrvStartDoc = (PFN_DrvStartDoc)pfn; - break; - case INDEX_DrvEndDoc: - m_pfnDrvEndDoc = (PFN_DrvEndDoc)pfn; - break; - case INDEX_DrvStartPage: - m_pfnDrvStartPage = (PFN_DrvStartPage)pfn; - break; - case INDEX_DrvSendPage: - m_pfnDrvSendPage = (PFN_DrvSendPage)pfn; - break; - case INDEX_DrvStartBanding: - m_pfnDrvStartBanding = (PFN_DrvStartBanding)pfn; - break; - case INDEX_DrvNextBand: - m_pfnDrvNextBand = (PFN_DrvNextBand)pfn; - break; - case INDEX_DrvEscape: - m_pfnDrvEscape = (PFN_DrvEscape)pfn; - break; - - // The following are the drawing related DDI hooks. - // - case INDEX_DrvAlphaBlend: - m_pfnDrvAlphaBlend = (PFN_DrvAlphaBlend)pfn; - break; - case INDEX_DrvBitBlt: - m_pfnDrvBitBlt = (PFN_DrvBitBlt)pfn; - break; - case INDEX_DrvCopyBits: - m_pfnDrvCopyBits = (PFN_DrvCopyBits)pfn; - break; - case INDEX_DrvDitherColor: - m_pfnDrvDitherColor = (PFN_DrvDitherColor)pfn; - break; - case INDEX_DrvFillPath: - m_pfnDrvFillPath = (PFN_DrvFillPath)pfn; - break; - case INDEX_DrvFontManagement: - m_pfnDrvFontManagement = (PFN_DrvFontManagement)pfn; - break; - case INDEX_DrvGetGlyphMode: - m_pfnDrvGetGlyphMode = (PFN_DrvGetGlyphMode)pfn; - break; - case INDEX_DrvGradientFill: - m_pfnDrvGradientFill = (PFN_DrvGradientFill)pfn; - break; - case INDEX_DrvLineTo: - m_pfnDrvLineTo = (PFN_DrvLineTo)pfn; - break; - case INDEX_DrvPaint: - m_pfnDrvPaint = (PFN_DrvPaint)pfn; - break; - case INDEX_DrvPlgBlt: - m_pfnDrvPlgBlt = (PFN_DrvPlgBlt)pfn; - break; - case INDEX_DrvQueryAdvanceWidths: - m_pfnDrvQueryAdvanceWidths = (PFN_DrvQueryAdvanceWidths)pfn; - break; - case INDEX_DrvQueryFont: - m_pfnDrvQueryFont = (PFN_DrvQueryFont)pfn; - break; - case INDEX_DrvQueryFontData: - m_pfnDrvQueryFontData = (PFN_DrvQueryFontData)pfn; - break; - case INDEX_DrvQueryFontTree: - m_pfnDrvQueryFontTree = (PFN_DrvQueryFontTree)pfn; - break; - case INDEX_DrvRealizeBrush: - m_pfnDrvRealizeBrush = (PFN_DrvRealizeBrush)pfn; - break; - case INDEX_DrvStretchBlt: - m_pfnDrvStretchBlt = (PFN_DrvStretchBlt)pfn; - break; - case INDEX_DrvStretchBltROP: - m_pfnDrvStretchBltROP = (PFN_DrvStretchBltROP)pfn; - break; - case INDEX_DrvStrokeAndFillPath: - m_pfnDrvStrokeAndFillPath = (PFN_DrvStrokeAndFillPath)pfn; - break; - case INDEX_DrvStrokePath: - m_pfnDrvStrokePath = (PFN_DrvStrokePath)pfn; - break; - case INDEX_DrvTextOut: - m_pfnDrvTextOut = (PFN_DrvTextOut)pfn; - break; - case INDEX_DrvTransparentBlt: - m_pfnDrvTransparentBlt = (PFN_DrvTransparentBlt)pfn; - break; - - } // switch(uFunc) - } - - void __stdcall _ResetPointers(void) - { - m_pfnDrvAlphaBlend = NULL; - m_pfnDrvBitBlt = NULL; - m_pfnDrvCopyBits = NULL; - m_pfnDrvDitherColor = NULL; - m_pfnDrvEndDoc = NULL; - m_pfnDrvEscape = NULL; - m_pfnDrvFillPath = NULL; - m_pfnDrvFontManagement = NULL; - m_pfnDrvGetGlyphMode = NULL; - m_pfnDrvGradientFill = NULL; - m_pfnDrvLineTo = NULL; - m_pfnDrvNextBand = NULL; - m_pfnDrvPaint = NULL; - m_pfnDrvPlgBlt = NULL; - m_pfnDrvQueryAdvanceWidths = NULL; - m_pfnDrvQueryFont = NULL; - m_pfnDrvQueryFontData = NULL; - m_pfnDrvQueryFontTree = NULL; - m_pfnDrvRealizeBrush = NULL; - m_pfnDrvSendPage = NULL; - m_pfnDrvStartBanding = NULL; - m_pfnDrvStartDoc = NULL; - m_pfnDrvStartPage = NULL; - m_pfnDrvStretchBlt = NULL; - m_pfnDrvStretchBltROP = NULL; - m_pfnDrvStrokeAndFillPath = NULL; - m_pfnDrvStrokePath = NULL; - m_pfnDrvTextOut = NULL; - m_pfnDrvTransparentBlt = NULL; - } - -public: - - // Unidrv function pointers so that we can punt - // back from the DDI hooks - // - PFN_DrvAlphaBlend m_pfnDrvAlphaBlend; - PFN_DrvBitBlt m_pfnDrvBitBlt; - PFN_DrvCopyBits m_pfnDrvCopyBits; - PFN_DrvDitherColor m_pfnDrvDitherColor; - PFN_DrvEndDoc m_pfnDrvEndDoc; - PFN_DrvEscape m_pfnDrvEscape; - PFN_DrvFillPath m_pfnDrvFillPath; - PFN_DrvFontManagement m_pfnDrvFontManagement; - PFN_DrvGetGlyphMode m_pfnDrvGetGlyphMode; - PFN_DrvGradientFill m_pfnDrvGradientFill; - PFN_DrvLineTo m_pfnDrvLineTo; - PFN_DrvNextBand m_pfnDrvNextBand; - PFN_DrvPaint m_pfnDrvPaint; - PFN_DrvPlgBlt m_pfnDrvPlgBlt; - PFN_DrvQueryAdvanceWidths m_pfnDrvQueryAdvanceWidths; - PFN_DrvQueryFont m_pfnDrvQueryFont; - PFN_DrvQueryFontData m_pfnDrvQueryFontData; - PFN_DrvQueryFontTree m_pfnDrvQueryFontTree; - PFN_DrvRealizeBrush m_pfnDrvRealizeBrush; - PFN_DrvSendPage m_pfnDrvSendPage; - PFN_DrvStartBanding m_pfnDrvStartBanding; - PFN_DrvStartDoc m_pfnDrvStartDoc; - PFN_DrvStartPage m_pfnDrvStartPage; - PFN_DrvStretchBlt m_pfnDrvStretchBlt; - PFN_DrvStretchBltROP m_pfnDrvStretchBltROP; - PFN_DrvStrokeAndFillPath m_pfnDrvStrokeAndFillPath; - PFN_DrvStrokePath m_pfnDrvStrokePath; - PFN_DrvTextOut m_pfnDrvTextOut; - PFN_DrvTransparentBlt m_pfnDrvTransparentBlt; - - /*******************************************/ - /* */ - /* Add any custom PDEV members here */ - /* */ - /*******************************************/ - - BOOL bPreAnalysis; // Indicates if a current pass is the pre-analysis pass - -}; -typedef COemPDEV* POEMPDEV; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc deleted file mode 100644 index 875705f1..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.rc +++ /dev/null @@ -1,110 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by DDK Support Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "OEM Pre-Analysis Sample\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "OEMPREAN\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "OEMPREAN.DLL\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft OEMPREAN\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj deleted file mode 100644 index b1ff3191..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj +++ /dev/null @@ -1,1096 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{D5E225D5-EEEA-45FD-AD07-E4678C542E1A}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{179B20BC-0106-4AEE-814D-8E6C0FD66347}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>oemprean</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>oemprean.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="debug.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="oemprean.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters deleted file mode 100644 index eae4ad4e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/oemprean.vcxproj.Filters +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{846460B0-CFA8-4A48-BE85-411A0055B60C}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{B95DE626-65CE-4B7F-A90F-6094DB24D175}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{3E039E41-E6A5-4CB3-8B97-DBE76450B55B}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="debug.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemprean.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="oemprean.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="oemprean.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h deleted file mode 100644 index 3bfba083..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precomp.h +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Consolidate common headers that do not change frequently. -// -// History: -// 06/24/03 xxx created. -// -// - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// Required header files that shouldn't change often. - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRINTOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h deleted file mode 100644 index 8e941820..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemprean/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by OEMUNI.rc -// - - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini deleted file mode 100644 index 7ad0e62a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMDriverFile1=OEMPS.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc deleted file mode 100644 index 49008d4c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.rc +++ /dev/null @@ -1,109 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "OEM Customization Sample\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "OEMPS\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "OEMPS.DLL\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft OEMPS\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj deleted file mode 100644 index c30249a8..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj +++ /dev/null @@ -1,1096 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{9F374241-B8F9-45D3-B163-7E84E8E22C1F}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{143DF0A4-9C2F-48FB-A070-C9D9465D83B2}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>OEMPS</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="command.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="ddihook.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="oemps.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters deleted file mode 100644 index 6935f366..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/OEMPS.vcxproj.Filters +++ /dev/null @@ -1,220 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{CFF33BBA-FC87-4E95-B9C5-476E1462EEBF}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{9BFF3627-E67C-4BAB-A7A6-BCE2D1B5C993}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{87727098-2810-47BA-A965-219906793BC2}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="command.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="ddihook.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="debug.h" /> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemps.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="oemps.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="oemps.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp deleted file mode 100644 index 06e049c9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.cpp +++ /dev/null @@ -1,278 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: command.cpp -// -// PURPOSE: Source module for OEM customized Command(s). -// - -#include "precomp.h" -#include "oemps.h" -#include "debug.h" -#include "command.h" -#include "resource.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal String Literals -//////////////////////////////////////////////////////// - -const CHAR TEST_BEGINSTREAM[] = "%%Test: Before begin stream\r\n"; -const CHAR TEST_PSADOBE[] = "%%Test: Before %!PS-Adobe\r\n"; -const CHAR TEST_PAGESATEND[] = "%%Test: Replace driver's %%PagesAtend\r\n"; -const CHAR TEST_PAGES[] = "%%Test: Replace driver's %%Pages: (atend)\r\n"; -const CHAR TEST_DOCUMENTPROCESSCOLORS[] = "%%Test: Replace driver's %%DocumentProcessColors: (atend)\r\n"; -const CHAR TEST_COMMENTS[] = "%%Test: Before %%EndComments\r\n"; -const CHAR TEST_DEFAULTS[] = "%%Test: Before %%BeginDefaults and %%EndDefaults\r\n"; -const CHAR TEST_BEGINPROLOG[] = "%%Test: After %%BeginProlog\r\n"; -const CHAR TEST_ENDPROLOG[] = "%%Test: Before %%EndProlog\r\n"; -const CHAR TEST_BEGINSETUP[] = "%%Test: After %%BeginSetup\r\n"; -const CHAR TEST_ENDSETUP[] = "%%Test: Before %%EndSetup\r\n"; -const CHAR TEST_BEGINPAGESETUP[] = "%%Test: After %%BeginPageSetup\r\n"; -const CHAR TEST_ENDPAGESETUP[] = "%%Test: Before %%EndpageSetup\r\n"; -const CHAR TEST_PAGETRAILER[] = "%%Test: After %%PageTrailer\r\n"; -const CHAR TEST_TRAILER[] = "%%Test: After %%Trailer\r\n"; -const CHAR TEST_PAGENUMBER[] = "%%Test: Replace driver's %%Page:\r\n"; -const CHAR TEST_PAGEORDER[] = "%%Test: Replace driver's %%PageOrder:\r\n"; -const CHAR TEST_ORIENTATION[] = "%%Test: Replace driver's %%Orientation:\r\n"; -const CHAR TEST_BOUNDINGBOX[] = "%%Test: Replace driver's %%BoundingBox:\r\n"; -const CHAR TEST_DOCNEEDEDRES[] = "%%Test: Append to driver's %%DocumentNeededResourc\r\n"; -const CHAR TEST_DOCSUPPLIEDRES[] = "%%Test: Append to driver's %%DocumentSuppliedResou\r\n"; -const CHAR TEST_EOF[] = "%%Test: After %%EOF\r\n"; -const CHAR TEST_ENDSTREAM[] = "%%Test: After the last byte of job stream\r\n"; -const CHAR TEST_DOCUMENTPROCESSCOLORSATEND[] = "%%Test: DocumentProcessColorsAtend\r\n"; -const CHAR TEST_VMSAVE[] = "%%Test: %%VMSave\r\n"; -const CHAR TEST_VMRESTORE[] = "%%Test: %%VMRestore\r\n"; -const CHAR TEST_PLATECOLOR[] = "%%Test: %%PlateColor:\r\n"; -const CHAR TEST_SHOWPAGE[] = "%%Test: %%SowPage:\r\n"; -const CHAR TEST_PAGEBBOX[] = "%%Test: %%PageBox:\r\n"; -const CHAR TEST_ENDPAGECOMMENTS[] = "%%Test: %%EndPageComments:\r\n"; - - -//////////////////////////////////////////////////////////////////////////////////// -// The PSCRIPT driver calls this OEM function at specific points during output -// generation. This gives the OEM DLL an opportunity to insert code fragments -// at specific injection points in the driver's code. It should use -// DrvWriteSpoolBuf for generating any output it requires. - -HRESULT PSCommand(PDEVOBJ pdevobj, DWORD dwIndex, PVOID pData, DWORD cbSize, - IPrintOemDriverPS* pOEMHelp, PDWORD pdwReturn) -{ - PCSTR pProcedure = NULL; - DWORD dwLen = 0; - DWORD dwSize = 0; - HRESULT hResult = E_FAIL; - - VERBOSE("Entering OEMCommand...\r\n"); - - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pData); - - switch (dwIndex) - { - case PSINJECT_BEGINSTREAM: - VERBOSE("OEMCommand PSINJECT_BEGINSTREAM\n"); - pProcedure = TEST_BEGINSTREAM; - break; - - case PSINJECT_PSADOBE: - VERBOSE("OEMCommand PSINJECT_PSADOBE\n"); - pProcedure = TEST_PSADOBE; - break; - - case PSINJECT_PAGESATEND: - VERBOSE("OEMCommand PSINJECT_PAGESATEND\n"); - pProcedure = TEST_PAGESATEND; - break; - - case PSINJECT_PAGES: - VERBOSE("OEMCommand PSINJECT_PAGES\n"); - pProcedure = TEST_PAGES; - break; - - case PSINJECT_DOCNEEDEDRES: - VERBOSE("OEMCommand PSINJECT_DOCNEEDEDRES\n"); - pProcedure = TEST_DOCNEEDEDRES; - break; - - case PSINJECT_DOCSUPPLIEDRES: - VERBOSE("OEMCommand PSINJECT_DOCSUPPLIEDRES\n"); - pProcedure = TEST_DOCSUPPLIEDRES; - break; - - case PSINJECT_PAGEORDER: - VERBOSE("OEMCommand PSINJECT_PAGEORDER\n"); - pProcedure = TEST_PAGEORDER; - break; - - case PSINJECT_ORIENTATION: - VERBOSE("OEMCommand PSINJECT_ORIENTATION\n"); - pProcedure = TEST_ORIENTATION; - break; - - case PSINJECT_BOUNDINGBOX: - VERBOSE("OEMCommand PSINJECT_BOUNDINGBOX\n"); - pProcedure = TEST_BOUNDINGBOX; - break; - - case PSINJECT_DOCUMENTPROCESSCOLORS: - VERBOSE("OEMCommand PSINJECT_DOCUMENTPROCESSCOLORS\n"); - pProcedure = TEST_DOCUMENTPROCESSCOLORS; - break; - - case PSINJECT_COMMENTS: - VERBOSE("OEMCommand PSINJECT_COMMENTS\n"); - pProcedure = TEST_COMMENTS; - break; - - case PSINJECT_BEGINDEFAULTS: - VERBOSE("OEMCommand PSINJECT_BEGINDEFAULTS\n"); - pProcedure = TEST_DEFAULTS; - break; - - case PSINJECT_ENDDEFAULTS: - VERBOSE("OEMCommand PSINJECT_BEGINDEFAULTS\n"); - pProcedure = TEST_DEFAULTS; - break; - - case PSINJECT_BEGINPROLOG: - VERBOSE("OEMCommand PSINJECT_BEGINPROLOG\n"); - pProcedure = TEST_BEGINPROLOG; - break; - - case PSINJECT_ENDPROLOG: - VERBOSE("OEMCommand PSINJECT_ENDPROLOG\n"); - pProcedure = TEST_ENDPROLOG; - break; - - case PSINJECT_BEGINSETUP: - VERBOSE("OEMCommand PSINJECT_BEGINSETUP\n"); - pProcedure = TEST_BEGINSETUP; - break; - - case PSINJECT_ENDSETUP: - VERBOSE("OEMCommand PSINJECT_ENDSETUP\n"); - pProcedure = TEST_ENDSETUP; - break; - - case PSINJECT_BEGINPAGESETUP: - VERBOSE("OEMCommand PSINJECT_BEGINPAGESETUP\n"); - pProcedure = TEST_BEGINPAGESETUP; - break; - - case PSINJECT_ENDPAGESETUP: - VERBOSE("OEMCommand PSINJECT_ENDPAGESETUP\n"); - pProcedure = TEST_ENDPAGESETUP; - break; - - case PSINJECT_PAGETRAILER: - VERBOSE("OEMCommand PSINJECT_PAGETRAILER\n"); - pProcedure = TEST_PAGETRAILER; - break; - - case PSINJECT_TRAILER: - VERBOSE("OEMCommand PSINJECT_TRAILER\n"); - pProcedure = TEST_TRAILER; - break; - - case PSINJECT_PAGENUMBER: - VERBOSE("OEMCommand PSINJECT_PAGENUMBER\n"); - pProcedure = TEST_PAGENUMBER; - break; - - case PSINJECT_EOF: - VERBOSE("OEMCommand PSINJECT_EOF\n"); - pProcedure = TEST_EOF; - break; - - case PSINJECT_ENDSTREAM: - VERBOSE("OEMCommand PSINJECT_ENDSTREAM\n"); - pProcedure = TEST_ENDSTREAM; - break; - - case PSINJECT_DOCUMENTPROCESSCOLORSATEND: - VERBOSE("OEMCommand PSINJECT_DOCUMENTPROCESSCOLORSATEND\n"); - pProcedure = TEST_DOCUMENTPROCESSCOLORSATEND; - break; - - case PSINJECT_VMSAVE: - VERBOSE("OEMCommand PSINJECT_VMSAVE\n"); - pProcedure = TEST_VMSAVE; - break; - - case PSINJECT_VMRESTORE: - VERBOSE("OEMCommand PSINJECT_VMRESTORE\n"); - pProcedure = TEST_VMRESTORE; - break; - - case PSINJECT_PLATECOLOR: - VERBOSE("OEMCommand PSINJECT_PLATECOLOR\n"); - pProcedure = TEST_PLATECOLOR; - break; - - case PSINJECT_SHOWPAGE: - VERBOSE("OEMCommand PSINJECT_SHOWPAGE\n"); - pProcedure = TEST_SHOWPAGE; - break; - - case PSINJECT_PAGEBBOX: - VERBOSE("OEMCommand PSINJECT_PAGEBBOX\n"); - pProcedure = TEST_PAGEBBOX; - break; - - case PSINJECT_ENDPAGECOMMENTS: - VERBOSE("OEMCommand PSINJECT_ENDPAGECOMMENTS\n"); - pProcedure = TEST_ENDPAGECOMMENTS; - break; - - default: - ERR("Undefined PSCommand!\r\n"); - *pdwReturn = ERROR_NOT_SUPPORTED; - return E_NOTIMPL; - } - - // INVARIANT: should have injection string. - - if(NULL != pProcedure) - { - // Write PostScript to spool file. - dwLen = (DWORD)strlen(pProcedure); - if (dwLen > 0) - { - hResult = pOEMHelp->DrvWriteSpoolBuf(pdevobj, const_cast<PSTR>(pProcedure), dwLen, &dwSize); - } - - // Set return values. - if(SUCCEEDED(hResult) && (dwLen == dwSize)) - { - *pdwReturn = ERROR_SUCCESS; - } - else - { - // Return a meaningful - // error value. - *pdwReturn = GetLastError(); - if(ERROR_SUCCESS == *pdwReturn) - { - *pdwReturn = ERROR_WRITE_FAULT; - } - - // Make sure we return failure - // if the write didn't succeded. - if(SUCCEEDED(hResult)) - { - hResult = HRESULT_FROM_WIN32(*pdwReturn); - } - } - } - - return hResult; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h deleted file mode 100644 index e18cdfac..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/command.h +++ /dev/null @@ -1,24 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Command.h -// -// -// PURPOSE: Declare the function that handles custom -// processing of commands. -// - -#pragma once - -///////////////////////////////////////////////////////// -// Prototypes -///////////////////////////////////////////////////////// - -HRESULT PSCommand(PDEVOBJ, DWORD, PVOID, DWORD, IPrintOemDriverPS*, PDWORD); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp deleted file mode 100644 index e14d9cdd..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/ddihook.cpp +++ /dev/null @@ -1,1049 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: DDIHook.cpp -// -// -// PURPOSE: DDI Hook routines for User Mode COM Customization DLL. -// - -#include "precomp.h" -#include "debug.h" -#include "oemps.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -// -// OEMBitBlt -// - -BOOL APIENTRY -OEMBitBlt( - SURFOBJ *psoTrg, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclTrg, - POINTL *pptlSrc, - POINTL *pptlMask, - BRUSHOBJ *pbo, - POINTL *pptlBrush, - ROP4 rop4 - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMBitBlt() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoTrg->dhpdev; - - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvBitBlt)(poempdev->pfnPS[UD_DrvBitBlt])) ( - psoTrg, - psoSrc, - psoMask, - pco, - pxlo, - prclTrg, - pptlSrc, - pptlMask, - pbo, - pptlBrush, - rop4)); - -} - -// -// OEMStretchBlt -// - -BOOL APIENTRY -OEMStretchBlt( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStretchBlt() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - - // - // turn around to call PS - // - - return (((PFN_DrvStretchBlt)(poempdev->pfnPS[UD_DrvStretchBlt])) ( - psoDest, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDest, - prclSrc, - pptlMask, - iMode)); - -} - - -// -// OEMCopyBits -// - -BOOL APIENTRY -OEMCopyBits( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - POINTL *pptlSrc - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMCopyBits() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvCopyBits)(poempdev->pfnPS[UD_DrvCopyBits])) ( - psoDest, - psoSrc, - pco, - pxlo, - prclDest, - pptlSrc)); - -} - -// -// OEMTextOut -// - -BOOL APIENTRY -OEMTextOut( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMTextOut() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvTextOut)(poempdev->pfnPS[UD_DrvTextOut])) ( - pso, - pstro, - pfo, - pco, - prclExtra, - prclOpaque, - pboFore, - pboOpaque, - pptlOrg, - mix)); - -} - -// -// OEMStrokePath -// - -BOOL APIENTRY -OEMStrokePath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - LINEATTRS *plineattrs, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStokePath() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvStrokePath)(poempdev->pfnPS[UD_DrvStrokePath])) ( - pso, - ppo, - pco, - pxo, - pbo, - pptlBrushOrg, - plineattrs, - mix)); - -} - -// -// OEMFillPath -// - -BOOL APIENTRY -OEMFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix, - FLONG flOptions - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMFillPath() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvFillPath)(poempdev->pfnPS[UD_DrvFillPath])) ( - pso, - ppo, - pco, - pbo, - pptlBrushOrg, - mix, - flOptions)); - -} - -// -// OEMStrokeAndFillPath -// - -BOOL APIENTRY -OEMStrokeAndFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pboStroke, - LINEATTRS *plineattrs, - BRUSHOBJ *pboFill, - POINTL *pptlBrushOrg, - MIX mixFill, - FLONG flOptions - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStrokeAndFillPath() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvStrokeAndFillPath)(poempdev->pfnPS[UD_DrvStrokeAndFillPath])) ( - pso, - ppo, - pco, - pxo, - pboStroke, - plineattrs, - pboFill, - pptlBrushOrg, - mixFill, - flOptions)); - -} - -// -// OEMRealizeBrush -// - -BOOL APIENTRY -OEMRealizeBrush( - BRUSHOBJ *pbo, - SURFOBJ *psoTarget, - SURFOBJ *psoPattern, - SURFOBJ *psoMask, - XLATEOBJ *pxlo, - ULONG iHatch - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMRealizeBrush() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoTarget->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvRealizeBrush)(poempdev->pfnPS[UD_DrvRealizeBrush])) ( - pbo, - psoTarget, - psoPattern, - psoMask, - pxlo, - iHatch)); - -} - -// -// OEMStartPage -// - -BOOL APIENTRY -OEMStartPage( - SURFOBJ *pso - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStartPage() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvStartPage)(poempdev->pfnPS[UD_DrvStartPage]))(pso)); - -} - -#define OEM_TESTSTRING "The DDICMDCB DLL adds this line of text." - -// -// OEMSendPage -// - -BOOL APIENTRY -OEMSendPage( - SURFOBJ *pso - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMSendPage() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // print a line of text, just for testing - // - if (pso->iType == STYPE_BITMAP) - { - pdevobj->pDrvProcs->DrvXMoveTo(pdevobj, 0, 0); - pdevobj->pDrvProcs->DrvYMoveTo(pdevobj, 0, 0); - pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, OEM_TESTSTRING, - sizeof(OEM_TESTSTRING)); - } - - // - // turn around to call PS - // - - return (((PFN_DrvSendPage)(poempdev->pfnPS[UD_DrvSendPage]))(pso)); - -} - -// -// OEMEscape -// - -ULONG APIENTRY -OEMEscape( - SURFOBJ *pso, - ULONG iEsc, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMEscape() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvEscape)(poempdev->pfnPS[UD_DrvEscape])) ( - pso, - iEsc, - cjIn, - pvIn, - cjOut, - pvOut)); - -} - -// -// OEMStartDoc -// - -BOOL APIENTRY -OEMStartDoc( - SURFOBJ *pso, - _In_ PWSTR pwszDocName, - DWORD dwJobId - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStartDoc() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvStartDoc)(poempdev->pfnPS[UD_DrvStartDoc])) ( - pso, - pwszDocName, - dwJobId)); - -} - -// -// OEMEndDoc -// - -BOOL APIENTRY -OEMEndDoc( - SURFOBJ *pso, - FLONG fl - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMEndDoc() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvEndDoc)(poempdev->pfnPS[UD_DrvEndDoc])) ( - pso, - fl)); - -} - -//////// -// NOTE: -// OEM DLL needs to hook out the following six font related DDI calls only -// if it enumerates additional fonts beyond what's in the GPD file. -// And if it does, it needs to take care of its own fonts for all font DDI -// calls and DrvTextOut call. -/////// - -// -// OEMQueryFont -// - -PIFIMETRICS APIENTRY -OEMQueryFont( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG_PTR *pid - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMQueryFont() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvQueryFont)(poempdev->pfnPS[UD_DrvQueryFont])) ( - dhpdev, - iFile, - iFace, - pid)); - -} - -// -// OEMQueryFontTree -// - -PVOID APIENTRY -OEMQueryFontTree( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG iMode, - ULONG_PTR *pid - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMQueryFontTree() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvQueryFontTree)(poempdev->pfnPS[UD_DrvQueryFontTree])) ( - dhpdev, - iFile, - iFace, - iMode, - pid)); - -} - -// -// OEMQueryFontData -// - -LONG APIENTRY -OEMQueryFontData( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - HGLYPH hg, - GLYPHDATA *pgd, - _Out_writes_bytes_(cjSize) PVOID pv, - ULONG cjSize - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMQueryFontData() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS if this is not the font that OEM enumerated. - // - - return (((PFN_DrvQueryFontData)(poempdev->pfnPS[UD_DrvQueryFontData])) ( - dhpdev, - pfo, - iMode, - hg, - pgd, - pv, - cjSize)); - -} - -// -// OEMQueryAdvanceWidths -// - -BOOL APIENTRY -OEMQueryAdvanceWidths( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - _In_reads_(cGlyphs) HGLYPH *phg, - _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths, - ULONG cGlyphs - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMQueryAdvanceWidths() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS if this is not the font that OEM enumerated. - // - - return (((PFN_DrvQueryAdvanceWidths) - (poempdev->pfnPS[UD_DrvQueryAdvanceWidths])) ( - dhpdev, - pfo, - iMode, - phg, - pvWidths, - cGlyphs)); - -} - -// -// OEMFontManagement -// - -ULONG APIENTRY -OEMFontManagement( - SURFOBJ *pso, - FONTOBJ *pfo, - ULONG iMode, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMFontManagement() entry.\r\n"); - - // - // Note that PS will not call OEM DLL for iMode==QUERYESCSUPPORT. - // So pso is not NULL for sure. - // - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS if this is not the font that OEM enumerated. - // - - return (((PFN_DrvFontManagement)(poempdev->pfnPS[UD_DrvFontManagement])) ( - pso, - pfo, - iMode, - cjIn, - pvIn, - cjOut, - pvOut)); - -} - -// -// OEMGetGlyphMode -// - -ULONG APIENTRY -OEMGetGlyphMode( - DHPDEV dhpdev, - FONTOBJ *pfo - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMGetGlyphMode() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS if this is not the font that OEM enumerated. - // - - return (((PFN_DrvGetGlyphMode)(poempdev->pfnPS[UD_DrvGetGlyphMode])) ( - dhpdev, - pfo)); - -} - - -// -// OEMStretchBltROP -// - -BOOL APIENTRY -OEMStretchBltROP( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode, - BRUSHOBJ *pbo, - ROP4 rop4 - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMStretchBltROP() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvStretchBltROP)(poempdev->pfnPS[UD_DrvStretchBltROP])) ( - psoDest, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDest, - prclSrc, - pptlMask, - iMode, - pbo, - rop4 - )); - - -} - -// -// OEMPlgBlt -// - -BOOL APIENTRY -OEMPlgBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlBrushOrg, - POINTFIX *pptfixDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMPlgBlt() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDst->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvPlgBlt)(poempdev->pfnPS[UD_DrvPlgBlt])) ( - psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlBrushOrg, - pptfixDest, - prclSrc, - pptlMask, - iMode)); - -} - -// -// OEMAlphaBlend -// - -BOOL APIENTRY -OEMAlphaBlend( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - RECTL *prclSrc, - BLENDOBJ *pBlendObj - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMAlphaBlend() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvAlphaBlend)(poempdev->pfnPS[UD_DrvAlphaBlend])) ( - psoDest, - psoSrc, - pco, - pxlo, - prclDest, - prclSrc, - pBlendObj - )); - -} - -// -// OEMGradientFill -// - -BOOL APIENTRY -OEMGradientFill( - SURFOBJ *psoDest, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - TRIVERTEX *pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - RECTL *prclExtents, - POINTL *pptlDitherOrg, - ULONG ulMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMGradientFill() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvGradientFill)(poempdev->pfnPS[UD_DrvGradientFill])) ( - psoDest, - pco, - pxlo, - pVertex, - nVertex, - pMesh, - nMesh, - prclExtents, - pptlDitherOrg, - ulMode - )); - -} - -BOOL APIENTRY -OEMTransparentBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - RECTL *prclSrc, - ULONG iTransColor, - ULONG ulReserved - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMTransparentBlt() entry.\r\n"); - - pdevobj = (PDEVOBJ)psoDst->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvTransparentBlt)(poempdev->pfnPS[UD_DrvTransparentBlt])) ( - psoDst, - psoSrc, - pco, - pxlo, - prclDst, - prclSrc, - iTransColor, - ulReserved - )); - -} - -HANDLE APIENTRY -OEMIcmCreateColorTransform( - DHPDEV dhpdev, - LPLOGCOLORSPACEW pLogColorSpace, - _In_reads_bytes_opt_(cjSourceProfile) PVOID pvSourceProfile, - ULONG cjSourceProfile, - _In_reads_bytes_(cjDestProfile) PVOID pvDestProfile, - ULONG cjDestProfile, - _In_reads_bytes_opt_(cjTargetProfile) PVOID pvTargetProfile, - ULONG cjTargetProfile, - DWORD dwReserved - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMCreateColorTransform() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvIcmCreateColorTransform)(poempdev->pfnPS[UD_DrvIcmCreateColorTransform])) ( - dhpdev, - pLogColorSpace, - pvSourceProfile, - cjSourceProfile, - pvDestProfile, - cjDestProfile, - pvTargetProfile, - cjTargetProfile, - dwReserved - )); - -} - -BOOL APIENTRY -OEMIcmDeleteColorTransform( - DHPDEV dhpdev, - HANDLE hcmXform - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMDeleteColorTransform() entry.\r\n"); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvIcmDeleteColorTransform)(poempdev->pfnPS[UD_DrvIcmDeleteColorTransform])) ( - dhpdev, - hcmXform - )); - -} - -BOOL APIENTRY -OEMQueryDeviceSupport( - SURFOBJ *pso, - XLATEOBJ *pxlo, - XFORMOBJ *pxo, - ULONG iType, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE("OEMQueryDeviceSupport() entry.\r\n"); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call PS - // - - return (((PFN_DrvQueryDeviceSupport)(poempdev->pfnPS[UD_DrvQueryDeviceSupport])) ( - pso, - pxlo, - pxo, - iType, - cjIn, - pvIn, - cjOut, - pvOut - )); -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp deleted file mode 100644 index 3e66faeb..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.cpp +++ /dev/null @@ -1,151 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -#include "precomp.h" -#include "oemps.h" -#include "debug.h" -#include "devmode.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - break; - - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE("Converting private OEM Devmode.\r\n"); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data. - pOEMDevmode->dwDriverData = 0; - - return TRUE; -} - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h deleted file mode 100644 index 3cf13641..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/devmode.h +++ /dev/null @@ -1,44 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL dwDriverData; - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - -///////////////////////////////////////////////////////// -// Prototypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); -void Dump(PCOEMDEV pOEMDevIn); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp deleted file mode 100644 index d9851eff..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/dllentry.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "oemps.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE("Process attach.\r\n"); - break; - - case DLL_THREAD_ATTACH: - VERBOSE("Thread attach.\r\n"); - break; - - case DLL_PROCESS_DETACH: - VERBOSE("Process detach.\r\n"); - break; - - case DLL_THREAD_DETACH: - VERBOSE("Thread detach.\r\n"); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp deleted file mode 100644 index 34f0914c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.cpp +++ /dev/null @@ -1,632 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// - -#include "precomp.h" - -#include "debug.h" - -#include "devmode.h" -#include "oemps.h" -#include "command.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents; // Count of active components -static long g_cServerLocks; // Count of locks - -//////////////////////////////////////////////////////// -// Internal Constants -//////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////// -// Warning: the following array order must match the -// order in enum ENUMHOOKS. -/////////////////////////////////////////////////////// -static const DRVFN OEMHookFuncs[] = -{ - { INDEX_DrvRealizeBrush, (PFN) OEMRealizeBrush }, - { INDEX_DrvCopyBits, (PFN) OEMCopyBits }, - { INDEX_DrvBitBlt, (PFN) OEMBitBlt }, - { INDEX_DrvStretchBlt, (PFN) OEMStretchBlt }, - { INDEX_DrvTextOut, (PFN) OEMTextOut }, - { INDEX_DrvStrokePath, (PFN) OEMStrokePath }, - { INDEX_DrvFillPath, (PFN) OEMFillPath }, - { INDEX_DrvStrokeAndFillPath, (PFN) OEMStrokeAndFillPath }, - { INDEX_DrvStartPage, (PFN) OEMStartPage }, - { INDEX_DrvSendPage, (PFN) OEMSendPage }, - { INDEX_DrvEscape, (PFN) OEMEscape }, - { INDEX_DrvStartDoc, (PFN) OEMStartDoc }, - { INDEX_DrvEndDoc, (PFN) OEMEndDoc }, - { INDEX_DrvQueryFont, (PFN) OEMQueryFont }, - { INDEX_DrvQueryFontTree, (PFN) OEMQueryFontTree }, - { INDEX_DrvQueryFontData, (PFN) OEMQueryFontData }, - { INDEX_DrvQueryAdvanceWidths, (PFN) OEMQueryAdvanceWidths }, - { INDEX_DrvFontManagement, (PFN) OEMFontManagement }, - { INDEX_DrvGetGlyphMode, (PFN) OEMGetGlyphMode }, - { INDEX_DrvStretchBltROP, (PFN) OEMStretchBltROP }, - { INDEX_DrvPlgBlt, (PFN) OEMPlgBlt }, - { INDEX_DrvTransparentBlt, (PFN) OEMTransparentBlt }, - { INDEX_DrvAlphaBlend, (PFN) OEMAlphaBlend }, - { INDEX_DrvGradientFill, (PFN) OEMGradientFill }, - { INDEX_DrvIcmCreateColorTransform, (PFN) OEMIcmCreateColorTransform }, - { INDEX_DrvIcmDeleteColorTransform, (PFN) OEMIcmDeleteColorTransform }, - { INDEX_DrvQueryDeviceSupport, (PFN) OEMQueryDeviceSupport }, -}; - - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemPS body -// -IOemPS::IOemPS() : m_cRef(1) -{ - VERBOSE("IOemPS::IOemPS() entered.\r\n"); - - // Increment COM component count. - InterlockedIncrement(&g_cComponents); - - m_pOEMHelp = NULL; - - VERBOSE("IOemPS::IOemPS() leaving.\r\n"); -} - - -IOemPS::~IOemPS() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); - - // Decrement COM compontent count. - InterlockedDecrement(&g_cComponents); -} - - -HRESULT __stdcall IOemPS::QueryInterface(const IID& iid, void** ppv) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE("IOemPS::QueryInterface IUnknown.\r\n"); - } - else if (iid == IID_IPrintOemPS) - { - *ppv = static_cast<IPrintOemPS*>(this); - VERBOSE("IOemPS::QueryInterface IPrintOemPs.\r\n"); - } - else - { - VERBOSE("IOemPS::QueryInterface (interface not supported).\r\n"); - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IOemPS::AddRef() -{ - VERBOSE("IOemPS::AddRef() entry.\r\n"); - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemPS::Release() -{ - VERBOSE("IOemPS::Release() entry.\r\n"); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - - -HRESULT __stdcall IOemPS::GetInfo ( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE("IOemPS::GetInfo(%d) entry.\r\n"); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - ERR("IOemPS::GetInfo() exit pcbNeeded is NULL!\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - if(OEMGI_GETPUBLISHERINFO != dwMode) - { - *pcbNeeded = sizeof(DWORD); - } - else - { - *pcbNeeded = sizeof(PUBLISHERINFO); - return E_FAIL; - } - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - ERR("IOemPS::GetInfo() exit insufficient buffer!\r\n"); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - case OEMGI_GETPUBLISHERINFO: - case OEMGI_GETREQUESTEDHELPERINTERFACES: - default: - // Set written bytes to zero since nothing was written. - ERR("IOemPS::GetInfo() exit, mode not supported.\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - return S_OK; -} - -HRESULT __stdcall IOemPS::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE("IOemPS::PublishDriverInterface() entry.\r\n"); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverPS, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - - -HRESULT __stdcall IOemPS::EnableDriver(DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded) -{ - VERBOSE("IOemPS::EnableDriver() entry.\r\n"); - - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - - // List DDI functions that are hooked. - pded->iDriverVersion = PRINTER_OEMINTF_VERSION; - pded->c = sizeof(OEMHookFuncs) / sizeof(DRVFN); - pded->pdrvfn = (DRVFN *) OEMHookFuncs; - - // Even if nothing is done, need to return S_OK so - // that DisableDriver() will be called, which releases - // the reference to the Printer Driver's interface. - // If error occurs, return E_FAIL. - return S_OK; -} - -HRESULT __stdcall IOemPS::DisableDriver(VOID) -{ - VERBOSE("IOemPS::DisaleDriver() entry.\r\n"); - - // Release reference to Printer Driver's interface. - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall IOemPS::DisablePDEV( - PDEVOBJ pdevobj) -{ - VERBOSE("IOemPS::DisablePDEV() entry.\r\n"); - - // - // Free memory for OEMPDEV and any memory block that hangs off OEMPDEV. - // - assert(NULL != pdevobj->pdevOEM); - delete pdevobj->pdevOEM; - - return S_OK; -}; - -HRESULT __stdcall IOemPS::EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem) -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(pGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - UNREFERENCED_PARAMETER(pDevInfo); - - VERBOSE("IOemPS::EnablePDEV() entry.\r\n"); - - POEMPDEV poempdev; - INT i, j; - DWORD dwDDIIndex; - PDRVFN pdrvfn; - - // - // Allocate the OEMDev - // - poempdev = new OEMPDEV; - if (NULL == poempdev) - { - return E_FAIL; - } - - // - // Fill in OEMDEV - // - - for (i = 0; i < MAX_DDI_HOOKS; i++) - { - // - // search through PS's hooks and locate the function ptr - // - dwDDIIndex = OEMHookFuncs[i].iFunc; - for (j = pded->c, pdrvfn = pded->pdrvfn; j > 0; j--, pdrvfn++) - { - if (dwDDIIndex == pdrvfn->iFunc) - { - poempdev->pfnPS[i] = pdrvfn->pfn; - break; - } - } - if (j == 0) - { - // - // Didn't find the hook. This could mean PS doesn't hook this DDI but allows OEMs to hook it out. - // - poempdev->pfnPS[i] = NULL; - } - - } - - *pDevOem = (POEMPDEV) poempdev; - - return S_OK; -} - - -HRESULT __stdcall IOemPS::ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew) -{ - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - VERBOSE("IOemPS::ResetPDEV() entry.\r\n"); - - // - // If any information from the previous PDEV needs to be preserved, - // copy it in this function. - // - - return TRUE; -} - - -HRESULT __stdcall IOemPS::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE("IOemPS:DevMode entry.\n"); - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IOemPS::Command( - PDEVOBJ pdevobj, - DWORD dwIndex, - PVOID pData, - DWORD cbSize, - OUT DWORD *pdwResult) -{ - HRESULT hResult = E_NOTIMPL; - - - VERBOSE("IOemPS::Command() entry.\r\n"); - hResult = PSCommand(pdevobj, dwIndex, pData, cbSize, m_pOEMHelp, pdwResult); - - return hResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(); - ~IOemCF(); - -protected: - long m_cRef; -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -IOemCF::IOemCF() : m_cRef(1) -{ - VERBOSE("IOemCF::IOemCF() entered.\r\n"); -} - -IOemCF::~IOemCF() -{ - VERBOSE("IOemCF::~IOemCF() entered.\r\n"); - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE("IOemCF::QueryInterface entered.\r\n"); - - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this); - } - else - { - WARNING("IOemCF::QueryInterface (interface not supported).\r\n"); - *ppv = NULL; - return E_NOINTERFACE; - } - - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - - VERBOSE("IOemCF::QueryInterface leaving.\r\n"); - - return S_OK; -} - -ULONG __stdcall IOemCF::AddRef() -{ - VERBOSE("IOemCF::AddRef() called.\r\n"); - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - VERBOSE("IOemCF::Release() called.\r\n"); - - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - VERBOSE("Class factory: Create component.\r\n"); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - WARNING("Class factory: non-Null pUnknownOuter.\r\n"); - - return CLASS_E_NOAGGREGATION; - } - - // Create component. - IOemPS* pOemCP = new IOemPS; - if (pOemCP == NULL) - { - ERR("Class factory: failed to allocate IOemPS.\r\n"); - - return E_OUTOFMEMORY; - } - - // Get the requested interface. - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCP->Release(); - return hr; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - VERBOSE("IOemCF::LockServer entered.\r\n"); - - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - - VERBOSE("IOemCF::LockServer() leaving.\r\n"); - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - VERBOSE("DllCanUnloadNow entered.\r\n"); - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE("DllGetClassObject: Create class factory entered.\r\n"); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMRENDER) - { - WARNING("DllGetClassObject: doesn't support clsid!\r\n"); - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - WARNING("DllGetClassObject: memory allocation failed!\r\n"); - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hr; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h deleted file mode 100644 index 87b00473..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/intrface.h +++ /dev/null @@ -1,119 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemPS -// -// Interface for PostScript OEM sample rendering module -// -class IOemPS : public IPrintOemPS -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IPrintOemPS methods *** - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for OEM to specify DDI hook out - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM to contruct its own PDEV - // - - STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommand - PSCRIPT only, return E_NOTIMPL on Unidrv - // - - STDMETHOD(Command) (THIS_ PDEVOBJ pdevobj, - DWORD dwIndex, - PVOID pData, - DWORD cbSize, - OUT DWORD *pdwResult); - - IOemPS(); - ~IOemPS(); - -protected: - - long m_cRef; - - IPrintOemDriverPS* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def b/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def deleted file mode 100644 index 9992eb3e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMPS -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h deleted file mode 100644 index 4fc07721..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/oemps.h +++ /dev/null @@ -1,76 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMPS.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for oemps.cpp. -// -#pragma once - - -/////////////////////////////////////////////////////// -// Warning: the following enum order must match the -// order in OEMHookFuncs[]. -/////////////////////////////////////////////////////// -typedef enum tag_Hooks { - UD_DrvRealizeBrush, - UD_DrvCopyBits, - UD_DrvBitBlt, - UD_DrvStretchBlt, - UD_DrvTextOut, - UD_DrvStrokePath, - UD_DrvFillPath, - UD_DrvStrokeAndFillPath, - UD_DrvStartPage, - UD_DrvSendPage, - UD_DrvEscape, - UD_DrvStartDoc, - UD_DrvEndDoc, - UD_DrvQueryFont, - UD_DrvQueryFontTree, - UD_DrvQueryFontData, - UD_DrvQueryAdvanceWidths, - UD_DrvFontManagement, - UD_DrvGetGlyphMode, - UD_DrvStretchBltROP, - UD_DrvPlgBlt, - UD_DrvTransparentBlt, - UD_DrvAlphaBlend, - UD_DrvGradientFill, - UD_DrvIcmCreateColorTransform, - UD_DrvIcmDeleteColorTransform, - UD_DrvQueryDeviceSupport, - - MAX_DDI_HOOKS, - -} ENUMHOOKS; - - -typedef struct _OEMPDEV { - // - // define whatever needed, such as working buffers, tracking information, - // etc. - // - // This test DLL hooks out every drawing DDI. So it needs to remember - // PS's hook function pointer so it call back. - // - PFN pfnPS[MAX_DDI_HOOKS]; - - // - // define whatever needed, such as working buffers, tracking information, - // etc. - // - DWORD dwReserved[1]; - -} OEMPDEV, *POEMPDEV; - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h deleted file mode 100644 index 4efe4e6f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precomp.h +++ /dev/null @@ -1,47 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. -// -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h deleted file mode 100644 index 48f784ad..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemps/resource.h +++ /dev/null @@ -1,15 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by OEMPS.rc -// - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini deleted file mode 100644 index 6324a104..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=OEMUI.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def deleted file mode 100644 index 68bdffc0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMUI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc deleted file mode 100644 index c9968413..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.rc +++ /dev/null @@ -1,169 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "OEM UI Test Module." - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "OEMUI" - VALUE "LegalCopyright", "Copyright � 1998 - 2003 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "OEMUI.dll" - VALUE "ProductName", "Microsoft OEMUI" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DEVICE_PROPPAGE DIALOG 0, 0, 179, 113 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Device Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Added Page",IDC_STATIC,55,14,68,11 - PUSHBUTTON "Calibrate",IDC_CALIBRATE,61,34,50,14 -END - -IDD_DOC_PROPPAGE DIALOG 0, 0, 210, 154 -STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Document Property Page" -FONT 8, "MS Shell Dialog" -BEGIN - LTEXT "OEM UI Document Property Page",IDC_STATIC,60,73,108,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_DEVICE_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 172 - TOPMARGIN, 8 - BOTTOMMARGIN, 106 - END - - IDD_DOC_PROPPAGE, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 203 - TOPMARGIN, 7 - BOTTOMMARGIN, 147 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "OEM UI Added Item" - IDS_CALIBRATED "Printer has been calibrated." - IDS_NAME "OEM UI Customization DLL" - IDS_DEV_SECTION "Device Settings OEM UI Added Item" - IDS_ADV_SECTION "Advanced OEM UI Added Item" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj deleted file mode 100644 index 7c5e5bcc..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj +++ /dev/null @@ -1,1042 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{452209BF-AEB7-457D-956B-90CDE70CED7D}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{84C69391-30E8-404B-B0F2-7C88DEB2A456}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>OEMUI</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;winspool.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="OEMUI.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters deleted file mode 100644 index 07492222..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/OEMUI.vcxproj.Filters +++ /dev/null @@ -1,220 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{03B02FF3-CA63-4469-8907-F08C69CCE4DC}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{5AE6A39D-71A9-44D0-B561-2746C654DA3B}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{C46C5ADA-08FD-4FA4-829D-1007F014DC71}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="OEMUI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="globals.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="oemui.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="OEMUI.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="OEMUI.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp deleted file mode 100644 index dd9ff650..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.cpp +++ /dev/null @@ -1,182 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -#include "precomp.h" -#include "debug.h" -#include "devmode.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// -//Performs operation on UI Plugins Private DevMode Members. -//Called via IOemUI::DevMode -// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - // - //The Method should return the size of the memory allocation needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - //Private members - // - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - break; - - // - //The method should convert private DEVMODE members to the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - //The method should validate the information contained in private DEVMODE members and merge validated values into a private DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE("Converting private OEM Devmode.\r\n"); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - pOEMDevOut->dwAdvancedData = 0; - } - - return TRUE; -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data, if not valid. - if(pOEMDevmode->dwDriverData > 100) - { - pOEMDevmode->dwDriverData = 0; - } - - // Set Advanced driver data, if not valid. - if(pOEMDevmode->dwAdvancedData > 100) - { - pOEMDevmode->dwAdvancedData = 0; - } - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h deleted file mode 100644 index 3dcbba25..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/devmode.h +++ /dev/null @@ -1,52 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// - -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -// -// This structure must be prefixed by OEM_DMEXTRAHEADER -// Plug-ins must implement the IPrintOemUI::DevMode method -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - DWORD dwDriverData; - DWORD dwAdvancedData; - - // - //Private DevMode Members - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp deleted file mode 100644 index 0823030c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/dllentry.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "debug.h" -#include "globals.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE("Process attach.\r\n"); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE("Thread attach.\r\n"); - break; - - case DLL_PROCESS_DETACH: - VERBOSE("Process detach.\r\n"); - break; - - case DLL_THREAD_DETACH: - VERBOSE("Thread detach.\r\n"); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp deleted file mode 100644 index 40cfbbc2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// PURPOSE: File that contains all the globals. -// - -#include "precomp.h" -#include "globals.h" - - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h deleted file mode 100644 index c809fdc6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/globals.h +++ /dev/null @@ -1,17 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// - -#pragma once - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp deleted file mode 100644 index a05b4643..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.cpp +++ /dev/null @@ -1,567 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PURPOSE: Implementation of interface for PScript5 and Unidrv UI plug-ins. -// - -#include "precomp.h" - -#include "debug.h" -#include "devmode.h" -#include "oemui.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI body -// -IOemUI::~IOemUI() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall IOemUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE("IOemUI:QueryInterface entry.\r\n\r\n"); - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE("IOemUI:Return pointer to IUnknown.\r\n\r\n"); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE("IOemUI:Return pointer to IPrintOemUI.\r\n"); - } - else - { - VERBOSE("IOemUI::QueryInterface IID not supported.\r\n"); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemUI::AddRef() -{ - VERBOSE("IOemUI:AddRef entry.\r\n"); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemUI::Release() -{ - VERBOSE("IOemUI:Release entry.\r\n"); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -HRESULT __stdcall IOemUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE("IOemUI:PublishDriverInterface entry.\r\n"); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUI, (void** ) &(m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -HRESULT __stdcall IOemUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE("IOemUI::GetInfo entry.\r\r\n"); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING("IOemUI::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING("IOemUI::GetInfo() exit insufficient buffer!\r\r\n"); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING("IOemUI::GetInfo() exit mode not supported.\r\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE("IOemUI::GetInfo() exit S_OK\r\n"); - return S_OK; -} - -HRESULT __stdcall IOemUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE("IOemUI:DevMode entry.\r\n"); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IOemUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE("IOemUI:CommonUIProp entry.\r\n"); - - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -HRESULT __stdcall IOemUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE("IOemUI:DocumentPropertySheets entry.\r\n"); - - return hrOEMDocumentPropertySheets(pPSUIInfo, lParam, m_pOEMHelp); -} - -HRESULT __stdcall IOemUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE("IOemUI:DevicePropertySheets entry.\r\n"); - - return hrOEMDevicePropertySheets(pPSUIInfo, lParam); -} - -HRESULT __stdcall IOemUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE("IOemUI:DeviceCapabilities entry.\r\n"); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE("IOemUI:DevQueryPrintEx entry.\r\n"); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE("IOemUI:UpgradePrinter entry.\r\n"); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE("IOemUI:PrinterEvent entry.\r\n"); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IOemUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE("IOemUI:DriverEvent entry.\r\n"); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -#define PROFILE_NAME L"OEMPROFILE.icm\0" - -HRESULT __stdcall IOemUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - HRESULT Result = E_FAIL; - - VERBOSE("IOemUI:QueryColorProfile entry.\r\n"); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - if(QCP_DEVICEPROFILE == ulQueryMode) - { - if(NULL == pvProfileData) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - if(*pcbProfileData < sizeof(PROFILE_NAME)) - { - *pcbProfileData = sizeof(PROFILE_NAME); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - } - else - { - Result = StringCbCopy((LPWSTR)pvProfileData, *pcbProfileData, PROFILE_NAME); - *pcbProfileData = sizeof(PROFILE_NAME); - *pflProfileData = QCP_PROFILEDISK; - - if(FAILED(Result)) - { - SetLastError(Result); - } - } - } - } - - return Result; -}; - -HRESULT __stdcall IOemUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE("IOemUI:FontInstallerDlgProc entry.\r\n"); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IOemUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE("IOemUI:UpdateExternalFonts entry.\r\n"); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) STDMETHOD_(ULONG,Release)(THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - VERBOSE("IOemCF::QueryInterface IID not supported.\r\n"); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IOemUI* pOemCB = new IOemUI ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE("DllGetClassObject:Create class factory.\r\n"); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h deleted file mode 100644 index 3ae5c07c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/intrface.h +++ /dev/null @@ -1,178 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Header of interface for PScript5 & Unidrv UI plug-ins. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IOemUI -// -class IOemUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) STDMETHOD_(ULONG,Release)(THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - - IOemUI() { m_cRef = 1; m_pOEMHelp = NULL; }; - ~IOemUI(); - -protected: - LONG m_cRef; - IPrintOemDriverUI* m_pOEMHelp; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp deleted file mode 100644 index 421fa9d0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.cpp +++ /dev/null @@ -1,737 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.cpp -// -// PURPOSE: Main file for OEM UI test module. -// - -#include "precomp.h" - -#include "debug.h" -#include "resource.h" -#include "globals.h" -#include "devmode.h" -#include "oemui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - -} CBUSERDATA, *PCBUSERDATA; - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam); -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam); -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource); - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - VERBOSE("hrOEMPropertyPage entry.\r\n"); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - hResult = hrPrinterPropertyPage(dwMode, pOEMUIParam); - break; - - default: - // Should never reach this! - ERR("hrOEMPropertyPage() Invalid dwMode"); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE("hrDocumentPropertyPage() requesting items.\r\n"); - } - else - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - VERBOSE("hrDocumentPropertyPage() fill out items.\r\n"); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMDocUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_ADV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM printer property UI. -// -static HRESULT hrPrinterPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - UNREFERENCED_PARAMETER(dwMode); - - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM printer property UI. - pOEMUIParam->cOEMOptItems = 1; - - VERBOSE("hrPrinterPropertyPage() requesting items.\r\n"); - } - else - { - DWORD dwError; - DWORD dwDeviceValue; - DWORD dwType; - DWORD dwNeeded; - - - VERBOSE("hrPrinterPropertyPage() fill out items.\r\n"); - - // Get device settings value from printer. - dwError = GetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, &dwType, (PBYTE) &dwDeviceValue, - sizeof(dwDeviceValue), &dwNeeded); - if( (ERROR_SUCCESS != dwError) - || - (dwDeviceValue > 100) - ) - { - // Failed to get the device value or value is invalid, just use the default. - dwDeviceValue = 0; - } - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMPrinterUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // New section. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, pOEMUIParam->hModule, IDS_DEV_SECTION); - pOEMUIParam->pOEMOptItems[0].Sel = dwDeviceValue; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].lParam = 100; - } - - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to Document property sheet. -// -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, - IPrintOemDriverUI* pOEMHelp) -{ - LONG_PTR lResult = 0; - HRESULT hrResult = S_OK; - - VERBOSE("hrOEMDocumentPropertySheets() entry.\r\n"); - - UNREFERENCED_PARAMETER(pOEMHelp); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR("hrOEMDocumentPropertySheets() ERROR_INVALID_PARAMETER.\r\n"); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - DWORD dwSheets = 0; - PCBUSERDATA pUserData = NULL; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM) pPSUIInfo->lParamInit; - HANDLE hHeap = pOEMUIParam->hOEMHeap; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - COMPROPSHEETUI Sheet; - - - // Init property page. - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = CPSUIF_UPDATE_PERMISSION; - Sheet.hInstCaller = ghInstance; - Sheet.pCallerName = GetStringResource(hHeap, ghInstance, IDS_NAME); - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMDocUICallBack2; - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - Sheet.cOptItem = 1; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.pOptItemName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // Init user data. - pUserData = (PCBUSERDATA) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - if (NULL == pUserData) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate user data.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - Sheet.UserData = (ULONG_PTR) pUserData; - - // Create OptItems for page. - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - if (NULL == Sheet.pOptItem) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate OPTITEMs.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // Initialize OptItems - Sheet.pOptItem[0].Level = 1; - Sheet.pOptItem[0].Flags = OPTIF_COLLAPSE; - Sheet.pOptItem[0].pName = GetStringResource(hHeap, ghInstance, IDS_SECTION); - Sheet.pOptItem[0].Sel = pOEMDev->dwDriverData; - - Sheet.pOptItem[0].pOptType = CreateOptType(hHeap, 2); - if (NULL == Sheet.pOptItem[0].pOptType) - { - ERR("hrOEMDocumentPropertySheets() failed to allocate OPTTYPE.\r\n"); - - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - Sheet.pOptItem[0].pOptType->Type = TVOT_UDARROW; - Sheet.pOptItem[0].pOptType->pOptParam[1].IconID = 0; - Sheet.pOptItem[0].pOptType->pOptParam[1].lParam = 100; - - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, (LPARAM)&dwSheets); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - -Exit: - - pPSUIInfo->Result = lResult; - return hrResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Adds property page to printer property sheet. -// -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam) -{ - LONG_PTR lResult = 0; - - VERBOSE("hrOEMDevicePropertySheets entry\r\n"); - - // Validate parameters. - if( (NULL == pPSUIInfo) - || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version) - ) - { - ERR("hrOEMDevicePropertySheets() ERROR_INVALID_PARAMETER.\r\n"); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Do action. - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - PROPSHEETPAGE Page; - - // Init property page. - memset(&Page, 0, sizeof(PROPSHEETPAGE)); - Page.dwSize = sizeof(PROPSHEETPAGE); - Page.dwFlags = PSP_DEFAULT; - Page.hInstance = ghInstance; - Page.pszTemplate = MAKEINTRESOURCE(IDD_DEVICE_PROPPAGE); - Page.pfnDlgProc = DevicePropPageProc; - - // Add property sheets. - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&Page, 0); - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER) lParam; - - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // No icon - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO) lParam; - - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - pPSUIInfo->Result = lResult; - return S_OK; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM printer property UI. -// -LONG APIENTRY OEMPrinterUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - - VERBOSE("OEMPrinterUICallBack() entry.\r\n"); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - { - DWORD dwDriverValue = pOEMUIParam->pOEMOptItems[0].Sel; - - // Store OptItems state in printer data. - SetPrinterData(pOEMUIParam->hPrinter, OEMUI_VALUE, REG_DWORD, (PBYTE) &dwDriverValue, sizeof(DWORD)); - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Call back for OEM device property UI. -// -#pragma warning(push) -#pragma warning( disable : 6262 ) // 2 MAX_PATH strings exceeds the default prefast stack size warning threshold by a few bytes. -INT_PTR CALLBACK DevicePropPageProc(HWND hDlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) -{ - switch (uiMsg) - { - case WM_COMMAND: - switch(HIWORD(wParam)) - { - case BN_CLICKED: - switch(LOWORD(wParam)) - { - case IDC_CALIBRATE: - // Just display a message that the printer is calibrated, - // since we don't acutally calibrate anything. - { - TCHAR szName[MAX_PATH]; - TCHAR szCalibrated[MAX_PATH]; - - - LoadString(ghInstance, IDS_NAME, szName, sizeof(szName)/sizeof(szName[0])); - LoadString(ghInstance, IDS_CALIBRATED, szCalibrated, sizeof(szCalibrated)/sizeof(szCalibrated[0])); - MessageBox(hDlg, szCalibrated, szName, MB_OK); - } - break; - } - break; - - default: - return FALSE; - } - return TRUE; - - case WM_NOTIFY: - { - switch (((LPNMHDR)lParam)->code) // type of notification message - { - case PSN_SETACTIVE: - break; - - case PSN_KILLACTIVE: - break; - - case PSN_APPLY: - break; - - case PSN_RESET: - break; - } - } - break; - } - - return FALSE; -} -#pragma warning(pop) - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM document property UI. -// -LONG APIENTRY OEMDocUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE("OEMDocUICallBack() entry\r\n"); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Update UI item data. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - break; - - case CPSUICB_REASON_KILLACTIVE: - // Update devmode if settings have changed. - if(pOEMDev->dwAdvancedData != (DWORD)(pOEMUIParam->pOEMOptItems[0].Sel)) - { - // Update OEM Devmode driver data. - pOEMDev->dwAdvancedData = pOEMUIParam->pOEMOptItems[0].Sel; - } - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pOEMUIParam->pOEMOptItems[0].Sel) != pOEMDev->dwAdvancedData) - { - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->dwAdvancedData; - pOEMUIParam->pOEMOptItems[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -LONG APIENTRY OEMDocUICallBack2(PCPSUICBPARAM pCallbackParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - POEMDEV pOEMDev = (POEMDEV) pUserData->pOEMUIParam->pOEMDM; - - - VERBOSE("OEMDocUICallBack2() entry.\r\n"); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Update OEM devmode driver data. - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - pUserData->pfnComPropSheet(pUserData->hComPropSheet, CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - break; - - case CPSUICB_REASON_KILLACTIVE: - if(pOEMDev->dwDriverData != (DWORD)(pCallbackParam->pOptItem[0].Sel)) - { - // Update OEM devmode driver data. - pOEMDev->dwDriverData = pCallbackParam->pOptItem[0].Sel; - } - break; - - case CPSUICB_REASON_SETACTIVE: - if((DWORD)(pCallbackParam->pOptItem[0].Sel) != pOEMDev->dwDriverData) - { - pCallbackParam->pOptItem[0].Sel = pOEMDev->dwDriverData; - pCallbackParam->pOptItem[0].Flags |= OPTIF_CHANGED; - lReturn = CPSUICB_ACTION_OPTIF_CHANGED; - } - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Creates and Initializes OptItems. -// -static POPTITEM CreateOptItems(HANDLE hHeap, DWORD dwOptItems) -{ - POPTITEM pOptItems = NULL; - - - // Allocate memory for OptItems; - pOptItems = (POPTITEM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTITEM) * dwOptItems); - if(NULL != pOptItems) - { - InitOptItems(pOptItems, dwOptItems); - } - else - { - ERR("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n"); - } - - return pOptItems; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE("InitOptItems() entry.\r\n"); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE("CreateOptType() entry.\r\n"); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n"); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR("CreateOptType() failed to allocated memory for OPTTYPE!\r\n"); - } - - return pOptType; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HANDLE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - VERBOSE("GetStringResource entered.\r\n"); - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString((HMODULE)hModule, uResource, pszString, dwSize); - if(nResult > 0) - { - PTSTR pszTemp; - - pszTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pszTemp) - { - pszString = pszTemp; - } - else - { - ERR("GetStringResource() HeapReAlloc() of string retrieved failed!\r\n"); - } - } - else - { - ERR("LoadString() failed.\r\n"); - ERR("GetStringResource() failed to load string resource !\r\n"); - - pszString = NULL; - } - } - else - { - ERR("GetStringResource() failed to allocate string buffer!\r\n"); - } - - return pszString; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h deleted file mode 100644 index b584893e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/oemui.h +++ /dev/null @@ -1,37 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUI.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for OEMUI Test Module. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - -// OEM Signature and version. -#define PROP_TITLE L"OEM UI Page" - -// Printer registry keys where OEM data is stored. -#define OEMUI_VALUE TEXT("OEMUI_VALUE") -#define OEMUI_DEVICE_VALUE TEXT("OEMUI_DEVICE_VALUE") - - - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -HRESULT hrOEMDocumentPropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam, IPrintOemDriverUI* pOEMHelp); -HRESULT hrOEMDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h deleted file mode 100644 index bd1a22de..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precomp.h +++ /dev/null @@ -1,52 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.H -// -// PURPOSE: Optimize compilation of headers that don't change frequently. -// -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h deleted file mode 100644 index 71d3d3d6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemui/resource.h +++ /dev/null @@ -1,24 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by OEMUI.rc -// -#define IDS_SECTION 1 -#define IDS_CALIBRATED 2 -#define IDS_NAME 3 -#define IDS_DEV_SECTION 4 -#define IDS_DEVICE_SECTION 4 -#define IDS_ADV_SECTION 10 -#define IDD_DEVICE_PROPPAGE 106 -#define IDD_DOC_PROPPAGE 107 -#define IDC_CALIBRATE 1001 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1002 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini b/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini deleted file mode 100644 index 399b2f9b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMDriverFile1=OEMUNI.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def deleted file mode 100644 index be2aaf17..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY OEMUNI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h deleted file mode 100644 index 6df79055..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.h +++ /dev/null @@ -1,234 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: OEMUNI.H -// -// -// PURPOSE: Define the COemPDEV class which stores the private -// PDEV for the driver. -// - -#pragma once - -class COemPDEV -{ -public: - __stdcall COemPDEV(void) - { - - // Note that since our parent has AddRef'd the UNIDRV interface, - // we don't do so here since our scope is identical to our - // parent. - // - - VERBOSE("In COemPDEV constructor..."); - - _ResetPointers(); - } - - __stdcall ~COemPDEV(void) - { - VERBOSE("In COemPDEV destructor..."); - } - - void __stdcall InitializeDDITable(DRVENABLEDATA* pded) - { - VERBOSE("COemPDEV::InitializeDDITable entry."); - - UINT iDrvFn; - UINT cDrvFn = pded->c; - PDRVFN pDrvFn = pded->pdrvfn; - - for (iDrvFn = 0; iDrvFn < cDrvFn; ++iDrvFn, ++pDrvFn) - { - _SavePFN(pDrvFn->iFunc, pDrvFn->pfn); - } - } - -private: - - void __stdcall _SavePFN(ULONG uFunc, PFN pfn) - { - - // Note: if a "pass-through" driver is being constructed, then - // there is nothing for this method to do. So, to keep the - // compiler from complaining about a switch with no case - // statements, but which has a default statement, we surround - // the entire construct with preprocessor controls. - // - switch(uFunc) - { - // The following are the drawing related DDI hooks. - // - case INDEX_DrvAlphaBlend: - m_pfnDrvAlphaBlend = (PFN_DrvAlphaBlend)pfn; - break; - case INDEX_DrvBitBlt: - m_pfnDrvBitBlt = (PFN_DrvBitBlt)pfn; - break; - case INDEX_DrvCopyBits: - m_pfnDrvCopyBits = (PFN_DrvCopyBits)pfn; - break; - case INDEX_DrvDitherColor: - m_pfnDrvDitherColor = (PFN_DrvDitherColor)pfn; - break; - case INDEX_DrvFillPath: - m_pfnDrvFillPath = (PFN_DrvFillPath)pfn; - break; - case INDEX_DrvFontManagement: - m_pfnDrvFontManagement = (PFN_DrvFontManagement)pfn; - break; - case INDEX_DrvGetGlyphMode: - m_pfnDrvGetGlyphMode = (PFN_DrvGetGlyphMode)pfn; - break; - case INDEX_DrvGradientFill: - m_pfnDrvGradientFill = (PFN_DrvGradientFill)pfn; - break; - case INDEX_DrvLineTo: - m_pfnDrvLineTo = (PFN_DrvLineTo)pfn; - break; - case INDEX_DrvPaint: - m_pfnDrvPaint = (PFN_DrvPaint)pfn; - break; - case INDEX_DrvPlgBlt: - m_pfnDrvPlgBlt = (PFN_DrvPlgBlt)pfn; - break; - case INDEX_DrvQueryAdvanceWidths: - m_pfnDrvQueryAdvanceWidths = (PFN_DrvQueryAdvanceWidths)pfn; - break; - case INDEX_DrvQueryFont: - m_pfnDrvQueryFont = (PFN_DrvQueryFont)pfn; - break; - case INDEX_DrvQueryFontData: - m_pfnDrvQueryFontData = (PFN_DrvQueryFontData)pfn; - break; - case INDEX_DrvQueryFontTree: - m_pfnDrvQueryFontTree = (PFN_DrvQueryFontTree)pfn; - break; - case INDEX_DrvRealizeBrush: - m_pfnDrvRealizeBrush = (PFN_DrvRealizeBrush)pfn; - break; - case INDEX_DrvStretchBlt: - m_pfnDrvStretchBlt = (PFN_DrvStretchBlt)pfn; - break; - case INDEX_DrvStretchBltROP: - m_pfnDrvStretchBltROP = (PFN_DrvStretchBltROP)pfn; - break; - case INDEX_DrvStrokeAndFillPath: - m_pfnDrvStrokeAndFillPath = (PFN_DrvStrokeAndFillPath)pfn; - break; - case INDEX_DrvStrokePath: - m_pfnDrvStrokePath = (PFN_DrvStrokePath)pfn; - break; - case INDEX_DrvTextOut: - m_pfnDrvTextOut = (PFN_DrvTextOut)pfn; - break; - case INDEX_DrvTransparentBlt: - m_pfnDrvTransparentBlt = (PFN_DrvTransparentBlt)pfn; - break; - // The following are the page/band related DDI hooks. - // - case INDEX_DrvStartDoc: - m_pfnDrvStartDoc = (PFN_DrvStartDoc)pfn; - break; - case INDEX_DrvEndDoc: - m_pfnDrvEndDoc = (PFN_DrvEndDoc)pfn; - break; - case INDEX_DrvStartPage: - m_pfnDrvStartPage = (PFN_DrvStartPage)pfn; - break; - case INDEX_DrvSendPage: - m_pfnDrvSendPage = (PFN_DrvSendPage)pfn; - break; - case INDEX_DrvStartBanding: - m_pfnDrvStartBanding = (PFN_DrvStartBanding)pfn; - break; - case INDEX_DrvNextBand: - m_pfnDrvNextBand = (PFN_DrvNextBand)pfn; - break; - case INDEX_DrvEscape: - m_pfnDrvEscape = (PFN_DrvEscape)pfn; - break; - } // switch(uFunc) - } - - void __stdcall _ResetPointers(void) - { - m_pfnDrvAlphaBlend = NULL; - m_pfnDrvBitBlt = NULL; - m_pfnDrvCopyBits = NULL; - m_pfnDrvDitherColor = NULL; - m_pfnDrvEndDoc = NULL; - m_pfnDrvEscape = NULL; - m_pfnDrvFillPath = NULL; - m_pfnDrvFontManagement = NULL; - m_pfnDrvGetGlyphMode = NULL; - m_pfnDrvGradientFill = NULL; - m_pfnDrvLineTo = NULL; - m_pfnDrvNextBand = NULL; - m_pfnDrvPaint = NULL; - m_pfnDrvPlgBlt = NULL; - m_pfnDrvQueryAdvanceWidths = NULL; - m_pfnDrvQueryFont = NULL; - m_pfnDrvQueryFontData = NULL; - m_pfnDrvQueryFontTree = NULL; - m_pfnDrvRealizeBrush = NULL; - m_pfnDrvSendPage = NULL; - m_pfnDrvStartBanding = NULL; - m_pfnDrvStartDoc = NULL; - m_pfnDrvStartPage = NULL; - m_pfnDrvStretchBlt = NULL; - m_pfnDrvStretchBltROP = NULL; - m_pfnDrvStrokeAndFillPath = NULL; - m_pfnDrvStrokePath = NULL; - m_pfnDrvTextOut = NULL; - m_pfnDrvTransparentBlt = NULL; - } - -public: - - // Unidrv function pointers so that we can punt - // back from the DDI hooks - // - PFN_DrvAlphaBlend m_pfnDrvAlphaBlend; - PFN_DrvBitBlt m_pfnDrvBitBlt; - PFN_DrvCopyBits m_pfnDrvCopyBits; - PFN_DrvDitherColor m_pfnDrvDitherColor; - PFN_DrvEndDoc m_pfnDrvEndDoc; - PFN_DrvEscape m_pfnDrvEscape; - PFN_DrvFillPath m_pfnDrvFillPath; - PFN_DrvFontManagement m_pfnDrvFontManagement; - PFN_DrvGetGlyphMode m_pfnDrvGetGlyphMode; - PFN_DrvGradientFill m_pfnDrvGradientFill; - PFN_DrvLineTo m_pfnDrvLineTo; - PFN_DrvNextBand m_pfnDrvNextBand; - PFN_DrvPaint m_pfnDrvPaint; - PFN_DrvPlgBlt m_pfnDrvPlgBlt; - PFN_DrvQueryAdvanceWidths m_pfnDrvQueryAdvanceWidths; - PFN_DrvQueryFont m_pfnDrvQueryFont; - PFN_DrvQueryFontData m_pfnDrvQueryFontData; - PFN_DrvQueryFontTree m_pfnDrvQueryFontTree; - PFN_DrvRealizeBrush m_pfnDrvRealizeBrush; - PFN_DrvSendPage m_pfnDrvSendPage; - PFN_DrvStartBanding m_pfnDrvStartBanding; - PFN_DrvStartDoc m_pfnDrvStartDoc; - PFN_DrvStartPage m_pfnDrvStartPage; - PFN_DrvStretchBlt m_pfnDrvStretchBlt; - PFN_DrvStretchBltROP m_pfnDrvStretchBltROP; - PFN_DrvStrokeAndFillPath m_pfnDrvStrokeAndFillPath; - PFN_DrvStrokePath m_pfnDrvStrokePath; - PFN_DrvTextOut m_pfnDrvTextOut; - PFN_DrvTransparentBlt m_pfnDrvTransparentBlt; - - /*******************************************/ - /* */ - /* Add any custom PDEV members here */ - /* */ - /*******************************************/ - -}; -typedef COemPDEV* POEMPDEV; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc deleted file mode 100644 index 6a21e8d3..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.rc +++ /dev/null @@ -1,110 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by DDK Support Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "OEM Customization Sample\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "OEMUNI\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "OEMUNI.DLL\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft OEMUNI\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj deleted file mode 100644 index eeeac176..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj +++ /dev/null @@ -1,1090 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{B0F13767-2056-47FC-B37B-41D7E339900B}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{96600CA6-8E9E-4691-ACB9-0225A5B57563}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>OEMUNI</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;winspool.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>OEMUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="oemuni.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters deleted file mode 100644 index 8287cc90..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/OEMUNI.vcxproj.Filters +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{25BB1250-6D65-4A18-B7D2-D29AB885B616}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{C1A83E63-7DD3-4CAD-9079-BA272CB24B89}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{6B77C327-966D-4CD1-AC7A-EB5A773904D2}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="OEMUNI.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="oemuni.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="OEMUNI.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp deleted file mode 100644 index 48922ae6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/ddihook.cpp +++ /dev/null @@ -1,1670 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: DDIHook.cpp -// -// PURPOSE: DDI Hook routines for User Mode COM Customization DLL. This module -// implements the following methods defined in printoem.h -// OEMCopyBits -// OEMBitBlt -// OEMStretchBlt -// OEMDitherColor -// OEMStretchBltROP -// OEMPlgBlt -// OEMPaint -// OEMRealizeBrush -// OEMStrokePath -// OEMFillPath -// OEMStrokeAndFillPath -// OEMLineTo -// OEMAlphaBlend -// OEMGradientFill -// OEMTransparentBlt -// OEMTextOut -// OEMQueryFont -// OEMQueryFontTree -// OEMQueryFontData -// OEMFontManagement -// OEMQueryAdvanceWidths -// OEMGetGlyphMode -// OEMStartDoc -// OEMEndDoc -// OEMStartPage -// OEMSendPage -// OEMStartBanding -// OEMNextBand -// OEMEscape -// - -#include "precomp.h" -#include "debug.h" -#include "devmode.h" -#include "oemuni.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -BOOL APIENTRY -OEMCopyBits( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - POINTL *pptlSrc - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvCopyBits. - - DrvCopyBits translates between device-managed - raster surfaces and GDI standard-format bitmaps. - GDI will call DrvCopyBits when it needs to copy from - one surface to another and at least one of the - surfaces is device-managed. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Points to the Dstination surface - psoSrc - Points to the source surface - pxlo - XLATEOBJ provided by the engine - pco - Defines a clipping region on the Dstination surface - pxlo - Defines the translation of color indices - between the source and target surfaces - prclDst - Defines the area to be modified - pptlSrc - Defines the upper-left corner of the source rectangle - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMCopyBits entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvCopyBits)(psoDst, - psoSrc, - pco, - pxlo, - prclDst, - pptlSrc); -} - -BOOL APIENTRY -OEMBitBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - POINTL *pptlSrc, - POINTL *pptlMask, - BRUSHOBJ *pbo, - POINTL *pptlBrush, - ROP4 rop4 - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvBitBlt. - - DrvBitBlt provides general bit-block transfer capabilities - between device-managed surfaces, between GDI-managed - standard-format bitmaps, or between a device-managed - surface and a GDI-managed standard-format bitmap. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Describes the target surface - psoSrc - Describes the source surface - psoMask - Describes the mask for rop4 - pco - Limits the area to be modified - pxlo - Specifies how color indices are translated - between the source and target surfaces - prclDst - Defines the area to be modified - pptlSrc - Defines the upper left corner of the source rectangle - pptlMask - Defines which pixel in the mask corresponds to - the upper left corner of the source rectangle - pbo - Defines the pattern for bitblt - pptlBrush - Defines the origin of the brush in the Dstination surface - rop4 - ROP code that defines how the mask, pattern, source, and - Dstination pixels are combined to write to the Dstination surface - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMBitBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvBitBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - prclDst, - pptlSrc, - pptlMask, - pbo, - pptlBrush, - rop4); -} - -BOOL APIENTRY -OEMStretchBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDst, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStretchBlt. - - DrvStretchBlt provides stretching bit-block transfer - capabilities between any combination of device-managed - and GDI-managed surfaces. DrvStretchBlt enables the - device driver to write to GDI bitmaps, especially when the - driver can do halftoning. This function allows the same - halftoning algorithm to be applied to GDI bitmaps and - device surfaces. This function can be provided to handle - only certain forms of stretching, such as by integer multiples. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source for blt operation - psoMask - Defines a surface that provides a mask for the source - pco - Limits the area to be modified on the Dstination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlHTOrg - Specifies the origin of the halftone brush - prclDst - Defines the area to be modified on the Dstination surface - prclSrc - Defines the area to be copied from the source surface - pptlMask - Specifies which pixel in the given mask corresponds to - the upper left pixel in the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMStretchBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStretchBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDst, - prclSrc, - pptlMask, - iMode); -} - -ULONG APIENTRY -OEMDitherColor( - DHPDEV dhpdev, - ULONG iMode, - ULONG rgbColor, - ULONG *pulDither - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvDitherColor. - - DrvDitherColor requests the device to create a - brush dithered against a device palette. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - DHPDEV passed, it is our pDEV - iMode - Not used - rgbColor - Solid rgb color to be used - pulDither - buffer to put the halftone brush. - -Return Value: - - Returns halftone method. - - DCR_DRIVER if the dither values have been calculated by the driver. - DCR_SOLID if the engine should use the best solid color approximation of the color. - DCR_HALFTONE if the engine should create a halftone approximation for the driver. - ---*/ - -{ - VERBOSE("OEMDitherColor entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvDitherColor)(dhpdev, - iMode, - rgbColor, - pulDither); -} - -BOOL APIENTRY -OEMStretchBltROP( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDst, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode, - BRUSHOBJ *pbo, - ROP4 rop4 - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStretchBltROP. - - DrvStretchBltROP performs a stretching bit-block transfer - using a ROP. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Specifies the target surface - psoSrc - Specifies the source surface - psoMask - Specifies the mask surface - pco - Limits the area to be modified - pxlo - Specifies how color indices are translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlHTOrg - Specifies the halftone origin - prclDst - Area to be modified on the destination surface - prclSrc - Rectangle area on the source surface - pptlMask - Defines which pixel in the mask corresponds to - the upper left corner of the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - pbo - Defines the pattern for bitblt - rop4 - ROP code that defines how the mask, pattern, source, and - destination pixels are combined on the destination surface - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMStretchBltROP entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStretchBltROP)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDst, - prclSrc, - pptlMask, - iMode, - pbo, - rop4); -} - -BOOL APIENTRY -OEMPlgBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlBrushOrg, - POINTFIX *pptfixDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -/*++ - -Routine Description: - - Implementation of DDI hook for DrvPlgBlt. - - DrvPlgBlt provides rotate bit-block transfer capabilities between - combinations of device-managed and GDI-managed surfaces. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source for blt operation - psoMask - Defines a surface that provides a mask for the source - pco - Limits the area to be modified on the Dstination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - pca - Defines color adjustment values to be applied to the source bitmap - pptlBrushOrg - Specifies the origin of the halftone brush - pptfixDest - Defines the area to be modified on the Dstination surface - prclSrc - Defines the area to be copied from the source surface - pptlMask - Specifies which pixel in the given mask corresponds to - the upper left pixel in the source rectangle - iMode - Specifies how source pixels are combined to get output pixels - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMPlgBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvPlgBlt)(psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlBrushOrg, - pptfixDest, - prclSrc, - pptlMask, - iMode); -} - -BOOL APIENTRY -OEMPaint( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix - ) -/*++ - -Routine Description: - - Implementation of DDI hook for DrvPaint. - - DrvPaint is an obsolete function. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to draw - pco - Limits the area to be modified on the Dstination - pbo - Points to a BRUSHOBJ which defined the pattern and colors to fill with - pptlBrushOrg - Specifies the origin of the halftone brush - mix - Defines the foreground and background raster operations to use for - the brush - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMPaint entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvPaint)(pso, - pco, - pbo, - pptlBrushOrg, - mix); -} - -BOOL APIENTRY -OEMRealizeBrush( - BRUSHOBJ *pbo, - SURFOBJ *psoTarget, - SURFOBJ *psoPattern, - SURFOBJ *psoMask, - XLATEOBJ *pxlo, - ULONG iHatch - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvRealizeBrush. - - DrvRealizeBrush requests that the driver realize a specified brush - for a specified surface. To realize a brush, the driver converts a - GDI brush into a form that can be used internally. A realized brush - contains device-specific information needed by the device to - accelerate drawing using the brush. The driver's realization of a brush - is written into the buffer allocated by a call to BRUSHOBJ_pvAllocRBrush. - - Please refer to DDK documentation for more details. - -Arguments: - - pbo - BRUSHOBJ to be realized - psoTarget - Defines the surface for which the brush is to be realized - psoPattern - Defines the pattern for the brush - psoMask - Transparency mask for the brush - pxlo - Defines the interpretration of colors in the pattern - iHatch - Specifies whether psoPattern is one of the hatch brushes - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMRealizeBrush entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoTarget->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvRealizeBrush)(pbo, - psoTarget, - psoPattern, - psoMask, - pxlo, - iHatch); -} - -BOOL APIENTRY -OEMStrokePath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - LINEATTRS *plineattrs, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStrokePath. - - DrvStrokePath strokes a path when called by GDI. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Identifies the surface on which to draw - ppo - Defines the path to be stroked - pco - Defines the clipping path - pxo - Specifies the world to device coordinate transformation - pbo - Specifies the brush to be used when drawing the path - pptlBrushOrg - Defines the brush origin - plineattrs - Defines the line attributes - mix - Specifies how to combine the brush with the destination - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE("OEMStrokePath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStrokePath)(pso, - ppo, - pco, - pxo, - pbo, - pptlBrushOrg, - plineattrs, - mix); -} - -BOOL APIENTRY -OEMFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix, - FLONG flOptions - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvFillPath. - - DrvFillPath is an optional entry point to handle the filling of closed paths. - GDI can call DrvFillPath to fill a path on a device-managed surface. - When deciding whether to call this function, GDI compares the fill - requirements with the following flags in the flGraphicsCaps member of - the DEVINFO structure: GCAPS_BEZIERS, GCAPS_ALTERNATEFILL, - and GCAPS_WINDINGFILL. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to draw. - ppo - Defines the path to be filled - pco - Defines the clipping path - pbo - Defines the pattern and colors to fill with - pptlBrushOrg - Defines the brush origin - mix - Defines the foreground and background ROPs to use for the brush - flOptions - Whether to use zero-winding or odd-even rule - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE("OEMFillPath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvFillPath)(pso, - ppo, - pco, - pbo, - pptlBrushOrg, - mix, - flOptions); -} - -BOOL APIENTRY -OEMStrokeAndFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pboStroke, - LINEATTRS *plineattrs, - BRUSHOBJ *pboFill, - POINTL *pptlBrushOrg, - MIX mixFill, - FLONG flOptions - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStrokeAndFillPath. - - DrvStrokeAndFillPath strokes and fills a path concurrently. - The driver can return FALSE if the path or the clipping is too - complex for the device to handle; in that case, GDI converts - to a simpler call. For example, if the device driver has set the - GCAPS_BEZIERS flag in the flGraphicsCaps member of the - DEVINFO structure and then receives a path with Bezier curves, - it can return FALSE; GDI will then convert the Bezier curves to - lines and call DrvStrokeAndFillPath again. If the device driver - returns FALSE again, GDI will further simplify the call, making - calls to DrvStrokePath and DrvFillPath, or to DrvBitBlt, depending - on the mix and width of the lines making up the path. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface on which to draw - ppo - Describes the path to be filled - pco - Defines the clipping path - pxo - Specifies the world to device coordinate transformation - pboStroke - Specifies the brush to use when stroking the path - plineattrs - Specifies the line attributes - pboFill - Specifies the brush to use when filling the path - pptlBrushOrg - Specifies the brush origin for both brushes - mixFill - Specifies the foreground and background ROPs to use - for the fill brush - flOptions - Whether to use zero-winding or odd-even rule - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE("OEMStrokeAndFillPath entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStrokeAndFillPath)(pso, - ppo, - pco, - pxo, - pboStroke, - plineattrs, - pboFill, - pptlBrushOrg, - mixFill, - flOptions); -} - -BOOL APIENTRY -OEMLineTo( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvLineTo. - - DrvLineTo draws a single, solid, integer-only cosmetic line. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface on which to draw - pco - Defines the clipping path - pbo - Defines the brush used to draw the line - x1,y1 - Specifies the line's starting point - x2,y2 - Specifies the line's ending point - prclBounds - Defines a rectangle that bounds the unclipped line. - mix - Specifies the foreground and background ROP - -Return Value: - - TRUE if successful - FALSE if driver cannot handle the path - DDI_ERROR if there is an error - ---*/ - -{ - VERBOSE("OEMLineTo entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvLineTo)(pso, - pco, - pbo, - x1, - y1, - x2, - y2, - prclBounds, - mix); -} - -BOOL APIENTRY -OEMAlphaBlend( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - RECTL *prclSrc, - BLENDOBJ *pBlendObj - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvAlphaBlend. - - DrvAlphaBlend provides bit-block transfer capabilities with alpha blending. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDest - Defines the surface on which to draw - psoSrc - Defines the source - pco - Limits the area to be modified on the Destination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - prclDest - Defines the area to be modified on the Destination surface - prclSrc - Defines the area to be copied from the source surface - BlendFunction - Specifies the blend function to be used - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMAlphaBlend entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvAlphaBlend)(psoDest, - psoSrc, - pco, - pxlo, - prclDest, - prclSrc, - pBlendObj); -} - -BOOL APIENTRY -OEMGradientFill( - SURFOBJ *psoDest, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - TRIVERTEX *pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - RECTL *prclExtents, - POINTL *pptlDitherOrg, - ULONG ulMode - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvGradientFill. - - DrvGradientFill shades the specified primitives. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDest - Defines the surface on which to draw - pco - Limits the area to be modified on the Destination - pxlo - Should be ignored by the driver - pVertex - Pointer to an array of TRIVERTEX structures, - with each entry containing position and color information - nVertex - Specifies the number of TRIVERTEX structures in the - array to which pVertex points - pMesh - Pointer to an array of structures that define the connectivity - of the TRIVERTEX elements to which pVertex points - nMesh - Specifies the number of elements in the array to which - pMesh points - prclExtents - Pointer to a RECTL structure that defines the area in - which the gradient drawing is to occur - pptlDitherOrg - Pointer to a POINTL structure that defines the origin - on the surface for dithering - ulMode - Specifies the current drawing mode and how to interpret - the array to which pMesh points - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMGradientFill entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDest->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvGradientFill)(psoDest, - pco, - pxlo, - pVertex, - nVertex, - pMesh, - nMesh, - prclExtents, - pptlDitherOrg, - ulMode); -} - -BOOL APIENTRY -OEMTransparentBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - RECTL *prclSrc, - ULONG iTransColor, - ULONG ulReserved - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvTransparentBlt. - - DrvTransparentBlt provides bit-block transfer capabilities with - transparency. - - Please refer to DDK documentation for more details. - -Arguments: - - psoDst - Defines the surface on which to draw - psoSrc - Defines the source - pco - Limits the area to be modified on the Destination - pxlo - Specifies how color dwIndexes are to be translated - between the source and target surfaces - prclDst - Defines the area to be modified on the Destination surface - prclSrc - Defines the area to be copied from the source surface - iTransColor - Specifies the transparent color - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMTransparentBlt entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)psoDst->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvTransparentBlt)(psoDst, - psoSrc, - pco, - pxlo, - prclDst, - prclSrc, - iTransColor, - ulReserved); -} - -BOOL APIENTRY -OEMTextOut( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvTextOut. - - DrvTextOut is the entry point from GDI that calls for the - driver to render a set of glyphs at specified positions. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to be written. - pstro - Defines the glyphs to be rendered and their positions - pfo - Specifies the font to be used - pco - Defines the clipping path - prclExtra - A NULL-terminated array of rectangles to be filled - prclOpaque - Specifies an opaque rectangle - pboFore - Defines the foreground brush - pboOpaque - Defines the opaque brush - pptlOrg - Pointer to POINT struct , defining th origin - mix - Specifies the foreground and background ROPs for pboFore - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMTextOut entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvTextOut)(pso, - pstro, - pfo, - pco, - prclExtra, - prclOpaque, - pboFore, - pboOpaque, - pptlOrg, - mix); -} - -PIFIMETRICS APIENTRY -OEMQueryFont( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG_PTR *pid - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFont. - - DrvQueryFont is used by GDI to get the IFIMETRICS structure - for a given font. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - iFile - Identifies the driver font file - iFace - One-based index of the driver font - pid - Points to a LONG variable for returning an identifier - which GDI will pass to DrvFree - -Return Value: - - Pointer to an IFIMETRICS structure for the given font. - NULL if there is an error - ---*/ - -{ - VERBOSE("OEMQueryFont entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFont)(dhpdev, - iFile, - iFace, - pid); -} - -PVOID APIENTRY -OEMQueryFontTree( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG iMode, - ULONG_PTR *pid - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFontTree. - - DrvQueryFontTree provides GDI with a pointer to a structure that - defines one of the following: - - A mapping from Unicode to glyph handles, including glyph variants - - A mapping of kerning pairs to kerning handles - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - iFile - Identifies the driver font file - iFace - One-based index of the driver font - iMode - Specifies the type of information to be provided - pid - Points to a LONG variable for returning an identifier - which GDI will pass to DrvFree - -Return Value: - - Pointer to the structure requested based on iMode. - NULL if there is an error - ---*/ - -{ - VERBOSE("OEMQueryFontTree entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFontTree)(dhpdev, - iFile, - iFace, - iMode, - pid); -} - -LONG APIENTRY -OEMQueryFontData( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - HGLYPH hg, - GLYPHDATA *pgd, - _Out_writes_bytes_(cjSize) PVOID pv, - ULONG cjSize - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryFontData. - - DrvQueryFontData retrieves information about a realized font. - GDI provides a pointer to an array of glyph or kerning handles, - and the driver returns information about the glyphs or kerning - pairs. The driver can assume that all handles in the array are valid. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - iMode - Type of information requested - hg - A glyph handle - pgd - Points to a GLYPHDATA structure - pv - Points to output buffer - cjSize - Size of output buffer - -Return Value: - - Depends on iMode. FD_ERROR if there is an error - ---*/ - -{ - VERBOSE("OEMQueryFontData entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryFontData)(dhpdev, - pfo, - iMode, - hg, - pgd, - pv, - cjSize); -} - -ULONG APIENTRY -OEMFontManagement( - SURFOBJ *pso, - FONTOBJ *pfo, - ULONG iMode, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvFontManagement. - - Is this function valid for Unidrv drivers? - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Points to a SURFOBJ structure - pfo - Points to a FONTOBJ structure - iMode - Escape number - cjIn - Size of input buffer - pvIn - Points to input buffer - cjOut - Size of output buffer - pvOut - Points to output buffer - -Return Value: - - 0x00000001 to 0x7fffffff for success - 0x80000000 to 0xffffffff for failure - 0 if the specified escape number if not supported - ---*/ - -{ - VERBOSE("OEMFontManagement entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvFontManagement)(pso, - pfo, - iMode, - cjIn, - pvIn, - cjOut, - pvOut); -} - -BOOL APIENTRY -OEMQueryAdvanceWidths( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - _In_reads_(cGlyphs) HGLYPH *phg, - _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths, - ULONG cGlyphs - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvQueryAdvanceWidths. - - DrvQueryAdvanceWidths returns character advance widths - for a specified set of glyphs. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - iMode - Type of information to be provided - phg - Points to an array of HGLYPHs for which the driver will - provide character advance widths - pvWidths - Points to a buffer for returning width data - cGlyphs - Number of glyphs in the phg array - -Return Value: - - Depends on iMode - ---*/ - -{ - VERBOSE("OEMQueryAdvanceWidths entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvQueryAdvanceWidths)(dhpdev, - pfo, - iMode, - phg, - pvWidths, - cGlyphs); -} - -ULONG APIENTRY -OEMGetGlyphMode( - DHPDEV dhpdev, - FONTOBJ *pfo - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvGetGlyphMode. - - DrvGetGlyphMode tells GDI how to cache glyph information. - GDI calls a driver's DrvGetGlyphMode routine to determine the - range of font information that should be cached for a particular - font; that is, DrvGetGlyphMode determines what GDI stores in - its font cache. A device that caches fonts on its own should return - FO_HGLYPHS to minimize the storage requirements for the font. - GDI calls DrvGetGlyphMode for each font realization. For example, - a driver might want to download outlines for point sizes larger than - 12 point, but raster images for smaller fonts. However, GDI reserves - the right to refuse this request. - - Please refer to DDK documentation for more details. - -Arguments: - - dhpdev - Driver device handle - pfo - Points to a FONTOBJ structure - -Return Value: - - The glyph mode or FO_GLYPHMODE, which is the default. - ---*/ - -{ - VERBOSE("OEMGetGlyphMode entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvGetGlyphMode)(dhpdev, - pfo); -} - -BOOL APIENTRY -OEMStartDoc( - SURFOBJ *pso, - _In_ PWSTR pwszDocName, - DWORD dwJobId - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartDoc. - - DrvStartDoc is called by GDI when it is ready to - start sending a document to the driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pDocName - Specifies a Unicode document name - jobId - Identifies the print job - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMStartDoc entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartDoc)(pso, - pwszDocName, - dwJobId); -} - -BOOL APIENTRY -OEMEndDoc( - SURFOBJ *pso, - FLONG fl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvEndDoc. - - DrvEndDoc is called by GDI when it has finished - sending a document to the driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - flags - A set of flag bits - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMEndDoc entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvEndDoc)(pso, - fl); -} - -BOOL APIENTRY -OEMStartPage( - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartPage. - - DrvStartPage is called by GDI when it is ready to - start sending the contents of a physical page to the - driver for rendering. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMStartPage entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartPage)(pso); -} - -BOOL APIENTRY -OEMSendPage( - SURFOBJ *pso - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvSendPage. - - DrvSendPage is called by GDI when it has finished - drawing a physical page, so the driver can send - the page to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMSendPage entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvSendPage)(pso); -} - -BOOL APIENTRY -OEMStartBanding( - SURFOBJ *pso, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvStartBanding. - - DrvStartBanding is called by GDI when it is ready to start - sending bands of a physical page to the driver for rendering. - Note: DrvStartBanding is called to prepare the driver - for banding, call only once per page (not at everyband!!) - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pptl - Pointer to origin of next band (to return to GDI) - -Return Value: - - Fill out pptl to contain the origin of the first band - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMStartBanding entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvStartBanding)(pso, - pptl); -} - -BOOL APIENTRY -OEMNextBand( - SURFOBJ *pso, - POINTL *pptl - ) - -/*++ - -Routine Description: - - Implementation of DDI hook for DrvNextBand. - - DrvNextBand is called by GDI when it has finished - drawing a band for a physical page, so the driver - can send the band to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface object - pptl - Pointer to origin of next band (to return to GDI) - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("OEMNextBand entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvNextBand)(pso, - pptl); -} - -ULONG APIENTRY -OEMEscape( - SURFOBJ *pso, - ULONG iEsc, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) - -/*++ - -Routine Description: - - Implementation of DDI entry point DrvEscape. - - DrvEscape is used for retrieving information from a device - that is not available in a device-independent device driver - interface; the particular query depends on the value of the - iEsc parameter. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Describes the surface the call is directed to - iEsc - Specifies a query - cjIn - Specifies the size in bytes of the buffer pointed to by pvIn - pvIn - Points to input data buffer - cjOut - Specifies the size in bytes of the buffer pointed to by pvOut - pvOut - Points to the output buffer - -Return Value: - - Depends on the query specified by iEsc parameter. - - Zero if the function specified by the query is not supported. - ---*/ - -{ - VERBOSE("OEMEscape entry."); - - PDEVOBJ pDevObj = (PDEVOBJ)pso->dhpdev; - POEMPDEV pOemPDEV = (POEMPDEV)pDevObj->pdevOEM; - - // Punt call back to UNIDRV. - // - return (pOemPDEV->m_pfnDrvEscape)(pso, - iEsc, - cjIn, - pvIn, - cjOut, - pvOut); -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp deleted file mode 100644 index 6196a054..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.cpp +++ /dev/null @@ -1,222 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -#include "precomp.h" - -#include "resource.h" -#include "devmode.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -HRESULT hrOEMDevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DevMode. - hrOEMDevMode is called by IPrintOemUni::DevMode - which is defined in intrface.cpp. - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - caller-supplied constant. Refer to the docs - for more information. - pOemDMParam - pointer to an OEMDMPARAM structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - ---*/ - -{ - POEMDEV pOEMDevIn; - POEMDEV pOEMDevOut; - - VERBOSE("hrOEMDevMode entry."); - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - )) - { - ERR("DevMode() ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devmode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - break; - - case OEMDM_CONVERT: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - bConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - bMakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return S_OK; -} - - -BOOL bConvertOEMDevmode( - PCOEMDEV pOEMDevIn, - POEMDEV pOEMDevOut - ) - -/*++ - -Routine Description: - - Converts private DEVMODE members to the - current version. - -Arguments: - - pOEMDevIn - pointer to OEM private devmode - pOEMDevOut - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - VERBOSE("bConvertOEMDevmode entry."); - - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR("ConvertOEMDevmode() invalid parameters.\r\n"); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE("Converting private OEM Devmode.\r\n"); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->dwDriverData = 0; - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - VERBOSE("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n"); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->dwDriverData = 0; - } - - return TRUE; -} - - -BOOL bMakeOEMDevmodeValid( - POEMDEV pOEMDevmode - ) - -/*++ - -Routine Description: - - Ensures that private OEM devmode members are valid. - -Arguments: - - pOEMDevmode - pointer to OEM private devmode - -Return Value: - - TRUE if successful, FALSE if there is an error - ---*/ - -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // Set driver data. - pOEMDevmode->dwDriverData = 0; - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h deleted file mode 100644 index 02af4909..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/devmode.h +++ /dev/null @@ -1,43 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// - -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL dwDriverData; -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL bConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL bMakeOEMDevmodeValid(POEMDEV pOEMDevmode); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp deleted file mode 100644 index 8ed3e0e7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/dllentry.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" - -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// - -// DllMain isn't called/used for kernel mode version. -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - VERBOSE("DllMain entry."); - - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE("Process attach.\r\n"); - break; - - case DLL_THREAD_ATTACH: - VERBOSE("Thread attach.\r\n"); - break; - - case DLL_PROCESS_DETACH: - VERBOSE("Process detach.\r\n"); - break; - - case DLL_THREAD_DETACH: - VERBOSE("Thread detach.\r\n"); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp deleted file mode 100644 index 8d87053f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.cpp +++ /dev/null @@ -1,1797 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// - -#include "precomp.h" -#include "resource.h" -#include "devmode.h" -#include "debug.h" -#include "oemuni.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -// ================================================================== -// Internal Globals -// -static long g_cComponents; // Count of active components -static long g_cServerLocks; // Count of locks -// -// ================================================================== - -// ================================================================== -// The purpose of this array is to inform UNIDRV of the callbacks -// that are implemented in this driver. -// -// Note that there is *NO* order dependency in this array. New -// index values and their corresponding callbacks can be placed -// anywhere within the list as needed. -// -static const DRVFN s_aOemHookFuncs[] = -{ - // The following are declared in printoem.h and defined in ddihook.cpp. - {INDEX_DrvAlphaBlend, (PFN)OEMAlphaBlend}, - {INDEX_DrvBitBlt, (PFN)OEMBitBlt}, - {INDEX_DrvCopyBits, (PFN)OEMCopyBits}, - {INDEX_DrvDitherColor, (PFN)OEMDitherColor}, - {INDEX_DrvFillPath, (PFN)OEMFillPath}, - {INDEX_DrvFontManagement, (PFN)OEMFontManagement}, - {INDEX_DrvGetGlyphMode, (PFN)OEMGetGlyphMode}, - {INDEX_DrvGradientFill, (PFN)OEMGradientFill}, - {INDEX_DrvLineTo, (PFN)OEMLineTo}, - {INDEX_DrvPaint, (PFN)OEMPaint}, - {INDEX_DrvPlgBlt, (PFN)OEMPlgBlt}, - {INDEX_DrvQueryAdvanceWidths, (PFN)OEMQueryAdvanceWidths}, - {INDEX_DrvQueryFont, (PFN)OEMQueryFont}, - {INDEX_DrvQueryFontData, (PFN)OEMQueryFontData}, - {INDEX_DrvQueryFontTree, (PFN)OEMQueryFontTree}, - {INDEX_DrvRealizeBrush, (PFN)OEMRealizeBrush}, - {INDEX_DrvStretchBlt, (PFN)OEMStretchBlt}, - {INDEX_DrvStretchBltROP, (PFN)OEMStretchBltROP}, - {INDEX_DrvStrokeAndFillPath, (PFN)OEMStrokeAndFillPath}, - {INDEX_DrvStrokePath, (PFN)OEMStrokePath}, - {INDEX_DrvTextOut, (PFN)OEMTextOut}, - {INDEX_DrvTransparentBlt, (PFN)OEMTransparentBlt}, - {INDEX_DrvStartDoc, (PFN)OEMStartDoc}, - {INDEX_DrvEndDoc, (PFN)OEMEndDoc}, - {INDEX_DrvStartPage, (PFN)OEMStartPage}, - {INDEX_DrvSendPage, (PFN)OEMSendPage}, - {INDEX_DrvStartBanding, (PFN)OEMStartBanding}, - {INDEX_DrvNextBand, (PFN)OEMNextBand}, - {INDEX_DrvEscape, (PFN)OEMEscape} -}; - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 body -// -COemUni2::COemUni2() -{ - m_cRef = 1; - - // Increment COM component count. - InterlockedIncrement(&g_cComponents); - - m_pOEMHelp = NULL; -} - -COemUni2::~COemUni2() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - -HRESULT __stdcall -COemUni2:: -QueryInterface( - const IID& iid, - void** ppv - ) -{ - VERBOSE("COemUni2::QueryInterface() entry."); - - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE("COemUni2::QueryInterface IUnknown.\r\n"); - } - else if (iid == IID_IPrintOemUni2) - { - VERBOSE("COemUni2::QueryInterface IPrintOemUni2.\r\n"); - - *ppv = static_cast<IPrintOemUni2*>(this); - } - else - { - WARNING("COemUni2::QueryInterface NULL. Returning E_NOINTERFACE.\r\n"); - - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemUni2:: -AddRef( - VOID - ) -{ - VERBOSE("COemUni2::AddRef() entry."); - - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemUni2:: -Release( - VOID - ) -{ - VERBOSE("COemUni2::Release() entry."); - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (cRef == 0) - { - delete this; - return 0; - } - return cRef; -} - -HRESULT __stdcall -COemUni2:: -CommandCallback( - PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::CommandCallback - - The IPrintOemUni::CommandCallback method is used - to provide dynamically generated printer commands - for Unidrv-supported printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwCallbackID - value representing the printer command's - *CallbackID attribute in the printer's generic printer - description (GPD) file. - dwCount - value representing the number of elements - in the array pointed to by pdwParams. Can be 0. - pdwParams - pointer to an array of DWORD-sized parameters - containing values specified by the printer commands - *Params attribute in the printer's GPD file. Can be NULL. - piResult - Receives a method-supplied result value. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::CommandCallback() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pdwParams); - - *piResult = 0; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -Compression( - PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::Compression - - The IPrintOemUni::Compression method can be used - with Unidrv-supported printers to provide a customized - bitmap compression method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pInBuf - pointer to input scan line data. - pOutBuf - pointer to an output buffer to receive - compressed scan line data. - dwInLen - length of the input data. - dwOutLen - length of the output buffer. - piResult - Receives a method-supplied result value. If the - operation succeeds, this value should be the number - of compressed bytes, which must not be larger than - the value received for dwOutLen. If an error occurs, - or if the method cannot compress, the result value - should be -1. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::Compression() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pInBuf); - UNREFERENCED_PARAMETER(pOutBuf); - UNREFERENCED_PARAMETER(dwInLen); - UNREFERENCED_PARAMETER(dwOutLen); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DevMode - - The IPrintOemUni::DevMode method, provided by - rendering plug-ins for Unidrv, performs operations - on private DEVMODE members. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DevMode method. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - caller-supplied constant. Refer to the docs - for more information. - pOemDMParam - pointer to an OEMDMPARAM structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2:DevMode entry."); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall -COemUni2:: -DisableDriver( - VOID - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisableDriver - - The IPrintOemUni::DisableDriver method allows a rendering - plug-in for Unidrv to free resources that were allocated by the - plug-in's IPrintOemUni::EnableDriver method. This is the last - IPrintOemUni interface method that is called before the rendering - plug-in is unloaded. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisableDriver method. - - Please refer to DDK documentation for more details. - -Arguments: - - VOID - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::DisableDriver() entry."); - - // Release reference to Printer Driver's interface. - // - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DisablePDEV( - PDEVOBJ pdevobj - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DisablePDEV - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DisablePDEV method. - - The IPrintOemUni::DisablePDEV method performs the same types of - operations as the DrvDisablePDEV function. Its purpose is to allow a - rendering plug-in to delete the private PDEV structure that is pointed - to by the DEVOBJ structure's pdevOEM member. This PDEV structure - is one that was allocated by the plug-in's IPrintOemUni::EnablePDEV method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::DisablePDEV() entry."); - - POEMPDEV pOemPDEV = (POEMPDEV)pdevobj->pdevOEM; - delete pOemPDEV; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -DownloadCharGlyph( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadCharGlyph - - The IPrintOemUni::DownloadCharGlyph method enables a - rendering plug-in for Unidrv to send a character glyph for - a specified soft font to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - hGlyph - glyph handle. - pdwWidth - pointer to receive the method-supplied width of the character. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the character glyph. - If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::DownloadCharGlyph() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(hGlyph); - UNREFERENCED_PARAMETER(pdwWidth); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DownloadFontHeader( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DownloadFontHeader - - The IPrintOemUni::DownloadFontHeader method allows a - rendering plug-in for Unidrv to send a font's header - information to a printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives a method-supplied value representing the amount - of printer memory, in bytes, required to store the font header - information. If the operation fails, the returned value should be zero. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::DownloadFontHeader() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -DriverDMS( - PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::DriverDMS - - The IPrintOemUni::DriverDMS method allows a rendering - plug-in for Unidrv to indicate that it uses a device-managed - drawing surface instead of the default GDI-managed surface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::DriverDMS method. - - Please refer to DDK documentation for more details. For general info - on device managed surfaces and how to handle them, please refer to - the section titled "Handling Device-Managed Surfaces". - -Arguments: - - pDevObj - pointer to a DEVOBJ structure. - pBuffer - pointer to a buffer to receive method-specified flags. - cbSize - size, in bytes, of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the required - minimum pBuffer size. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::DriverDMS() entry."); - - UNREFERENCED_PARAMETER(pDevObj); - UNREFERENCED_PARAMETER(pBuffer); - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pcbNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -EnableDriver( - DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnableDriver - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnableDriver method. - - The IPrintOemUni::EnableDriver method allows a rendering - plug-in to perform the same types of operations as the - DrvEnableDriver function. Like the DrvEnableDriver function, - the IPrintOemUni::EnableDriver method is responsible for - providing addresses of internally supported graphics DDI functions, - or DDI hook functions. - - The method should fill the supplied DRVENABLEDATA structure - and allocate an array of DRVFN structures. It should fill the - array with pointers to hooking functions, along with winddi.h-defined - index values that identify the hooked out graphics DDI functions. - - Please refer to DDK documentation for more details. - -Arguments: - - DriverVersion - interface version number. This value is - defined by PRINTER_OEMINTF_VERSION, in printoem.h. - cbSize - size, in bytes, of the structure pointed to by pded. - pded - pointer to a DRVENABLEDATA structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::EnableDriver() entry."); - - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - - // We need to return the DDI functions that have been hooked - // in pded. Here we fill out the fields in pded. - // - pded->iDriverVersion = PRINTER_OEMINTF_VERSION; - pded->c = sizeof(s_aOemHookFuncs) / sizeof(DRVFN); - pded->pdrvfn = (DRVFN *) s_aOemHookFuncs; - - // Even if nothing is done, need to return S_OK so - // that DisableDriver() will be called, which releases - // the reference to the Printer Driver's interface. - // - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::EnablePDEV - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::EnablePDEV method. - - The IPrintOemUni::EnablePDEV method performs the same types - of operations as the DrvEnablePDEV function that is exported - by a printer graphics DLL. Its purpose is to allow a rendering - plug-in to create its own PDEV structure. For more information - about PDEV structures, see "Customized PDEV Structures" in the DDK docs. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pPrinterName - pointer to a text string representing the - logical address of the printer. - cPatterns - value representing the number of HSURF-typed - surface handles contained in the buffer pointed to by - phsurfPatterns. - phsurfPatterns - pointer to a buffer that is large enough to - contain cPatterns number of HSURF-typed surface handles. - The handles represent surface fill patterns. - cjGdiInfo - value representing the size of the structure pointed - to by pGdiInfo. - pGdiInfo - pointer to a GDIINFO structure. - cjDevInfo - value representing the size of the structure pointed - to by pDevInfo. - pDevInfo - pointer to a DEVINFO structure. - pded - pointer to a DRVENABLEDATA structure containing the - addresses of the printer driver's graphics DDI hooking functions. - pDevOem - Receives a method-supplied pointer to a private PDEV structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - If the operation fails, the method should call SetLastError to set an error code. - - ---*/ - -{ - VERBOSE("COemUni2::EnablePDEV() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - UNREFERENCED_PARAMETER(pDevInfo); - UNREFERENCED_PARAMETER(pGdiInfo); - - // Allocate an instance of our private PDEV. - // - POEMPDEV pOemPDEV = new COemPDEV(); - - if (NULL == pOemPDEV) - { - return NULL; - } - - pOemPDEV->InitializeDDITable(pded); - - *pDevOem = pOemPDEV; - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -FilterGraphics( - PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::FilterGraphics - - The IPrintOemUni::FilterGraphics method can be used with - Unidrv-supported printers to modify scan line data and send - it to the spooler. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to a buffer containing scan line data to be printed. - dwLen - value representing the length, in bytes, of the data - pointed to by pBuf. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - DWORD dwResult; - - VERBOSE("COemUni2::FilterGraphics() entry."); - - m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult); - - if (dwResult == dwLen) - return S_OK; - else - return S_FALSE; -} - -HRESULT __stdcall -COemUni2:: -GetImplementedMethod( - _In_ PSTR pMethodName - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetImplementedMethod - - The IPrintOemUni::GetImplementedMethod method is used by - Unidrv to determine which IPrintOemUni interface methods - have been implemented by a rendering plug-in. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetImplemented method. - - Please refer to DDK documentation for more details. - -Arguments: - - pMethodName - pointer to a string representing the name of an - IPrintOemUni interface method, such as "ImageProcessing" - for IPrintOemUni::ImageProcessing or "FilterGraphics" for - IPrintOemUni::FilterGraphics. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - HRESULT Result = S_FALSE; - - VERBOSE("COemUni2::GetImplementedMethod() entry."); - - // Unidrv only calls GetImplementedMethod for optional - // methods. The required methods are assumed to be - // supported. - - // Return S_OK for supported function (i.e. implemented), - // and S_FALSE for functions that aren't supported (i.e. not implemented). - switch (*pMethodName) - { - case 'C': - if (!strcmp(NAME_CommandCallback, pMethodName)) - { - Result = S_OK; - } - break; - case 'F': - if (!strcmp(NAME_FilterGraphics, pMethodName)) - { - Result = S_OK; - } - break; - } - - return Result; -} - -HRESULT __stdcall -COemUni2:: -GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::GetInfo - - A rendering plug-in's IPrintOemUni::GetInfo method returns - identification information. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::GetInfo method. - - Please refer to DDK documentation for more details. - -Arguments: - - dwMode - Contains one of the following caller-supplied integer constants. - OEMGI_GETSIGNATURE - The method must return a unique four-byte - identification signature. The plug-in must also place this signature - in OPTITEM structures, as described in the description of the - OEMCUIPPARAM. structure's pOEMOptItems member. - OEMGI_GETVERSION - The method must return the user interface - plug-in's version number as a DWORD. The version format is - developer-defined. - pBuffer - pointer to memory allocated to receive the information specified - by dwInfo. - cbSize - size of the buffer pointed to by pBuffer. - pcbNeeded - pointer to a location to receive the number of bytes written - into the buffer pointed to by pBuffer. - -Return Value: - - S_OK The operation succeeded (the specified method is implemented). - S_FALSE The operation failed (the specified method is not implemented). - - ---*/ - -{ - PWSTR pszTag = L"COemUni2::GetInfo entry."; - switch(dwMode) - { - case OEMGI_GETSIGNATURE: - pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETSIGNATURE]"; - break; - case OEMGI_GETVERSION: - pszTag = L"COemUni2::GetInfo entry. [OEMGI_GETVERSION]"; - break; - - } - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) ) ) - { - WARNING("COemUni2::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n"); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - VERBOSE("COemUni2::GetInfo() exit insufficient buffer!\r\n"); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING("COemUni2::GetInfo() exit mode not supported.\r\n"); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -HalftonePattern( - PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::HalftonePattern - - The IPrintOemUni::HalftonePattern method can be used with - Unidrv-supported printers to create or modify a halftone - pattern before it is used in a halftoning operation. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pHTPattern - pointer to a buffer to receive the method-supplied - halftone pattern. Buffer size, in bytes, is: - (((dwHTPatternX * dwHTPatternY) + 3)/4) * 4 * dwHTNumPatterns. - dwHTPatternX - length, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTPatternY - height, in pixels, of the halftone pattern, as specified - by the GPD file's *HTPatternSize attribute. - dwHTNumPatterns - number of patterns, as specified by the GPD file's - *HTNumPatterns attribute. This can be 1 or 3. - dwCallbackID - value identifying the halftone method, as specified by - the GPD file's *HTCallbackID attribute. - pResource - pointer to a buffer containing a halftone pattern, as - specified by the GPD file's *rcHTPatternID attribute. This can be NULL. - dwResourceSize - size of the halftone pattern contained in the buffer - pointed to by pResource. This is zero if pResource is NULL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::HalftonePattern() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pHTPattern); - UNREFERENCED_PARAMETER(dwHTPatternX); - UNREFERENCED_PARAMETER(dwHTPatternY); - UNREFERENCED_PARAMETER(dwHTNumPatterns); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pResource); - UNREFERENCED_PARAMETER(dwResourceSize); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -ImageProcessing( - PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ImageProcessing - - The IPrintOemUni::ImageProcessing method can be used with - Unidrv-supported printers to modify image bitmap data, in order - to perform color formatting or halftoning. The method can return - the modified bitmap to Unidrv or send it directly to the print spooler. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pSrcBitmap - pointer to an input device-independent bitmap (DIB). - pBitmapInfoHeader - pointer to a BITMAPINFOHEADER structure - that describes the bitmap pointed to by pSrcBitmap. - pColorTable - pointer to a color table. Used only if the output format is - eight bits per pixel. - dwCallbackID - value assigned to the *IPCallbackID attribute of the - currently selected option for the ColorMode feature. - pIPParams - pointer to an IPPARAMS structure. - ppbResult - - If the method returns the converted DIB to Unidrv: - If the conversion succeeds, the method should return a - pointer to a buffer containing the converted DIB. - Otherwise it should return NULL. - If the method sends the converted DIB to the print spooler: - If the operation succeeds, the method should return TRUE. - Otherwise it should return FALSE. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::ImageProcessing() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pSrcBitmap); - UNREFERENCED_PARAMETER(pBitmapInfoHeader); - UNREFERENCED_PARAMETER(pColorTable); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pIPParams); - UNREFERENCED_PARAMETER(ppbResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -MemoryUsage( - PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::MemoryUsage - - The IPrintOemUni::MemoryUsage method can be used with - Unidrv-supported printers to specify the amount of memory - required for use by a rendering plug-in's IPrintOemUni::ImageProcessing - method. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pMemoryUsage - pointer to an OEMMEMORYUSAGE structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::MemoryUsage() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pMemoryUsage); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -OutputCharStr( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::OutputCharStr - - The IPrintOemUni::OutputCharStr method enables a rendering - plug-in to control the printing of font glyphs. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - dwType - value indicating the type of glyph specifier array - pointed to by pGlyph. Valid values are as follows: - TYPE_GLYPHHANDLE The pGlyph array elements are glyph - handles of type HGLYPH. - TYPE_GLYPHID The pGlyph array elements are glyph - identifiers of type DWORD. - dwCount - value representing the number of glyph specifiers in - the array pointed to by pGlyph. - pGlyph - pointer to an array of glyph specifiers, where the array - element type is indicated by dwType. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::OutputCharStr() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(dwType); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pGlyph); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -PublishDriverInterface( - IUnknown *pIUnknown - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::PublishDriverInterface - - The IPrintOemUni::PublishDriverInterface method allows a - rendering plug-in for Unidrv to obtain the Unidrv driver's - IPrintOemDriverUni interface. - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::PublishDriverInterface method and the method - must return S_OK, or the driver will not call the plug-in's other - IPrintOemUni interface methods. - - Please refer to DDK documentation for more details. - -Arguments: - - pIUnknown - pointer to the IUnknown interface of the driver's - IPrintOemDriverUni COM interface. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::PublishDriverInterface() entry."); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::ResetPDEV - - A rendering plug-in for Unidrv MUST implement the - IPrintOemUni::ResetPDEV method. - - A rendering plug-in's IPrintOemUni::ResetPDEV method performs - the same types of operations as the DrvResetPDEV function. During - the processing of an application's call to the Platform SDK ResetDC - function, the IPrintOemUni::ResetPDEV method is called by Unidrv's - DrvResetPDEV function. For more information about when DrvResetPDEV - is called, see its description in the DDK docs. - - The rendering plug-in's private PDEV structure's address is contained - in the pdevOEM member of the DEVOBJ structure pointed to by pdevobjOld. - The IPrintOemUni::ResetPDEV method should use relevant members of this - old structure to fill in the new structure, which is referenced through pdevobjNew. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobjOld - pointer to a DEVOBJ structure containing current PDEV information. - pdevobjNew - pointer to a DEVOBJ structure into which the method should place - new PDEV information. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - - ---*/ - -{ - VERBOSE("COemUni2::ResetPDEV() entry."); - - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - return S_OK; -} - -HRESULT __stdcall -COemUni2:: -SendFontCmd( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::SendFontCmd - - The IPrintOemUni::SendFontCmd method enables a rendering - plug-in to modify a printer's font selection command and then - send it to the printer. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pFInv - pointer to an FINVOCATION structure. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::SendFontCmd() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pFInv); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TextOutAsBitmap( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TextOutAsBitmap - - The IPrintOemUni::TextOutAsBitmap method allows a rendering - plug-in to create a bitmap image of a text string, in case a - downloadable font is not available. - - Please refer to DDK documentation for more details. - -Arguments: - - pso - Defines the surface on which to be written. - pstro - Defines the glyphs to be rendered and their positions - pfo - Specifies the font to be used - pco - Defines the clipping path - prclExtra - A NULL-terminated array of rectangles to be filled - prclOpaque - Specifies an opaque rectangle - pboFore - Defines the foreground brush - pboOpaque - Defines the opaque brush - pptlOrg - Pointer to POINT struct , defining th origin - mix - Specifies the foreground and background ROPs for pboFore - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::TextOutAsBitmap() entry."); - - UNREFERENCED_PARAMETER(pso); - UNREFERENCED_PARAMETER(pstro); - UNREFERENCED_PARAMETER(pfo); - UNREFERENCED_PARAMETER(pco); - UNREFERENCED_PARAMETER(prclExtra); - UNREFERENCED_PARAMETER(prclOpaque); - UNREFERENCED_PARAMETER(pboFore); - UNREFERENCED_PARAMETER(pboOpaque); - UNREFERENCED_PARAMETER(pptlOrg); - UNREFERENCED_PARAMETER(mix); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTDownloadMethod( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTDownloadMethod - - The IPrintOemUni::TTDownloadMethod method enables a rendering - plug-in to indicate the format that Unidrv should use for a specified - TrueType soft font. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pUFObj - pointer to a UNIFONTOBJ structure. - pdwResult - Receives one of the following method-supplied constant values: - TTDOWNLOAD_BITMAP Unidrv should download the specified font as bitmaps. - TTDOWNLOAD_DONTCARE Unidrv can select the font format. - TTDOWNLOAD_GRAPHICS Unidrv should print TrueType fonts as graphics, - instead of downloading the font. - TTDOWNLOAD_TTOUTLINE Unidrv should download the specified font as outlines. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::TTDownloadMethod() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -TTYGetInfo( - PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni::TTYGetInfo - - The IPrintOemUni::TTYGetInfo method enables a rendering plug-in - to supply Unidrv with information relevant to text-only printers. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - dwInfoIndex - constant identifying the type of information being requested. - The following constant values are defined: - OEMTTY_INFO_CODEPAGE - The pOutputBuf parameter points to a - DWORD in which the method should return the number of the - code page to be used. - OEMTTY_INFO_MARGINS - The pOutputBuf parameter points to a - RECT structure in which the method should return page margin - widths, in tenths of millimeters (for example, 20 represents 2 mm). - If the entire page is printable, all margin values must be 0. - OEMTTY_INFO_NUM_UFMS - The pOutputBuf parameter points to a - DWORD in which the method should return the number of resource - IDs of the UFMs for 10, 12, and 17 CPI fonts. To actually obtain - these resource IDs, perform a query using OEMTTY_INFO_UFM_IDS. - OEMTTY_INFO_UFM_IDS - The pOutputBuf parameter points to an array - of DWORDs of sufficient size to hold the number of resource IDs of - the UFMs for 10, 12, and 17 CPI fonts. (This number is obtained by - using OEMTTY_INFO_NUM_UFMS in a query.) The method should - return the resource IDs of the UFMs for 10,12, and 17 CPI fonts. - pOutputBuf - pointer to a buffer to receive the requested information. - dwSize - size, in bytes, of the buffer pointed to by pOutputBuf. - pcbcNeeded - pointer to a location to receive the number of bytes written into - the buffer pointed to by pOutputBuf. If the number of bytes required is - smaller than the number specified by dwSize, the method should supply - the required size and return E_FAIL. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::TTYGetInfo() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwInfoIndex); - UNREFERENCED_PARAMETER(pOutputBuf); - UNREFERENCED_PARAMETER(dwSize); - UNREFERENCED_PARAMETER(pcbcNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall -COemUni2:: -WritePrinter( - PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten - ) - -/*++ - -Routine Description: - - Implementation of IPrintOemUni2::WritePrinter - - The IPrintOemUni2::WritePrinter method, if supported, enables a - rendering plug-in to capture all output data generated by a Unidrv - driver. If this method is not supported, the output data would - otherwise be sent to the spooler in a call to the spooler's WritePrinter API. - - Please refer to DDK documentation for more details. - -Arguments: - - pdevobj - pointer to a DEVOBJ structure. - pBuf - pointer to the first byte of an array of bytes that contains - the output data generated by the Unidrv driver. - cbBuffer - size, in bytes, of the array pointed to by pBuf. - pcbWritten - pointer to a DWORD value that receives the number - of bytes of data that were successfully sent to the plug-in. - -Return Value: - - S_OK The operation succeeded. - E_FAIL The operation failed. - E_NOTIMPL The method is not implemented. - - ---*/ - -{ - VERBOSE("COemUni2::WritePrinter() entry."); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pBuf); - UNREFERENCED_PARAMETER(cbBuffer); - UNREFERENCED_PARAMETER(pcbWritten); - - return E_NOTIMPL; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class COemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - // - - STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef)(THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release)(THIS); - - // *** IClassFactory methods *** - // - STDMETHOD(CreateInstance)(THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer)(THIS_ BOOL bLock); - - - // Constructor - // - COemCF(): m_cRef(1) { }; - - // Destructor - // - ~COemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall -COemCF:: -QueryInterface( - const IID& iid, - void** ppv) -{ - VERBOSE("COemCF::QueryInterface entry."); - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<COemCF*>(this); - } - else - { - *ppv = NULL; - VERBOSE("COemCF::QueryInterface IID not supported.\r\n"); - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall -COemCF:: -AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall -COemCF:: -Release() -{ - assert(0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - -// IClassFactory implementation -// -HRESULT __stdcall -COemCF:: -CreateInstance( - IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - VERBOSE("Class factory:Create component."); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - // - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - // - COemUni2* pOemCP = new COemUni2; - if (pOemCP == NULL) - { - return E_OUTOFMEMORY; - } - - // Get the requested interface. - // - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - // - pOemCP->Release(); - return hr; -} - -// LockServer -// -HRESULT __stdcall -COemCF:: -LockServer( - BOOL bLock - ) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow(void) -{ - VERBOSE("DllCanUnloadNow entry."); - - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE("DllGetClassObject:\tCreate class factory."); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - // - if (clsid != CLSID_OEMRENDER) - { - ERR("DllGetClassObject:\tClass not available!\r\n"); - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - // - COemCF* pFontCF = new COemCF; // Reference count set to 1 in constructor - if (pFontCF == NULL) - { - ERR("DllGetClassObject:\tOut of Memory!\r\n"); - return E_OUTOFMEMORY; - } - - // Get requested interface. - // - HRESULT hrResult = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hrResult; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h deleted file mode 100644 index 771a42c7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/intrface.h +++ /dev/null @@ -1,283 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// - -#pragma once - -///////////////////////////////////////////////////////// -// String Literals -///////////////////////////////////////////////////////// - -CONST CHAR NAME_CommandCallback[] = "CommandCallback"; -CONST CHAR NAME_FilterGraphics[] = "FilterGraphics"; - -//////////////////////////////////////////////////////////////////////////////// -// -// COemUni2 -// -// Interface for Unidrv OEM sample rendering module -// -class COemUni2 : public IPrintOemUni2 -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for getting the implemented methods. - // Returns S_OK if the given method is implemneted. - // Returns S_FALSE if the given method is notimplemneted. - // - - STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName); - - // - // Method for OEM to specify DDIs that have been hooked - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM plugin to contruct its own PDEV - // - - STDMETHOD(EnablePDEV)(THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV)(THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV)(THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo)(THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode)(THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult); - - // - // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult); - - // - // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(FilterGraphics)(THIS_ PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen); - // - // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult); - - // - // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(HalftonePattern)(THIS_ PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize); - - // - // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(MemoryUsage)(THIS_ PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage); - - // - // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded); - - // - // OEMDownloadFontheader - UNIDRV only - // - - STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMDownloadCharGlyph - UNIDRV only - // - - STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult); - - // - // OEMTTDownloadMethod - UNIDRV only - // - - STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMOutputCharStr - UNIDRV only - // - - STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph); - - // - // OEMSendFontCmd - UNIDRV only - // - - - STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv); - - // - // OEMTextOutAsBitmap - UNIDRV only - // - - STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix); - - // - // IPrintOemUni2 methods - // - - // - // Method for plugin to hook out spooler's WritePrinter API so it - // can get access to output data Universal driver is generating - // - // At DrvEnablePDEV time, Universal driver will call this function with - // pdevobj = NULL, pBuf = NULL, cbBuffer = 0 to detect if the plugin - // implements this function. Plugin should return S_OK to indicate it is - // implementing this function, or return E_NOTIMPL otherwise. - // - // In pcbWritten, plugins should return the number of bytes written to the - // spooler's WritePrinter function. Zero doesn't carry a special meaning, - // errors must be reported through the returned HRESULT. - // - - STDMETHOD(WritePrinter)(THIS_ PDEVOBJ pdevobj, - PVOID pBuf, - DWORD cbBuffer, - PDWORD pcbWritten); - - - COemUni2(); - ~COemUni2(); - -protected: - LONG m_cRef; - IPrintOemDriverUni* m_pOEMHelp; -}; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h deleted file mode 100644 index 89396205..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precomp.h +++ /dev/null @@ -1,36 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. -// - -#pragma once - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <INITGUID.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> - -#include <PRINTOEM.H> -#include <PRCOMOEM.H> - -// This should always be included last -#include <STRSAFE.H> - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h deleted file mode 100644 index 8e941820..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/oemuni/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by OEMUNI.rc -// - - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini b/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini deleted file mode 100644 index 74fbd433..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/psuirep.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=PSUIREP.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd b/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd deleted file mode 100644 index 39f7a0e2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/syncset.gpd +++ /dev/null @@ -1,654 +0,0 @@ -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*ModelName: "OEM CUSTOM SAMPLE SYNC DATA IN UI" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 - -*PrintRate: 8 -*PrintRateUnit: PPM -*PrintRatePPM: 8 - -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l1O" - } - } -} -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: UPPER - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l1H" - } - } -} -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: Option1 - *Option: Option1 - { - *Name: "300 x 300 " =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "<1B>%%-12345X" -+ "@PJL COMMENT HP Color LaserJet 5/5M " -+ "Version 0.56<0A>" -+ "@PJL SET RESOLUTION=300<0A>" -+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: Option2 - { - *Name: "150 x 150 " =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "<1B>%%-12345X" -+ "@PJL COMMENT HP Color LaserJet 5/5M " -+ "Version 0.56<0A>" -+ "@PJL SET RESOLUTION=150<0A>" -+ "@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } -} - -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *%(9600, 12648) -*% *PrintableArea: PAIR(9600, 12648) - *PrintableArea: PAIR(9564, 12600) -*% *PrintableArea: PAIR(5000,5000) - *PrintableOrigin: PAIR(300, 300) -*% *PrintableOrigin: PAIR(300, 500) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (12648->12640) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9592, 12640) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *%5760 -- 7560 - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5760x7604Y" - } - } - *case: LANDSCAPE_CC90 - { - *%(9720, 12648) - *PrintableArea: PAIR(9760, 12688) - *PrintableOrigin: PAIR(200, 272) - *CursorOrigin: PAIR(200, 12960) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7632x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9540, 16248) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9600->9592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (16248->16240) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9592, 16240) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5760x9864Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9760, 16288) - *PrintableOrigin: PAIR(200, 272) - *CursorOrigin: PAIR(200, 16560) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t9792x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 12000) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (8100->8096) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (12000->11992) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(8096, 11992) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8200, 12080) - *PrintableOrigin: PAIR(240, 280) - *CursorOrigin: PAIR(200, 12360) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9324, 13476) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9324->9320) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (13476->13472) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9320, 13472) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9464, 13516) - *PrintableOrigin: PAIR(220, 272) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (9464->9456) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (13516->13512) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(9456, 13512) -*% Warning: the following printable origin X is adjusted (220->224) so it is divisible by the resolution X scale. - *PrintableOrigin: PAIR(224, 272) - } - } - *CursorOrigin: PAIR(200, 13788) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: A3 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(13428, 19308) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (13428->13424) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19308->19304) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(13424, 19304) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t8057x11693Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(13588, 19368) - *PrintableOrigin: PAIR(200, 240) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (13588->13584) so it is divisible by the resolution X scale. - *PrintableArea: PAIR(13584, 19368) - } - } - *CursorOrigin: PAIR(200, 19608) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l27a8c1E<1B>*p0x0Y<1B>*c0t11621x8177Y" - } - } - } - } - *Option: TABLOID - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *switch: Orientation - { - *case: PORTRAIT - { -*% *PrintableArea: PAIR(12600, 19800) - *PrintableArea: PAIR(12540, 19740) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(12592, 19792) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t7560x12000Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(12600, 19800) - *PrintableOrigin: PAIR(300, 300) - *switch: Resolution - { - *case: Option2 - { -*% Warning: the following printable width is adjusted (12600->12592) so it is divisible by the resolution X scale. -*% Warning: the following printable length is adjusted (19800->19792) so it is divisible by the resolution Y scale. - *PrintableArea: PAIR(12592, 19792) -*% Warning: the following printable origin X is adjusted (300->304) so it is divisible by the resolution X scale. -*% Warning: the following printable origin Y is adjusted (300->304) so it is divisible by the resolution Y scale. - *PrintableOrigin: PAIR(304, 304) - } - } - *CursorOrigin: PAIR(200, 20100) - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l6a8c1E<1B>*p0x0Y<1B>*c0t11880x7680Y" - } - } - } - } -} -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: STANDARD - *Option: STANDARD - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.14 - *Cmd: "<1B>&l0M" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.14 - *Cmd: "<1B>&l4M" - } - } -} -*Feature: ColorMode -{ - *rcNameID: =COLOR_PRINTING_MODE_DISPLAY - *HelpIndex: 12004 - *DefaultOption: 24bpp - *Option: 24bpp - { - *rcNameID: =24BPP_DISPLAY - *DevNumOfPlanes: 1 - *DevBPP: 24 - *DrvBPP: 24 - *Command: CmdEnableDRC { *Cmd : "<1B>*b3M" } - *PaletteSize: 256 - *PaletteProgrammable? : TRUE - *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram} -+ "I" } - *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } - *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" } - *Command: CmdSelect - { - *Order: PAGE_SETUP.16 - *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*v6W<0003080808081B>*v0a0b0c7i255a255b255c0I<1B>*" -+ "o3W<060400>" - } - } -} -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *HelpIndex: 12005 - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%------------------------------------------------------------------------- -*% Duplex -*%------------------------------------------------------------------------- -*Feature: Duplex -{ - *rcNameID: =TWO_SIDED_PRINTING_DISPLAY - *DefaultOption: NONE - *Option: NONE - { - *rcNameID: =NONE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.9 - *Cmd: "<1B>&l0S" - } - } - *Option: VERTICAL - { - *rcNameID: =FLIP_ON_LONG_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l1S" - - } - } - *Option: HORIZONTAL - { - *rcNameID: =FLIP_ON_SHORT_EDGE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.10 - *Cmd: "<1B>&l2S" - } - } -} - -*%------------------------------------------------------------------------- -*% Installable Option - Duplex Unit -*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is -*% "DuplexUnit" and the options are "TRUE" and "FALSE" -*%------------------------------------------------------------------------- -*Feature: DuplexUnit -{ - *Name: "Optional Duplex Unit" *% Duplex Unit - *HelpIndex: 12004 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *Name: "Not Installed" - *DisabledFeatures: LIST(Duplex) - } - *Option: TRUE - { - *Name: "Installed" - } -} - - -*%------------------------------------------------------------------------- -*% Installable Option - Envelope Feeder -*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is -*% "EnvFeeder" and the options are "TRUE" and "FALSE" -*%------------------------------------------------------------------------- -*Feature: EnvFeeder -{ - *Name: "Envelope Feeder" - *HelpIndex: 12000 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *Name: "Not Installed" - } - *Option: TRUE - { - *Name: "Installed" - } -} - - -*%------------------------------------------------------------------------- -*% Installable Option - PrinterHardDisk -*% IMPORTANT NOTE: The OEM extension assumes that this feature's keyname is -*% "PrinterHardDisk" and the options are "TRUE" and "FALSE" -*%------------------------------------------------------------------------- -*Feature: PrinterHardDisk -{ - *Name: "Printer Hard-Disk" *% Printer Hard-Disk - *HelpIndex: 12002 - *FeatureType: PRINTER_PROPERTY - *DefaultOption: FALSE - *Option: FALSE - { - *Name: "Not Installed" - *%*Constraints: LIST(JobRetention.Option2, JobRetention.Option4) - } - *Option: TRUE - { - *Name: "Installed" - } -} - - - -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.5 - *Cmd: "<1B>&u300D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 4) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel / 4) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 4) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d[1,12600]{max_repeat((DestYRel / 4) )}"Y" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram} -+ "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*TTFSEnabled?: TRUE -*DeviceFonts: LIST(134,135,136,137,138,139,140,146,147,148,149,150,151,152,153,154, -+ 155,156,157,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) - -*MinFontID: 16534 -*MaxFontID: 32768 -*FontFormat: HPPCL_OUTLINE -*% When the %f format is implemented we can remove the /100 part of -*% CmdSelectFontHeight and CmdSelectFontWidth -*% NOTE: MasterUnits.x is hardcoded here! -*% NOTE: THIS dividing by 200 because I want to /100 and then /2 for now. -*% The number 60000 may look strange, but it's 1200/2 * 100. -*Command: CmdSelectFontHeight { *Cmd : "<1B>(s" %d{FontHeight}"V" } -*Command: CmdSelectFontWidth { *Cmd : "<1B>(s" %f{1200 / FontWidth}"H" } -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 4) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 4) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini b/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini deleted file mode 100644 index 11e9f7b0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/syncset.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=SYNCSET.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini b/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini deleted file mode 100644 index c3c9d2c9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/themeui.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=ThemeUISmpl.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf b/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf Binary files differdeleted file mode 100644 index 6c07b2c7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uisamples.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd deleted file mode 100644 index f376bfe7..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.gpd +++ /dev/null @@ -1,559 +0,0 @@ -*GPDFileName: "uniuirep.gpd" -*GPDFileVersion: "1.0" -*GPDSpecVersion: "1.0" -*Include: "StdNames.gpd" -*ModelName: "OEM Unidrv Full UI Replacement Sample" -*MasterUnits: PAIR(1200, 1200) -*ResourceDLL: "unires.dll" -*PrinterType: PAGE -*MaxCopies: 99 -*PrintRate: 16 -*PrintRateUnit: PPM -*PrintRatePPM: 16 - -*%****************************************************************************************** -*% Orientation -*%****************************************************************************************** -*Feature: Orientation -{ - *rcNameID: =ORIENTATION_DISPLAY - *DefaultOption: PORTRAIT - *Option: PORTRAIT - { - *rcNameID: =PORTRAIT_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.6 - *Cmd: "<1B>&l0O" - } - } - *Option: LANDSCAPE_CC90 - { - *rcNameID: =LANDSCAPE_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.8 - *Cmd: "<1B>&l1O" - } - } -} - -*%****************************************************************************************** -*% Input Bin -*%****************************************************************************************** -*Feature: InputBin -{ - *rcNameID: =PAPER_SOURCE_DISPLAY - *DefaultOption: AUTO - *Option: AUTO - { - *rcNameID: =AUTO_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l0H" - } - } - *Option: UPPER - { - *rcNameID: =UPPER_TRAY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.11 - *Cmd: "<1B>&l1H" - } - } -} - -*%****************************************************************************************** -*% Resolution -*%****************************************************************************************** -*Feature: Resolution -{ - *rcNameID: =RESOLUTION_DISPLAY - *DefaultOption: 300dpi - *Option: 600dpi - { - *Name: "600 x 600" =DOTS_PER_INCH - *DPI: PAIR(600, 600) - *TextDPI: PAIR(600, 600) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED,TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R" - } - } - *Option: 300dpi - { - *Name: "300 x 300" =DOTS_PER_INCH - *DPI: PAIR(300, 300) - *TextDPI: PAIR(300, 300) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R" - } - } - *Option: 150dpi - { - *Name: "150 x 150" =DOTS_PER_INCH - *DPI: PAIR(150, 150) - *TextDPI: PAIR(150, 150) - *MinStripBlankPixels: 32 - EXTERN_GLOBAL: *StripBlanks: LIST(ENCLOSED, TRAILING) - *SpotDiameter: 100 - *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" } - *Command: CmdEndRaster { *Cmd : "<1B>*rC" } - *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" } - *Command: CmdSelect - { - *Order: DOC_SETUP.7 - *Cmd: "@PJL SET RESOLUTION=150<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t150R" - } - } -} - -*%****************************************************************************************** -*% HP-GL/2 Graphics Support -*%****************************************************************************************** -*Ifdef: WINNT_51 -*Personality: =PERSONALITY_HPGL2 -*Feature: GraphicsMode -{ - *rcNameID: =GRAPHICSMODE_DISPLAY - *DefaultOption: HPGL2MODE - *Option: HPGL2MODE - { - *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY - } - *Option: RASTERMODE - { - *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.5 - *Cmd: "@PJL SET LIMAGEENHANCE=OFF<0A>" - } - } -} -*Endif: - -*%****************************************************************************************** -*% Paper Size -*%****************************************************************************************** -*Feature: PaperSize -{ - *rcNameID: =PAPER_SIZE_DISPLAY - *DefaultOption: LETTER - *Option: LETTER - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1028 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9500, 12500) - *PrintableOrigin: PAIR(400, 400) - *CursorOrigin: PAIR(300, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t5260x7704Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9500, 12200) - *PrintableOrigin: PAIR(450, 300) - *CursorOrigin: PAIR(200, 12900) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l2a8c1E<1B>*p0x0Y<1B>*c0t7332x5880Y" - } - } - } - } - *Option: LEGAL - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 1692 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 600) - *CursorOrigin: PAIR(180, 300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t5880x8900Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9000, 15500) - *PrintableOrigin: PAIR(400, 900) - *CursorOrigin: PAIR(180, 16500) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l3a8c1E<1B>*p0x0Y<1B>*c0t8900x5880Y" - } - } - } - } - *Option: EXECUTIVE - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4109 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(8100, 11500) - *PrintableOrigin: PAIR(300, 300) - *CursorOrigin: PAIR(300, 200) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t4860x7344Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(8300, 11500) - *PrintableOrigin: PAIR(200, 300) - *CursorOrigin: PAIR(200, 12300) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l1a8c1E<1B>*p0x0Y<1B>*c0t7272x4980Y" - } - } - } - } - *Option: A4 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 4249 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(288, 180) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(9100, 13200) - *PrintableOrigin: PAIR(400, 300) - *CursorOrigin: PAIR(204, 13824) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t8129x5714Y" - } - } - } - } - *Option: B5 - { - *rcNameID: =RCID_DMPAPER_SYSTEM_NAME - *PageProtectMem: 3198 - *switch: Orientation - { - *case: PORTRAIT - { - *PrintableArea: PAIR(7900, 11140) - *PrintableOrigin: PAIR(352, 300) - *CursorOrigin: PAIR(300, 100) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t4970x7040Y" - } - } - *case: LANDSCAPE_CC90 - { - *PrintableArea: PAIR(7760, 11140) - *PrintableOrigin: PAIR(300, 400) - *CursorOrigin: PAIR(100, 11940) - *Command: CmdSelect - { - *Order: DOC_SETUP.12 - *Cmd: "<1B>&l12a8c1E<1B>*p0x0Y<1B>*c0t6780x4970Y" - } - } - } - } -} - -*%****************************************************************************************** -*% Outputbin -*%****************************************************************************************** - - -*Feature: OutputBin -{ - *rcNameID: =OUTPUTBIN_DISPLAY - *HelpIndex: 12006 - *DefaultOption: Option1 - *Option: Option1 - { - *% Auto Select - *Name: "default" - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>" - } - } - *Option: Option14 - { - *% Stacker - *Name: "stacker" *% Stacker - *Command: CmdSelect - { - *Order: DOC_SETUP.4 - *Cmd: "@PJL SET OUTBIN=OPTIONALOUTBIN2<0A>@PJL SET FINISH=NONE<0A>" - } - } -} - - -*%****************************************************************************************** -*% Media Type -*%****************************************************************************************** -*Feature: MediaType -{ - *rcNameID: =MEDIA_TYPE_DISPLAY - *DefaultOption: PLAIN - *Option: PLAIN - { - *rcNameID: =PLAIN_PAPER_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n6WdPlain" - } - } - *Option: TRANSPARENCY - { - *rcNameID: =TRANSPARENCY_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.15 - *Cmd: "<1B>&n13WdTransparency" - } - } -} - - - -*%****************************************************************************************** -*% HalfTone -*%****************************************************************************************** -*Feature: Halftone -{ - *rcNameID: =HALFTONING_DISPLAY - *DefaultOption: HT_PATSIZE_AUTO - *Option: HT_PATSIZE_AUTO - { - *rcNameID: =HT_AUTO_SELECT_DISPLAY - } - *Option: HT_PATSIZE_SUPERCELL_M - { - *rcNameID: =HT_SUPERCELL_DISPLAY - } - *Option: HT_PATSIZE_6x6_M - { - *rcNameID: =HT_DITHER6X6_DISPLAY - } - *Option: HT_PATSIZE_8x8_M - { - *rcNameID: =HT_DITHER8X8_DISPLAY - } -} - -*%****************************************************************************************** -*% Memory -*% -*% Note: Unidrv uses the font memory information to estimate when it needs to stop -*% downloading fonts for a page, and thus driver writers should err on the conservative -*% side. Otherwise, printers will generate "out of memory" device errors for pages with -*% a large number of fonts / unique glyphs. -*%****************************************************************************************** -*Feature: Memory -{ - *rcNameID: =PRINTER_MEMORY_DISPLAY - *DefaultOption: 32768KB - *Option: 16384KB - { - *Name: "16MB" - *MemoryConfigKB: PAIR(16384, 13950) - } - *Option: 32768KB - { - *Name: "32MB" - *MemoryConfigKB: PAIR(32768, 28350) - } -} - -*%****************************************************************************************** -*% Page Protect -*%****************************************************************************************** -*Feature: PageProtect -{ - *rcNameID: =PAGE_PROTECTION_DISPLAY - *DefaultOption: OFF - *Option: ON - { - *rcNameID: =ON_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=LETTER<0A>" - } - } - *Option: OFF - { - *rcNameID: =OFF_DISPLAY - *Command: CmdSelect - { - *Order: DOC_SETUP.1 - *Cmd: "<1B>%%-12345X@PJL SET PAGEPROTECT=OFF<0A>" - } - } -} - -*%****************************************************************************************** -*% Doc setup commands -*%****************************************************************************************** -*Command: CmdStartDoc -{ - *Order: DOC_SETUP.7 - *Cmd: "<1B>&u1200D<1B>*r0F" -} -*Command: CmdStartPage -{ - *Order: PAGE_SETUP.1 - *Cmd: "<1B>*b0M<0D>" -} -*Command: CmdEndJob -{ - *Order: JOB_FINISH.1 - *Cmd: "<1B>E<1B>%%-12345X@PJL<20>LPORTROTATE<0A><1B>%%-12345X" -} -*Command: CmdCopies -{ - *Order: DOC_SETUP.13 - *Cmd: "<1B>&l" %d{NumOfCopies}"X" -} - -*%****************************************************************************************** -*% Cursor, Page and Color Commands -*%****************************************************************************************** -*RotateCoordinate?: TRUE -*RotateRaster?: TRUE -*RotateFont?: TRUE -*TextCaps: LIST(TC_CR_90,TC_UA_ABLE) -*MemoryUsage: LIST(FONT, RASTER, VECTOR) -*CursorXAfterCR: AT_PRINTABLE_X_ORIGIN -*BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE) -*XMoveThreshold: 0 -*YMoveThreshold: 0 -*XMoveUnit: 300 -*YMoveUnit: 300 -*Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX) }"X" } -*Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel) )}"X" } -*Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY) }"Y" } -*Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel) }"Y" } -*Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel) }"Y" } -*Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" -+ %d{PaletteIndexToProgram} "I" } -*Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" } -*Command: CmdCR { *Cmd : "<0D>" } -*Command: CmdLF { *Cmd : "<0A>" } -*Command: CmdFF { *Cmd : "<0C>" } -*Command: CmdBackSpace { *Cmd : "<08>" } -*Command: CmdUniDirectionOn { *Cmd : "<00>" } -*Command: CmdUniDirectionOff { *Cmd : "<00>" } -*Command: CmdPushCursor { *Cmd : "<1B>&f0S" } -*Command: CmdPopCursor { *Cmd : "<1B>&f1S" } -*Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" } -*EjectPageWithFF?: TRUE -*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" } -*Command: CmdDisableCompression { *Cmd : "<1B>*b0M" } -*OutputDataFormat: H_BYTE -*OptimizeLeftBound?: TRUE -*CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN -*CursorYAfterSendBlockData: AUTO_INCREMENT - -*%****************************************************************************************** -*% Font Descriptions and Commands -*%****************************************************************************************** -*DefaultFont: 136 -*DefaultCTT: 0 -*CharPosition: BASELINE -*DeviceFonts: LIST(136,138,146,147,148,149,150,151,152,153,154,155,156,157, -+ 163,164,165,166,196,197,198,199,200,201,202,203,209,210, -+ 211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226, -+ 227,228,229,230) -*MinFontID: 16534 -*MaxFontID: 32768 -*switch: Resolution -{ - *case: 600dpi - { - *FontFormat: HPPCL_OUTLINE - } - *case: 300dpi - { - *FontFormat: HPPCL_OUTLINE - } - *case: 150dpi - { - *FontFormat: HPPCL_RES - } -} -*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" } -*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" } -*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" } -*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" } -*Command: CmdUnderlineOff { *Cmd : "<1B>&d@" } -*Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" } -*Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" } - - -*%******************************************************************************************** -*%* Vector Commands. -*%******************************************************************************************** -*MinGrayFill: 1 -*MaxGrayFill: 100 -*Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize) }"A" } -*Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize) }"B" } -*Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" } -*Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" } -*Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" } diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf Binary files differdeleted file mode 100644 index 2dba999f..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.inf +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini deleted file mode 100644 index 55701ada..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/res/uniuirep.ini +++ /dev/null @@ -1,3 +0,0 @@ -[OEMFiles] -OEMConfigFile1=UNIUIREP.DLL - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp deleted file mode 100644 index f2663bc0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.cpp +++ /dev/null @@ -1,1991 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: Features.cpp -// -// PURPOSE: Implements wrapper classes for managing the features & -// options supported by the driver. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Defines and Macros -//////////////////////////////////////////////////////// - -// -// TAG the identifies feature OPTITEM data stuct. -// -#define FEATURE_OPTITEM_TAG 'FETR' - - -//////////////////////////////////////////////////////// -// Type Definitions -//////////////////////////////////////////////////////// -// -// Struct used to identify OPTITEM as feature OPTITEM and to map back -// from an OPTITEM to the feature. -// -typedef struct _tagFeatureOptItemData -{ - DWORD dwSize; - DWORD dwTag; - PCSTR pszFeatureKeyword; - CFeature *pFeature; - -} FEATUREOPTITEMDATA, *PFEATUREOPTITEMDATA; - -// -// Mapping of feature names to keywords -// -static CONST KEYWORDMAP gkmFeatureMap[] = -{ - {"RESDLL", NULL, IDS_RESDLL, OEMCUIP_PRNPROP}, - {"InputBin", TEXT("COMPSTUI.DLL"), IDS_CPSUI_SOURCE, OEMCUIP_DOCPROP}, - {"Orientation", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ORIENTATION, OEMCUIP_DOCPROP}, - {"Resolution", TEXT("COMPSTUI.DLL"), IDS_CPSUI_RESOLUTION, OEMCUIP_DOCPROP}, - {"GraphicsMode", NULL, IDS_GRAPHICS_MODE, OEMCUIP_DOCPROP}, - {"PaperSize", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FORMNAME, OEMCUIP_DOCPROP}, - {"MediaType", TEXT("COMPSTUI.DLL"), IDS_CPSUI_MEDIA, OEMCUIP_DOCPROP}, - {"ColorMode", TEXT("COMPSTUI.DLL"), IDS_CPSUI_COLOR_APPERANCE, OEMCUIP_DOCPROP}, - {"Halftone", TEXT("COMPSTUI.DLL"), IDS_CPSUI_HALFTONE, OEMCUIP_DOCPROP}, - {"DuplexUnit", NULL, IDS_DUPLEX_UNIT, OEMCUIP_PRNPROP}, - {"Duplex", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DUPLEX, OEMCUIP_DOCPROP}, - {"Memory", NULL, IDS_INSTALLED_MEMORY, OEMCUIP_PRNPROP}, - {"OutputBin", TEXT("COMPSTUI.DLL"), IDS_CPSUI_OUTPUTBIN, OEMCUIP_DOCPROP}, - {"PageProtect", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEPROTECT, OEMCUIP_PRNPROP}, - {"%PagePerSheet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP, OEMCUIP_DOCPROP}, - {"%PageOrder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PAGEORDER, OEMCUIP_DOCPROP}, - {"%PagesPerSheetOrdering", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_DIRECTION, OEMCUIP_DOCPROP}, - {"%PagesPerSheetBorder", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_BORDER, OEMCUIP_DOCPROP}, - {"%TextAsGraphics", NULL, IDS_TEXT_ASGRX, OEMCUIP_DOCPROP}, - {"%MetafileSpooling", NULL, IDS_METAFILE_SPOOLING, OEMCUIP_DOCPROP} -}; - -// -// Number of elements in the feature map table. -// -static const NUM_FEATURE_MAP = (sizeof(gkmFeatureMap)/sizeof(gkmFeatureMap[0])); - -// -// Mapping of option names to resources. A more complete driver would parse -// this mapping from the GDL file, rather than use hard-coded mappings. -// -static CONST KEYWORDMAP gkmOptionMap[] = -{ - {"ON", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ON, 0}, - {"OFF", TEXT("COMPSTUI.DLL"), IDS_CPSUI_OFF, 0}, - {"NONE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NONE, 0}, - {"None", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NONE, 0}, - {"True", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRUE, 0}, - {"False", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FALSE, 0,}, - {"PORTRAIT", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PORTRAIT, 0}, - {"LANDSCAPE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LANDSCAPE, 0}, - {"LANDSCAPE_CC90", TEXT("COMPSTUI.DLL"), IDS_CPSUI_ROT_LAND, 0}, - {"FORMSOURCE", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FORMSOURCE, 0}, - {"UPPER", TEXT("COMPSTUI.DLL"), IDS_CPSUI_UPPER_TRAY, 0}, - {"AUTO", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PRINTFLDSETTING, 0}, - {"Auto", TEXT("COMPSTUI.DLL"), IDS_CPSUI_PRINTFLDSETTING, 0}, - {"PLAIN", TEXT("COMPSTUI.DLL"), IDS_CPSUI_STANDARD, 0}, - {"TRANSPARENCY", TEXT("COMPSTUI.DLL"), IDS_CPSUI_TRANSPARENCY, 0}, - {"HORIZONTAL", TEXT("COMPSTUI.DLL"), IDS_CPSUI_HORIZONTAL, 0}, - {"VERTICAL", TEXT("COMPSTUI.DLL"), IDS_CPSUI_VERTICAL, 0}, - {"FrontToBack", TEXT("COMPSTUI.DLL"), IDS_CPSUI_FRONTTOBACK, 0}, - {"BackToFront", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BACKTOFRONT, 0}, - {"1", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NORMAL, 0}, - {"2", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_TWOUP, 0}, - {"4", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_FOURUP, 0}, - {"6", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXUP, 0}, - {"9", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_NINEUP, 0}, - {"16", TEXT("COMPSTUI.DLL"), IDS_CPSUI_NUP_SIXTEENUP, 0}, - {"Booklet", TEXT("COMPSTUI.DLL"), IDS_CPSUI_BOOKLET, 0}, - {"RightThenDown", TEXT("COMPSTUI.DLL"), IDS_CPSUI_RIGHT_THEN_DOWN, 0}, - {"DownThenRight", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DOWN_THEN_RIGHT, 0}, - {"LeftThenDown", TEXT("COMPSTUI.DLL"), IDS_CPSUI_LEFT_THEN_DOWN, 0}, - {"DownThenLeft", TEXT("COMPSTUI.DLL"), IDS_CPSUI_DOWN_THEN_LEFT, 0}, - {"UniresDLL", NULL, IDS_UNIRESDLL, 0}, - {"600dpi", NULL, IDS_RESOLUTION_600_DPI, 0}, - {"300dpi", NULL, IDS_RESOLUTION_300_DPI, 0}, - {"150dpi", NULL, IDS_RESOLUTION_150_DPI, 0}, - {"RASTERMODE", NULL, IDS_RASTERMODE, 0}, - {"HPGL2MODE", NULL, IDS_HPGL2MODE, 0}, - {"LETTER", NULL, IDS_PAPERSIZE_LETTER, 0}, - {"LEGAL", NULL, IDS_PAPERSIZE_LEGAL, 0}, - {"EXECUTIVE", NULL, IDS_PAPERSIZE_EXECUTIVE, 0}, - {"A4", NULL, IDS_PAPERSIZE_A4, 0}, - {"B5", NULL, IDS_PAPERSIZE_B5, 0}, - {"Mono", NULL, IDS_COLORMODE_MONO, 0}, - {"Color", TEXT("COMPSTUI.DLL"), IDS_CPSUI_COLOR_APPERANCE, 0}, - {"24bpp", NULL, IDS_COLORMODE_24BPP, 0}, - {"8bpp", NULL, IDS_COLORMODE_8BPP, 0}, - {"HT_PATSIZE_AUTO", NULL, IDS_HALFTONE_AUTO, 0}, - {"HT_PATSIZE_SUPERCELL_M", NULL, IDS_HALFTONE_SUPERCELL_M, 0}, - {"HT_PATSIZE_6x6_M", NULL, IDS_HALFTONE_6x6_M, 0}, - {"HT_PATSIZE_8x8_M", NULL, IDS_HALFTONE_8x8_M, 0}, - {"Option1", NULL, IDS_OUTBIN_DEFAULT, 0}, - {"Option14", NULL, IDS_OUTBIN_STACKER, 0}, - {"EnvTray", NULL, IDS_UIREP_ENVTRAY, 0}, - {"Automatic", NULL, IDS_TTDL_DEFAULT, 0}, - {"Outline", NULL, IDS_TTDL_TYPE1, 0}, - {"Bitmap", NULL, IDS_TTDL_TYPE3, 0}, - {"NativeTrueType", NULL, IDS_TTDL_TYPE42, 0}, - {"16384KB", NULL, IDS_MEMORY_STD, 0}, - {"32768KB", NULL, IDS_MEMORY_UPGRADE, 0} -}; - -// -// Number of elements in the option map table. -// -static const NUM_OPTION_MAP = (sizeof(gkmOptionMap)/sizeof(gkmOptionMap[0])); - -// -// Fall-back mapping for any feature or option that doesn't -// have a pre-defined display name. -// -KEYWORDMAP gDefaultMapping = {"", NULL, IDS_MISSINGNAME, OEMCUIP_DOCPROP}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// COption::Acquire -// -// Synopsis: -// Load the option information as described in the mapping. -// -// -//---------------------------------------------------------------------------- -HRESULT -COption::Acquire( - HANDLE hHeap, - PCKEYWORDMAP pMapping - ) -{ - m_pMapping = pMapping; - m_hHeap = hHeap; - - return GetDisplayNameFromMapping(hHeap, m_pMapping, &m_pszDisplayName); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeaturePairs::ClearPair( -// -// Synopsis: -// Remove a feature-option pair entry from the set of feature / option -// pairs. -// -// -//---------------------------------------------------------------------------- -VOID -CFeaturePairs::ClearPair( - size_t iIndex - // Index of the feature-option pair to be removed. - ) -{ - if (m_pData[iIndex].pszFeature) - { - free((VOID*)m_pData[iIndex].pszFeature); - m_pData[iIndex].pszFeature = NULL; - } - - if (m_pData[iIndex].pszOption) - { - free((VOID*)m_pData[iIndex].pszOption); - m_pData[iIndex].pszOption = NULL; - } -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeaturePairs Constructor -// -// Synopsis: -// Create a feature-pairs object containing cElements entries, and -// initialize them all to NULL. -// -// -//---------------------------------------------------------------------------- -CFeaturePairs::CFeaturePairs( - size_t cElements - // number of elements to remove. - ) -{ - m_pData = NULL; - size_t cbFeatureOptions = 0; - m_cElements = 0; - - if (SUCCEEDED(SizeTMult(cElements, sizeof(PRINT_FEATURE_OPTION), &cbFeatureOptions))) - { - m_pData = new PRINT_FEATURE_OPTION[cElements]; - - if (m_pData) - { - m_cElements = cElements; - memset(m_pData, 0, cbFeatureOptions); - } - } -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeaturePairs destructor -// -// Synopsis: -// Release any memory used by this object -// -// -//---------------------------------------------------------------------------- -CFeaturePairs::~CFeaturePairs() -{ - if (m_pData) - { - for (size_t iPair = 0; iPair < m_cElements; iPair++) - { - ClearPair(iPair); - } - - delete m_pData; - } -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeaturePairs::SetPair -// -// Synopsis: -// Set the pair at the specified index to the specified value. Each -// pair represents a feature and a currently selected option for that -// feature. -// -// Returns: -// S_OK -// E_OUTOFMEMORY -// E_INVALIDARG if the index is out of of bounds. -// -// -//---------------------------------------------------------------------------- -HRESULT -CFeaturePairs::SetPair( - size_t iIndex, - // Index of the entry to set. - PCSTR pcszFeature, - // The name of the feature. This doesn't - // hold a pointer to the string passed in. - PCSTR pcszOption - // The name of the option. This doesn't - // hold a pointer to the string passed in. - ) -{ - - if (iIndex > m_cElements || !pcszFeature || !pcszOption) - { - return E_INVALIDARG; - } - - // - // Deferred error result from failed constructor... - // - if (!m_pData) - { - return E_OUTOFMEMORY; - } - - // - // Configure the data elements - // - m_pData[iIndex].pszFeature = new CHAR[strlen(pcszFeature)+1]; - m_pData[iIndex].pszOption = new CHAR[strlen(pcszOption)+1]; - - if (m_pData[iIndex].pszFeature && m_pData[iIndex].pszOption) - { - memcpy((PSTR)m_pData[iIndex].pszFeature, pcszFeature, (strlen(pcszFeature)+1)); - memcpy((PSTR)m_pData[iIndex].pszOption, pcszOption, (strlen(pcszOption)+1)); - return S_OK; - } - else - { - return E_OUTOFMEMORY; - } -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::Clear -// -// Synopsis: -// Reset the option collection information to it's state before otions -// were acquired. -// -// -//---------------------------------------------------------------------------- - -VOID -CFeature::Clear() -{ - if (m_pOptions != NULL) - { - delete [] m_pOptions; - m_pOptions = NULL; - } - - if (m_pszDisplayName != NULL && !IS_INTRESOURCE(m_pszDisplayName)) - { - HeapFree(m_hHeap, 0, m_pszDisplayName); - } - - m_dwOptions = 0; - m_Sel = 0; - m_pszFeature = NULL; - m_hHeap = NULL; - m_pOptions = NULL; - m_pMapping = &gDefaultMapping; - m_pszDisplayName = NULL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature (constructor) -// -// Synopsis: -// Initialize the option collection to a default state. Does -// not acquire the options from the GPD / helper. -// -// -//---------------------------------------------------------------------------- -CFeature::CFeature() : - m_dwOptions(0), - m_Sel(0), - m_pszFeature(NULL), - m_hHeap(NULL), - m_pOptions(NULL), - m_pMapping(&gDefaultMapping), - m_pszDisplayName(NULL) -{ -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature (destructor) -// -// Synopsis: -// Clean up any memory we're holding. -// -// -//---------------------------------------------------------------------------- -CFeature::~CFeature() -{ - Clear(); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::Acquire -// -// Synopsis: -// Populate the options in the collection using the -// supplied helper to acquire options for the specified -// feature. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -CFeature::Acquire( - _In_ HANDLE hHeap, - // The heap to make allocations from - _In_ IPrintCoreHelper* pHelper, - // Pointer to the Unidrv supplied helper object - _In_ PCSTR pszFeature - // The name of the feature to read settings for. - ) -{ - VERBOSE(DLLTEXT("CFeature::Acquire entry.")); - - HRESULT hrResult = S_OK; - PCSTR *ppszOptions = NULL; - - // - // Don't retreive the Options again if we already got them. - // - if ((m_dwOptions > 0) && - (m_pszFeature != NULL) && - !lstrcmpA(m_pszFeature, pszFeature)) - { - WARNING(DLLTEXT("CFeature::Acquire: Already have options for feature %hs. Returning S_OK.\r\n"), m_pszFeature); - return S_OK; - } - - // - // Save the heap handle for use later, such as freeing memory at destruction. - // - m_hHeap = hHeap; - - // - // Store Keyword string. - // - m_pszFeature = pszFeature; - - // - // Get or build a keyword mapping entry that - // maps from keyword to info such as display name & - // whether the feature is a device setting or document - // setting. - // - m_pMapping = GetKeywordMapping(gkmFeatureMap, NUM_FEATURE_MAP, pszFeature); - - // - // Get the display name for this feature - // - hrResult = GetDisplayNameFromMapping(hHeap, m_pMapping, &m_pszDisplayName); - - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeature::Acquire: Failed to get display name for feature %hs with error code 0x%x!\r\n"), - pszFeature, - hrResult); - goto Exit; - } - - // - // Enumerate Options. - // - hrResult = pHelper->EnumOptions(m_pszFeature, - &ppszOptions, - &m_dwOptions - ); - - // - // Make sure we got the option list. - // Can't do anything more with out it. - // - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeature::Acquire: Failed to enumerate options for feature %hs. (hrResult = 0x%x)\r\n"), m_pszFeature, hrResult); - goto Exit; - } - - // - // Build COption - // - m_pOptions = new COption[m_dwOptions]; - - if (m_pOptions == NULL) - { - ERR(ERRORTEXT("COption::Acquire: Failed to allocate memory for option info array!\r\n")); - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - // For each option, build and/or get useful info like display name etc. - // - for (DWORD dwIndex = 0; dwIndex < m_dwOptions; dwIndex++) - { - PCKEYWORDMAP pMapping = - GetKeywordMapping(gkmOptionMap, NUM_OPTION_MAP, ppszOptions[dwIndex]); - - // - // Get or build a keyword mapping entry that - // maps from keyword to info such as display name, - // icon, option type etc. which we can't get from - // the helper interface - // - hrResult = m_pOptions[dwIndex].Acquire(m_hHeap, - pMapping); - - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("CFeature::Acquire: Failed to load information for option %hs of feature %hs with error code 0x%x!\r\n"), - ppszOptions[dwIndex], - m_pszFeature, - hrResult); - goto Exit; - } - } - - // - // Get current option selection. - // - if(SUCCEEDED(hrResult) && m_dwOptions > 0) - { - hrResult = RefreshSelection(pHelper); - } - -Exit: - - // - // Cleanup if weren't successful - // - if (!SUCCEEDED(hrResult)) - { - Clear(); - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::GetOption -// -// Synopsis: -// Get a reference to the description of the option at the specified index. -// -// Returns: -// A pointer to the requested option if available, otherwise NULL. -// -// -//---------------------------------------------------------------------------- -CONST COption * -CFeature::GetOption( - DWORD dwIndex - // Index of the option for which the display name is requested. - ) const -{ - VERBOSE(DLLTEXT("CFeature::GetOption entry.")); - - if ((dwIndex >= m_dwOptions) || (m_pOptions == NULL)) - { - ERR(ERRORTEXT("CFeature::GetOption: Invalid parameters!\r\n")); - return NULL; - } - - return &(m_pOptions[dwIndex]); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::FindOption -// -// Synopsis: -// Find the index of the option with the specified keyword. If no such -// option exists, this routine returns the specified result instead. -// -// -//---------------------------------------------------------------------------- -_Success_(return != FALSE) BOOL -CFeature::FindOption( - _In_ PCSTR pszOption, - // The name of the option to look for - _Out_ DWORD *pdwOption - // The index of the default option to use if the name isn't found - ) const -{ - VERBOSE(DLLTEXT("CFeature::FindOption entry.")); - - BOOL bFound = FALSE; - - // - // Validate parameters - // - if (pszOption == NULL || - pdwOption == NULL) - { - return FALSE; - } - - // - // Walk the option keyword looking for a match. - // - for(DWORD dwIndex = 0; !bFound && (dwIndex < m_dwOptions); dwIndex++) - { - bFound = !lstrcmpA(pszOption, m_pOptions[dwIndex].GetKeyword()); - - if(bFound) - { - *pdwOption = dwIndex; - } - } - - return bFound; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::InitOptItem -// -// Synopsis: -// Configure the provided OPTITEM with the options in this collection. -// -// Returns: -// -// Notes: -// -// -//---------------------------------------------------------------------------- -HRESULT -CFeature::InitOptItem( - _In_ HANDLE hHeap, - // The heap to allocate memory from. - _Inout_ POPTITEM pOptItem - // The optitem struct being initialized. - ) -{ - VERBOSE(DLLTEXT("CFeature::InitOptItem entry.")); - - HRESULT hrResult = S_OK; - - // - // Add feature OPTITEM data to OPTITEM to facilitate saving - // selection changes - // - PFEATUREOPTITEMDATA pData = - (PFEATUREOPTITEMDATA)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(FEATUREOPTITEMDATA)); - - if (pData == NULL) - { - ERR(ERRORTEXT("CFeatureCollection::InitOptItem: Failed to allocated memory for feature OPTITEM data.")); - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - // Configure the callback data structure - // - pData->dwSize = sizeof(FEATUREOPTITEMDATA); - pData->dwTag = FEATURE_OPTITEM_TAG; - pData->pszFeatureKeyword = this->GetKeyword(); - pData->pFeature = this; - - // - // Configure the optitem - // - pOptItem->UserData = (ULONG_PTR)pData; - pOptItem->pName = const_cast<PWSTR>(this->GetDisplayName()); - pOptItem->Sel = m_Sel; - - // - // If there's only 1 option, mark the feature as disabled. - // - if (GetCount() > 1) - { - pOptItem->Flags = 0; - } - else - { - pOptItem->Flags |= OPTIF_DISABLED; - } - - // - // Only create options if there are options defined - // for this feature. - // - if (GetCount() > 0) - { - // - // Allocate memory for feature options. - // - pOptItem->pOptType = CreateOptType(hHeap, (WORD)GetCount()); - - if (pOptItem->pOptType == NULL) - { - ERR(ERRORTEXT("CFeature::InitOptItem: Failed to allocate OPTTYPEs for OPTITEM %hs!\r\n"), - this->GetKeyword()); - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - // Set OPTTYPE type & display string for each OPTPARAM in the ot - // - pOptItem->pOptType->Type = TVOT_COMBOBOX; - - for (DWORD dwIndex = 0; dwIndex < GetCount(); dwIndex++) - { - pOptItem->pOptType->pOptParam[dwIndex].pData = const_cast<PWSTR>(this->GetOption(dwIndex)->GetDisplayName()); - } - } - -Exit: - - return hrResult; - -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeature::RefreshSelection -// -// Synopsis: -// Synchronize the currently selected option with the option -// that Unidrvui recognizes as being selected. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -CFeature::RefreshSelection( - _In_ IPrintCoreHelper *pHelper - // Pointer to the Unidrv supplied helper object - ) -{ - VERBOSE(DLLTEXT("CFeature::RefreshSelection entry.")); - - PCSTR pszSel = NULL; - HRESULT hrResult = S_OK; - - // - // Get current option selection. - // - hrResult = pHelper->GetOption(NULL, 0, m_pszFeature, &pszSel); - - if(SUCCEEDED(hrResult)) - { - if (!FindOption(pszSel, &m_Sel)) - { - // - // The option name should always match something in the option - // array. If for some reason that's not the case, default - // back to option 0. - // - WARNING(ERRORTEXT("CFeature::RefreshSelection: Failed to find selected option!\r\n")); - m_Sel = 0; - } - } - else if(hrResult == E_FAIL) - { - // - // GetOption fails with E_FAIL when trying to read document- - // sticky options if the printer preferences is being shown. - // Hide the error & default the selection. The feature won't - // be shown in the UI. - // - m_Sel = 0; - hrResult = S_OK; - } - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection::Clear -// -// Synopsis: -// Release any memory associated with this feature collection and reset -// values to defaults. -// -// -//---------------------------------------------------------------------------- -VOID -CFeatureCollection::Clear() -{ - // - // feature info array allocated with new so - // that each of the constructors for CFeature - // will be called. - // - if (m_pFeatures) - { - delete [] m_pFeatures; - } - - // - // Re-initialize - // - m_dwFeatures = 0; - m_dwDocFeatures = 0; - m_dwPrintFeatures = 0; - m_hHeap = NULL; - m_pFeatures = NULL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection::GetModelessIndex -// -// Synopsis: -// Get the absolute index of the feature, assuming the index provided is -// for the specified mode. This if there are three features, -// -// DocFeature1 -// DocFeature2 -// PrinterFeature1 -// -// If this routine is called with index 0, and mode OEMCUIP_PRNPROP, -// it will return the absolute index of the first printer-sticky feature, -// which in this case would be 2 (remember, the first index is 0). -// -// -//---------------------------------------------------------------------------- -DWORD -CFeatureCollection::GetModelessIndex( - DWORD dwIndex, - // The index relative to the specified mode. - DWORD dwMode - // The mode for which the index applies. See synopsis above for - // a more detailed explanation of mode. - ) const -{ - DWORD dwCount = 0; - - switch(dwMode) - { - // - // Number of features, all modes - // - case 0: - dwCount = dwIndex; - break; - - case OEMCUIP_DOCPROP: - case OEMCUIP_PRNPROP: - // - // Walk the feature list looking for the nth feature - // with matching mode - // - for (dwCount = 0; dwCount < m_dwFeatures; dwCount++) - { - // - // Count down to the feature we want - // Only countdown for matching modes - // - if (dwMode == m_pFeatures[dwCount].GetMode()) - { - if (dwIndex == 0) - { - break; - } - else - { - --dwIndex; - } - } - } - break; - } - - return dwCount; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection (constructor) -// -// Synopsis: -// -// -//---------------------------------------------------------------------------- -CFeatureCollection::CFeatureCollection() : - m_dwFeatures(0), - m_dwDocFeatures(0), - m_dwPrintFeatures(0), - m_hHeap(NULL), - m_pFeatures(NULL) -{ -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection (destructor) -// -// Synopsis: -// Release all resources held by this object -// -// -//---------------------------------------------------------------------------- -CFeatureCollection::~CFeatureCollection() -{ - // - // Clean up class. - // - Clear(); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection::Acquire -// -// Synopsis: -// Load all of the features supported by unidrv as well as those specified -// in the GPD using the provided helper object -// -// Returns: -// S_OK on success else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -CFeatureCollection::Acquire( - HANDLE hHeap, - // The heap from which any allocations should be made - IPrintCoreHelper *pHelper - // The helper object that provides access to the core driver features. - ) -{ - VERBOSE(DLLTEXT("CFeatureCollection::Acquire entry.")); - - HRESULT hrResult = S_OK; - - PCSTR *ppszKeywords = NULL; - // String list that points to each feature keyword - - // - // Don't retreive the Features again if we already got them. - // - if (m_dwFeatures > 0) - { - WARNING(DLLTEXT("CFeatureCollection::Acquire: Features have already been enumerated. Returning S_OK.\r\n")); - return S_OK; - } - - // Save the heap handle for use later, such as freeing memory at destruction. - m_hHeap = hHeap; - - // Enumerate features. - hrResult = pHelper->EnumFeatures(&ppszKeywords, &m_dwFeatures); - - if (FAILED(hrResult)) - { - ERR(ERRORTEXT("CFeatureCollection::Acquire() failed to enumerate features. (hrResult = 0x%x)\r\n"), hrResult); - } - else - { - // - // Build Feature information - // - m_pFeatures = new CFeature[m_dwFeatures]; - - if (m_pFeatures == NULL) - { - ERR(ERRORTEXT("CFeatureCollection::Acquire: Failed to allocate feature info array!\r\n")); - hrResult = E_OUTOFMEMORY; - } - - // - // For each feature, build/get feature info - // - for (DWORD dwIndex = 0; SUCCEEDED(hrResult) && dwIndex < m_dwFeatures ; dwIndex++) - { - // - // Get options for each feature - // Note: Some features don't have options, the HRESULT will be E_NOTIMPL for these - // - hrResult = m_pFeatures[dwIndex].Acquire(hHeap, - pHelper, - ppszKeywords[dwIndex]); - - if (!SUCCEEDED(hrResult) && (hrResult != E_NOTIMPL)) - { - ERR(ERRORTEXT("CFeatureCollection::Acquire: Failed to get options for feature %hs with error code 0x%x!\r\n"), - ppszKeywords[dwIndex], - hrResult); - } - - // - // Keep track of mode counts - // - if (SUCCEEDED(hrResult)) - { - switch(m_pFeatures[dwIndex].GetMode()) - { - case OEMCUIP_DOCPROP: - ++m_dwDocFeatures; - break; - - case OEMCUIP_PRNPROP: - ++m_dwPrintFeatures; - break; - - default: - ERR(ERRORTEXT("CFeatureCollection::Acquire: Unknown stickiness for feature %hs!\r\n"), - ppszKeywords[dwIndex]); - break; - } - } - } - } - - // - // Clean up if we weren't successful - // - if (FAILED(hrResult)) - { - Clear(); - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection::GetCount -// -// Synopsis: -// Get the number of features in the collection. -// -// -//---------------------------------------------------------------------------- -DWORD -CFeatureCollection::GetCount( - DWORD dwMode - // Should this routine count the doc-sticky features, printer sticky - // features, or both? - ) CONST -{ - DWORD dwCount = 0; - - switch(dwMode) - { - case 0: - dwCount = m_dwFeatures; - break; - - case OEMCUIP_DOCPROP: - dwCount = m_dwDocFeatures; - break; - - case OEMCUIP_PRNPROP: - dwCount = m_dwPrintFeatures; - break; - } - - return dwCount; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// CFeatureCollection::GetFeature -// -// Synopsis: -// Get the options for the feature at the specified index. -// -// -//---------------------------------------------------------------------------- -CFeature* -CFeatureCollection::GetFeature( - DWORD dwIndex, - // The index of the feature to look up. - DWORD dwMode - // The mode associated with the feature index. - ) const -{ - // - // Validate parameters - // - if ((dwIndex >= GetCount(dwMode)) || (m_pFeatures == NULL)) - { - return NULL; - } - - // - // Get internal index - // - dwIndex = GetModelessIndex(dwIndex, dwMode); - - // - // Return options pointer - // - return &(m_pFeatures[dwIndex]); -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::GetDisplayNameFromMapping -// -// Synopsis: -// Load the string resource associated with the specified mapping entry. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -GetDisplayNameFromMapping( - _In_ HANDLE hHeap, - // The heap to perform allocations from - _In_ PCKEYWORDMAP pMapping, - // The mapping element for the element. Could be a feature or option. - _Out_ PWSTR *ppszDisplayName - // The location where this routine supplies the display name to the - // caller. - ) -{ - HMODULE hModule = NULL; - HRESULT hrResult = S_OK; - - VERBOSE(DLLTEXT("GetDisplayNameFromMapping entry.")); - - if ((hHeap == NULL) || (pMapping == NULL) || (ppszDisplayName == NULL)) - { - return E_INVALIDARG; - } - - // - // Check for simple case of returning INT resource - // - if (pMapping->pwszModule == NULL) - { - // - // Just need to do MAKEINTRESOURCE on the resource ID and return - // - *ppszDisplayName = MAKEINTRESOURCE(pMapping->uDisplayNameID); - } - else - { - // - // We need to get the module name if we aren't loading the - // resource from this module (pwszModule != NULL). As an - // optimization, we assume that the module has already been loaded, - // since the only cases currently are this module, driver ui and compstui.dll. - // - hModule = GetModuleHandle(pMapping->pwszModule); - - if (hModule == NULL) - { - DWORD dwError = GetLastError(); - - ERR(ERRORTEXT("GetDisplayNameFromMapping: Failed to load module %s with error code %d!\r\n"), - pMapping->pwszModule, - dwError); - - hrResult = HRESULT_FROM_WIN32(dwError); - - // - // In case last error wasn't set correctly, force it to an error value. - // - if (SUCCEEDED(hrResult)) - { - hrResult = E_FAIL; - } - } - - // - // Get the string resource - // - if (SUCCEEDED(hrResult)) - { - hrResult = GetStringResource(hHeap, hModule, pMapping->uDisplayNameID, ppszDisplayName); - if (FAILED(hrResult)) - { - ERR(ERRORTEXT("GetDisplayNameFromMapping: Failed to load string with error code 0x%x!\r\n"), hrResult); - } - } - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// ::GetKeywordMapping -// -// Synopsis: -// Find the mapping in the provided table associated with the specified -// keyword. This routine can be used to look up both feature & option -// mappings. -// -// Returns: -// The requested mapping on success, otherwise NULL. -// -// -//---------------------------------------------------------------------------- -PCKEYWORDMAP -GetKeywordMapping( - _In_reads_(dwMapSize) PCKEYWORDMAP pKeywordMap, - // The mapping table to search in - DWORD dwMapSize, - // Number of elements in the mapping table. - PCSTR pszKeyword - // Keyword to look for in the table. - ) -{ - BOOL bFound = FALSE; - PCKEYWORDMAP pMapping = &gDefaultMapping; - - if ((pKeywordMap != NULL) && (pszKeyword != NULL)) - { - // - // Walk mapping array for matching keyword - // - for (DWORD dwIndex = 0; !bFound && (dwIndex < dwMapSize); dwIndex++) - { - bFound = !lstrcmpA(pszKeyword, pKeywordMap[dwIndex].pszKeyword); - - if (bFound) - { - pMapping = pKeywordMap + dwIndex; - } - } - } - - return pMapping; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// ::IsFeatureOptItem -// -// Synopsis: -// Test if an OPTITEM is an OPTITEM for a feature. -// -// Returns: -// TRUE if the OPTITEM represents a feature, else FALSE. -// -// -//---------------------------------------------------------------------------- -BOOL -IsFeatureOptItem( - POPTITEM pOptItem - // The otitem to check - ) -{ - BOOL bRet = FALSE; - PFEATUREOPTITEMDATA pData = NULL; - - - // Make sure pointers are NULL. - if( (NULL == pOptItem) - || - (NULL == pOptItem->UserData) - ) - { - // - // INVARIANT: can't be feature OPTITEM, since one of - // the necessary pointer are NULL. - // - - return FALSE; - } - - // For convienience, assign to pointer to feature OPTITEM data. - pData = (PFEATUREOPTITEMDATA)(pOptItem->UserData); - - // Check size and tag. - bRet = (sizeof(FEATUREOPTITEMDATA) == pData->dwSize) - && - (FEATURE_OPTITEM_TAG == pData->dwTag); - - return bRet; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::SaveFeatureOptItems -// -// Synopsis: -// Walks array of OPTITEMs saving each feature OPTITEM -// that has changed. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -SaveFeatureOptItems( - HANDLE hHeap, - // The heap to perform allocations from - IPrintCoreHelper* pHelper, - // Pointer to the Unidrv supplied helper object - HWND hWnd, - // The current window object. Used as the parent of any model dialogs / - // message boxes displayed from this routine. - _In_reads_(dwItems) POPTITEM pOptItem, - // The option items to save - DWORD dwItems - // The number of optitems in the array - ) -{ - VERBOSE(DLLTEXT("SaveFeatureOptItems entry.")); - - DWORD dwPairsWritten = 0; - DWORD dwResult = 0; - HRESULT hrResult = S_OK; - CFeaturePairs *pPairs = NULL; - - // - // Validate parameters - // - if (!(hHeap && pHelper && pOptItem)) - { - ERR(ERRORTEXT("SaveFeatureOptItems: Invalid arguments!\r\n")); - return E_INVALIDARG; - } - - // - // Get feature option pairs to save - // - hrResult = GetChangedFeatureOptions(pOptItem, dwItems, &pPairs); - - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems: Failed to get changed feature option pairs! (error code 0x%x)\r\n"), - hrResult); - } - - // - // Only update options if something changed. - // - if (SUCCEEDED(hrResult) && - pPairs && - pPairs->GetElementCount() > 0) - { - - // - // Set the change feature options. - // For the first SetOptions() call, don't have the - // core driver UI resolve conflicts, so we can - // prompt user for automatic resolution or let - // them do the conflict resolving. - // - hrResult = pHelper->SetOptions(NULL, - 0, - FALSE, - pPairs->GetData(), - (DWORD)pPairs->GetElementCount(), - &dwPairsWritten, - &dwResult); - - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems: SetOptions failed with dwResult = %d! (hrResult = 0x%x)\r\n"), - dwResult, - hrResult); - } - else if(SETOPTIONS_RESULT_CONFLICT_REMAINED == dwResult) - { - // - // SetOptions succeeded, but there was a conflict in the selected - // options that was not resolved. Ask the user if they'd like the - // plug-in to resolve the conflict for them. - // - int nRet; - CONST PRINT_FEATURE_OPTION *pConflicts; - DWORD dwConflicts; - PWSTR pszMessage = NULL; - - hrResult = GetStringResource(hHeap, ghInstance, IDS_CONSTRAINT_CONFLICT, &pszMessage); - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("SaveFeatureOptItems: Failed to load conflict resource string (error code 0x%x)\r\n"), - hrResult); - } - - // - // INVARIANT: constraint conflict, options weren't saved. - // - // Get list of all features that have conflict. - // - if (SUCCEEDED(hrResult)) - { - hrResult = GetFirstConflictingFeature(pHelper, - pOptItem, - dwItems, - &pConflicts, - &dwConflicts); - - if (SUCCEEDED(hrResult) && dwConflicts == 0) - { - hrResult = E_FAIL; - ERR(ERRORTEXT("SaveFeatureOptItems: Driver indicated conflict, but didn't provide conflicting options!\r\n")); - } - - if(FAILED(hrResult)) - { - ERR(ERRORTEXT("GetFirstConflictingFeature failed!")); - } - } - - if (SUCCEEDED(hrResult)) - { - // - // Display simple message box with prompt - // - nRet = MessageBox(hWnd, - pszMessage, - L"UI Replacement Test", - MB_YESNO | MB_ICONWARNING); - - // - // Check to see how user wants to resolve conflict - // - if(nRet == IDYES) - { - // - // Let core driver resolve conflict resolution - // - hrResult = pHelper->SetOptions(NULL, - 0, - TRUE, - pPairs->GetData(), - (DWORD)pPairs->GetElementCount(), - &dwPairsWritten, - &dwResult); - - // - // Conflict resolution requires refreshing current option - // selection for each feature, since selection may have - // changed because of conflict resolution. - // - if (SUCCEEDED(hrResult)) - { - RefreshOptItemSelection(pHelper, pOptItem, dwItems); - } - } - - // - // Return failure if there are still conflicts - // - if(dwResult == SETOPTIONS_RESULT_CONFLICT_REMAINED) - { - ERR(ERRORTEXT("SaveFeatureOptItems: Conflicts still exist even after calling core driver to resolve them!")); - hrResult = E_FAIL; - } - } - - if(pszMessage != NULL) - { - HeapFree(hHeap, 0, pszMessage); - } - } - } - - // - // Clean up - // - - if (pPairs) - { - delete pPairs; - } - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// GetChangedFeatureOptions -// -// Synopsis: -// Creates a collection of all of the features that have changed in the -// provided collection of OPTITEMs -// -// Returns: -// S_OK on success, else E_*. -// -// Notes: -// if no settings have been changed, the routine may return S_OK -// and *ppPairs == NULL. -// -// -//---------------------------------------------------------------------------- -HRESULT -GetChangedFeatureOptions( - _In_reads_(dwItems) POPTITEM pOptItem, - // The array of optitems to search through - DWORD dwItems, - // The number of optitems in the provided array - _Outptr_result_maybenull_ CFeaturePairs **ppPairs - // feature / option keyword pairs describing the options that - // have changed. - ) -{ - VERBOSE(DLLTEXT("GetChangedFeatureOptions entry.")); - - DWORD dwCount = 0; - DWORD dwChanged = 0; - HRESULT hrResult = S_OK; - CFeaturePairs *pPairs; - - *ppPairs = NULL; - - // - // Walk OPTITEM array looking or changed options, - // and calculating size needed for multi-sz buffer. - // - for (dwCount = 0; dwCount < dwItems; dwCount++) - { - // - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM - // - if ((OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) && - IsFeatureOptItem(&(pOptItem[dwCount])) - ) - { - ++dwChanged; - } - } - - // - // Don't need to do anything more if no feature options changed. - // - if(dwChanged != 0) - { - pPairs = new CFeaturePairs(dwChanged); - - if (pPairs == NULL || - pPairs->GetElementCount() == 0 - ) - { - ERR(ERRORTEXT("GetChangedFeatureOptions: Failed to allocate feature-option array!\r\n")); - hrResult = E_OUTOFMEMORY; - - if ( pPairs ) - { - delete pPairs; - pPairs = NULL; - } - - } - - // - // Build array of feature option pairs that changed - // - for (dwCount = 0; - SUCCEEDED(hrResult) && (dwCount < dwItems) && dwChanged; - dwCount++) - { - // - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM - // - if((OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) && - IsFeatureOptItem(&(pOptItem[dwCount])) - ) - { - // - // For convienience, assign to pointer to feature OPTITEM data - // - PFEATUREOPTITEMDATA pData = (PFEATUREOPTITEMDATA)(pOptItem[dwCount].UserData); - - // - // Add feature option pair - // - PCSTR pszOption = GetOptionKeywordFromOptItem(&pOptItem[dwCount]); - - if (pszOption != NULL) - { - --dwChanged; - hrResult = pPairs->SetPair(dwChanged, pData->pszFeatureKeyword, pszOption); - } - } - } - - if(SUCCEEDED(hrResult)) - { - *ppPairs = pPairs; - } - else if (pPairs) - { - delete pPairs; - } - } - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::GetOptionKeywordFromOptItem -// -// Synopsis: -// Returns pointer to option keyword for a feature OPTITEM -// -// Returns: -// The requested string on success, otherwise NULL -// -// -//---------------------------------------------------------------------------- -PCSTR -GetOptionKeywordFromOptItem( - POPTITEM pOptItem - // The opt item from which the keyword shoudl be read - ) -{ - VERBOSE(DLLTEXT("GetOptionKeywordFromOptItem entry.")); - - PCSTR pszOption = NULL; - - // - // Validate parameters - // - if(!IsFeatureOptItem(pOptItem)) - { - ERR(ERRORTEXT("GetOptionKeywordFromOptItem: Invalid parameter!\r\n")); - } - else if(pOptItem->pOptType->Type != TVOT_COMBOBOX) - { - ERR(ERRORTEXT("GetOptionKeywordFromOptItem: OPTTYPE type %d number of OPTPARAMS not handled!\r\n"), - pOptItem->pOptType->Type); - } - else - { - // - // Option selection is based on type of OPTTYPE - // - PFEATUREOPTITEMDATA pData = ((PFEATUREOPTITEMDATA)(pOptItem->UserData)); - CONST COption *pOption = pData->pFeature->GetOption((DWORD)pOptItem->Sel); - - if (pOption) - { - pszOption = pOption->GetKeyword(); - } - else - { - ERR(ERRORTEXT("GetOptionKeywordFromOptItem: Invalid option index %d!\r\n"), (DWORD)pOptItem->Sel); - } - } - - return pszOption; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::RefreshOptItemSelection -// -// Synopsis: -// For each feature update the currently selected option with the value -// that the core driver has selected. This is useful for updating the -// UI after resolving constraints. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -RefreshOptItemSelection( - IPrintCoreHelper *pHelper, - // Pointer to the Unidrv supplied helper object - _In_reads_(dwItems) POPTITEM pOptItems, - // An array of options to update - DWORD dwItems - // The number of options in the provided array - ) -{ - HRESULT hrResult = S_OK; - PFEATUREOPTITEMDATA pData = NULL; - - // - // Walk OPTITEM array refreshing feature OPTITEMs - // - for (DWORD dwCount = 0; dwCount < dwItems; dwCount++) - { - // - // Just go to next item if this OPTITEM isn't a feature OPTITEM - // - if (!IsFeatureOptItem(pOptItems + dwCount)) - { - continue; - } - - // - // For convienience, assign to pointer to feature OPTITEM data - // - pData = (PFEATUREOPTITEMDATA)(pOptItems[dwCount].UserData); - - // - // Refresh COption selection - // - pData->pFeature->RefreshSelection(pHelper); - - // - // Assign COption selection to OPTITEM selection - // - pOptItems[dwCount].Sel = pData->pFeature->GetSelection(); - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// ::GetFirstConflictingFeature -// -// Synopsis: -// Finds the first features that it finds to be in conflict with one -// another and supplies those features in the ppConstraints parameter -// -// Returns: -// S_OK on success, else E_*. Note that this routine can succeed even -// if no features are in conflict. In that case, *ppConstraints will -// be NULL. -// -// -//---------------------------------------------------------------------------- -HRESULT -GetFirstConflictingFeature( - IPrintCoreHelper *pHelper, - // Pointer to the Unidrv supplied helper object - _In_reads_(dwItems) POPTITEM pOptItem, - // The array of options to look for a conflict in - DWORD dwItems, - // The number of options in the array - CONST PRINT_FEATURE_OPTION **ppConstraints, - // If any constraints are found, supplies pairs of - // feature / option keywords to the caller indicating - // which options cannot be used together. - DWORD *pdwConstraints - // The number of constrained options - ) -{ - VERBOSE(DLLTEXT("GetFirstConflictingFeature entry.")); - - DWORD dwCount = 0; - HRESULT hrResult = S_OK; - PCSTR pszOptionKeyword = NULL; - - *ppConstraints = NULL; - - // - // Walk OPTITEM array looking for changed options that are in conflict - // - for (dwCount = 0; dwCount < dwItems; dwCount++) - { - // - // Just go to next item if this OPTITEM hasn't - // changed or isn't a feature OPTITEM - // - if(!(OPTIF_CHANGEONCE & pOptItem[dwCount].Flags) || - !IsFeatureOptItem(&(pOptItem[dwCount])) - ) - { - continue; - } - - PFEATUREOPTITEMDATA pData = (PFEATUREOPTITEMDATA)(pOptItem[dwCount].UserData); - - // - // Init conflict record if this feature is in conflict - // - pszOptionKeyword = GetOptionKeywordFromOptItem(&pOptItem[dwCount]); - - if (pszOptionKeyword != NULL) - { - // - // Get reason for conflict - // - hrResult = pHelper->WhyConstrained(NULL, - 0, - pData->pszFeatureKeyword, - pszOptionKeyword, - ppConstraints, - pdwConstraints); - - if (FAILED(hrResult)) - { - ERR(ERRORTEXT("GetConflictingFeatures: Failed to get reason for feature %hs option %hs constraint! (hrResult = 0x%x)\r\n"), - pData->pszFeatureKeyword, - pszOptionKeyword, - hrResult); - break; - } - - if (*pdwConstraints > 0) - { - break; - } - } - } - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// CreateOptType -// -// Synopsis: -// Allocates and initializes OptType for OptItem & OPTPARAMs for the -// options under that struct. -// -// Returns: -// A newly allocated POPTYPE from the specified heap on success, else -// NULL. -// -// -//---------------------------------------------------------------------------- -POPTTYPE -CreateOptType( - HANDLE hHeap, - // heap to allocate the type from. - WORD wOptParams - // The number of options available for this feature. - ) -{ - VERBOSE(DLLTEXT("CreateOptType entry.")); - - POPTTYPE pOptType = NULL; - // out parameter containing the allocated type struct & array of options. - - // - // Allocate memory from the heap for the OPTTYPE; the driver will take - // care of clean up. - // - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, - HEAP_ZERO_MEMORY, - wOptParams * sizeof(OPTPARAM)); - - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - // Free allocated memory and return NULL. - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(ERRORTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::GetStringResource -// -// Synopsis: -// Load a string from the resource section of hte specied module. -// -// Returns: -// S_OK on failure, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT -GetStringResource( - _In_ HANDLE hHeap, - // Heap to allocate space for the resource from. - _In_ HMODULE hModule, - // Module to load the resource from - UINT uResource, - // resource ID - _Out_ PWSTR *ppszString - // out pointer to string resource loaded. - ) -{ - VERBOSE(DLLTEXT("GetStringResource entry.")); - - HRESULT hr = S_OK; - - // - // Allocate buffer for string resource from heap; - // let the driver clean it up. - // - *ppszString = NULL; - *ppszString = (PTSTR) HeapAlloc(hHeap, - HEAP_ZERO_MEMORY, - MAX_PATH * sizeof(TCHAR)); - - if(NULL != *ppszString) - { - // - // Load string resource; resize after loading so - // as not to waste memory. - // - INT nResult = LoadString(hModule, - uResource, - *ppszString, - MAX_PATH); - - if( nResult > 0) - { - PWSTR pszTemp = (PWSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, *ppszString, (nResult + 1) * sizeof(WCHAR)); - - if (NULL != pszTemp) - { - *ppszString = pszTemp; - } - else - { - // - // a realloc failure doesn't free the original string, so - // re-alloc failing in this case is not critical. - // - VERBOSE(ERRORTEXT("GetStringResource() HeapReAlloc() of string retrieved failed! (Last Error was %d)\r\n"), GetLastError()); - } - } - else - { - ERR(ERRORTEXT("LoadString() returned %d! (Last Error was %d)\r\n"), nResult, GetLastError()); - ERR(ERRORTEXT("GetStringResource() failed to load string resource %d!\r\n"), uResource); - HeapFree(hHeap, 0, *ppszString); - *ppszString = NULL; - hr = E_FAIL; - } - } - else - { - ERR(ERRORTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - hr = E_OUTOFMEMORY; - } - - return hr; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h deleted file mode 100644 index adab6eec..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/Features.h +++ /dev/null @@ -1,388 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: Features.h -// -// PURPOSE: Defines wrapper class for WinXP PS Features and Options. -// -//-------------------------------------------------------------------------- - -#pragma once - -//////////////////////////////////////////////////////// -// Type Definitions -//////////////////////////////////////////////////////// - -// -// Struct used to map keyword to information -// such as display name and stickiness. -// -typedef struct _tagKeywordMap -{ - PCSTR pszKeyword; - PCWSTR pwszModule; - UINT uDisplayNameID; - DWORD dwMode; - -} KEYWORDMAP, *PKEYWORDMAP; - -typedef CONST KEYWORDMAP *PCKEYWORDMAP; - - -//////////////////////////////////////////////////////// -// Class Definitions -//////////////////////////////////////////////////////// - - -// -// Option Infomation -// -class COption -{ -private: - PCKEYWORDMAP m_pMapping; - PWSTR m_pszDisplayName; - HANDLE m_hHeap; - -public: - COption() - : - m_pMapping(NULL), - m_pszDisplayName(NULL), - m_hHeap(NULL) - { - } - - virtual ~COption() - { - if (m_hHeap && m_pszDisplayName && !IS_INTRESOURCE(m_pszDisplayName)) - { - HeapFree(m_hHeap, 0, m_pszDisplayName); - } - } - - HRESULT - Acquire( - HANDLE hHeap, - PCKEYWORDMAP pMapping - ); - - CONST PCWSTR - GetDisplayName() CONST - { - return m_pszDisplayName; - } - - CONST PCSTR - GetKeyword() CONST - { - if (m_pMapping) - { - return m_pMapping->pszKeyword; - } - else - { - return NULL; - } - } -}; - - -// -// Class wrapper and container for Core Driver Feature -// Options. -// -class CFeature -{ -private: - - PCKEYWORDMAP m_pMapping; - - PWSTR m_pszDisplayName; - - DWORD m_dwOptions; - // Count of the number of options contained for an instance of the class. - - PCSTR m_pszFeature; - // Pointer to the feature for which the enumerated options belong. - - HANDLE m_hHeap; - // Heap to do allocations from. - - COption *m_pOptions; - // Array of info about each option for a feature - - DWORD m_Sel; - // An optitem selection is indicated either with a pointer or an - // index. Since combo-boxes use indices, and this custom UI only - // generates combo boxes, this class always uses an index to - // indicate the current selection. - -public: - - CFeature(); - - virtual ~CFeature(); - - // - // Populate Options list for specified keyword. - // - HRESULT - Acquire( - _In_ HANDLE hHeap, - _In_ IPrintCoreHelper* pHelper, - _In_ PCSTR pszFeature - ); - - // - // Returns number of feature options contained in class instance. - // - DWORD - GetCount() const {return m_dwOptions;} - - // - // Return nth option. - // - CONST COption * - GetOption( - DWORD dwIndex - ) const; - - - // - // Get the currently selected option index. - // - LONG - GetSelection() - { - return m_Sel; - } - - // - // Find option with matching keyword string. - // - _Success_(return != FALSE) BOOL - FindOption( - _In_ PCSTR pszOption, - _Out_ DWORD *pdwOption - ) const; - - // - // Initializes options portion of OPTITEM. - // - HRESULT - InitOptItem( - _In_ HANDLE hHeap, - _Inout_ POPTITEM pOptItem - ); - - // - // Refresh option selection. - // - HRESULT - RefreshSelection( - _In_ IPrintCoreHelper* pHelper - ); - - CONST PCWSTR - GetDisplayName() - { - return m_pszDisplayName; - } - - CONST PCSTR - GetKeyword() - { - return m_pszFeature; - } - - DWORD - GetMode() - { - return m_pMapping->dwMode; - } - -private: - - VOID - Clear(); -}; - - -// -// Class wrapper and container for Core Driver Features. -// -class CFeatureCollection -{ -private: - - DWORD m_dwFeatures; - // Count of the number of features. - - DWORD m_dwDocFeatures; - // Count of the number of document sticky features - - DWORD m_dwPrintFeatures; - // Count of the number of printer sticky features. - - HANDLE m_hHeap; - // Heap to do allocations from. - - CFeature *m_pFeatures; - // Array of feature information about each of the enumerate features. - -public: - - CFeatureCollection(); - virtual ~CFeatureCollection(); - - // - // Populates the Feature list - // - HRESULT Acquire( - HANDLE hHeap, - IPrintCoreHelper* pHelper - ); - - // - // Returns number of features contained in class instance. - // - DWORD GetCount( - DWORD dwMode = 0 - ) const; - - // Returns pointer to option class for nth feature. - // - CFeature* GetFeature( - DWORD wIndex, - DWORD dwMode = 0 - ) const; - -private: - - VOID Clear(); - - DWORD GetModelessIndex( - DWORD dwIndex, - DWORD dwMode - ) const; -}; - - -class CFeaturePairs -{ -private: - - PRINT_FEATURE_OPTION * m_pData; - size_t m_cElements; - - VOID - ClearPair( - size_t iIndex - ); - -public: - - CFeaturePairs(size_t cElements); - - ~CFeaturePairs(); - - HRESULT - SetPair( - size_t iIndex, - PCSTR pcszFeature, - PCSTR pcszOption - ); - - PRINT_FEATURE_OPTION * - GetData() - { - return m_pData; - } - - size_t - GetElementCount() - { - return m_cElements; - } -}; - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT -GetDisplayNameFromMapping( - _In_ HANDLE hHeap, - _In_ PCKEYWORDMAP pMapping, - _Out_ PWSTR *ppszDisplayName - ); - -PCKEYWORDMAP -GetKeywordMapping( - _In_reads_(dwMapSize) PCKEYWORDMAP pKeywordMap, - DWORD dwMapSize, - PCSTR pszKeyword - ); - -BOOL -IsFeatureOptItem( - POPTITEM pOptItem - ); - -HRESULT -SaveFeatureOptItems( - HANDLE hHeap, - IPrintCoreHelper* pHelper, - HWND hWnd, - _In_reads_(dwItems) POPTITEM pOptItem, - DWORD dwItems - ); - -HRESULT -GetChangedFeatureOptions( - _In_reads_(dwItems) POPTITEM pOptItem, - DWORD dwItems, - _Outptr_result_maybenull_ CFeaturePairs **ppPairs - ); - -PCSTR -GetOptionKeywordFromOptItem( - POPTITEM pOptItem - ); - -HRESULT -RefreshOptItemSelection( - IPrintCoreHelper* pHelper, - _In_reads_(dwItems) POPTITEM pOptItems, - DWORD dwItems - ); - -HRESULT -GetFirstConflictingFeature( - IPrintCoreHelper *pHelper, - _In_reads_(dwItems) POPTITEM pOptItem, - DWORD dwItems, - CONST PRINT_FEATURE_OPTION **pConstraints, - DWORD *pdwConstraints - ); - -POPTTYPE -CreateOptType( - HANDLE hHeap, - WORD wOptParams - ); - -HRESULT -GetStringResource( - _In_ HANDLE hHeap, - _In_ HMODULE hModule, - UINT uResource, - _Out_ PWSTR *ppszString - ); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj deleted file mode 100644 index e7dfa837..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj +++ /dev/null @@ -1,1066 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{7C66BD86-A7CA-4F53-A5B2-9361A6B80E16}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{B571A415-8077-4F31-891E-02760FE89ED2}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>UNIUIREP</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);gdi32.lib;kernel32.lib;user32.lib;winspool.lib;ole32.lib;oleaut32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>UNIUIREP.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="features.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="uniuirep.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="uniuirep.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters deleted file mode 100644 index 359932e0..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/UNIUIREP.vcxproj.Filters +++ /dev/null @@ -1,223 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{7212E25C-3AC4-4F4D-A600-63E91A451AD6}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{72D49995-C0D7-4527-9A60-C2A300B80E2B}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{B53D0C7F-CD45-4EC5-893D-05FBEE34246B}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="debug.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="devmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="features.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="uniuirep.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - <ClInclude Include="debug.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="devmode.h" /> - <ClInclude Include="Features.h" /> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="uniuirep.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="uniuirep.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="uniuirep.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp deleted file mode 100644 index f7a3d842..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.cpp +++ /dev/null @@ -1,405 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.cpp -// -// PURPOSE: Debug functions. -// -// - -#include "precomp.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL DEFINES -//////////////////////////////////////////////////////// - -#define DEBUG_BUFFER_SIZE 1024 -#define PATH_SEPARATOR '\\' -#define MAX_LOOP 10 - -// Determine what level of debugging messages to eject. -#ifdef VERBOSE_MSG - #define DEBUG_LEVEL DBG_VERBOSE -#elif TERSE_MSG - #define DEBUG_LEVEL DBG_TERSE -#elif WARNING_MSG - #define DEBUG_LEVEL DBG_WARNING -#elif ERROR_MSG - #define DEBUG_LEVEL DBG_ERROR -#elif RIP_MSG - #define DEBUG_LEVEL DBG_RIP -#elif NO_DBG_MSG - #define DEBUG_LEVEL DBG_NONE -#else - #define DEBUG_LEVEL DBG_WARNING -#endif - - - -//////////////////////////////////////////////////////// -// EXTERNAL GLOBALS -//////////////////////////////////////////////////////// - -INT giDebugLevel = DEBUG_LEVEL; - - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist); -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist); - - - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist) -{ - DWORD dwSize = DEBUG_BUFFER_SIZE; - DWORD dwLoop = 0; - LPSTR lpszMsgBuf = NULL; - HRESULT hr; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - do - { - // Allocate memory for message buffer. - if(NULL != lpszMsgBuf) - { - delete[] lpszMsgBuf; - dwSize *= 2; - } - lpszMsgBuf = new CHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - { - return FALSE; - } - - hr = StringCbVPrintfA(lpszMsgBuf, (dwSize + 1) * sizeof(CHAR), lpszMessage, arglist); - - // Pass the variable parameters to wvsprintf to be formated. - } while (FAILED(hr) && (STRSAFE_E_INSUFFICIENT_BUFFER == hr) && (++dwLoop < MAX_LOOP) ); - - // Dump string to Debug output. - OutputDebugStringA(lpszMsgBuf); - - // Cleanup. - delete[] lpszMsgBuf; - - return SUCCEEDED(hr); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessageV -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// dwSize Size of temp buffer to hold formated string. -// -// lpszMessage Format string. -// -// arglist Variable argument list.. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist) -{ - LPWSTR lpszMsgBuf; - HRESULT hResult; - - - // Parameter checking. - if( (NULL == lpszMessage) - || - (0 == dwSize) - ) - { - return FALSE; - } - - // Allocate memory for message buffer. - lpszMsgBuf = new WCHAR[dwSize + 1]; - if(NULL == lpszMsgBuf) - return FALSE; - - // Pass the variable parameters to wvsprintf to be formated. - hResult = StringCbVPrintfW(lpszMsgBuf, (dwSize + 1) * sizeof(WCHAR), lpszMessage, arglist); - - // Dump string to debug output. - OutputDebugStringW(lpszMsgBuf); - - // Clean up. - delete[] lpszMsgBuf; - - return SUCCEEDED(hResult); -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV for processing. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - - -////////////////////////////////////////////////////////////////////////// -// Function: DebugMessage -// -// Description: Outputs variable argument debug string. -// -// -// Parameters: -// -// lpszMessage Format string. -// -// -// Returns: -// -// -// Comments: -// -// -////////////////////////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCWSTR lpszMessage, ...) -{ - BOOL bResult; - va_list VAList; - - - // Pass the variable parameters to DebugMessageV to be processed. - va_start(VAList, lpszMessage); - bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList); - va_end(VAList); - - return bResult; -} - -void Dump(PPUBLISHERINFO pPublisherInfo) -{ - VERBOSE(TEXT("pPublisherInfo:\r\n")); - if(NULL == pPublisherInfo) - { - VERBOSE(TEXT("\tpPublisherInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tdwMode = %#x\r\n"), pPublisherInfo->dwMode); - VERBOSE(TEXT("\twMinoutlinePPEM = %d\r\n"), pPublisherInfo->wMinoutlinePPEM); - VERBOSE(TEXT("\twMaxbitmapPPEM = %d\r\n"), pPublisherInfo->wMaxbitmapPPEM); -} - -void Dump(POEMDMPARAM pOemDMParam) -{ - VERBOSE(TEXT("pOemDMParam:\r\n")); - if(NULL == pOemDMParam) - { - VERBOSE(TEXT("\tpOemDMParam is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOemDMParam->cbSize); - VERBOSE(TEXT("\tpdriverobj = %#x\r\n"), pOemDMParam->pdriverobj); - VERBOSE(TEXT("\thPrinter = %#x\r\n"), pOemDMParam->hPrinter); - VERBOSE(TEXT("\thModule = %#x\r\n"), pOemDMParam->hModule); - VERBOSE(TEXT("\tpPublicDMIn = %#x\r\n"), pOemDMParam->pPublicDMIn); - VERBOSE(TEXT("\tpPublicDMOut = %#x\r\n"), pOemDMParam->pPublicDMOut); - VERBOSE(TEXT("\tpOEMDMIn = %#x\r\n"), pOemDMParam->pOEMDMIn); - VERBOSE(TEXT("\tpOEMDMOut = %#x\r\n"), pOemDMParam->pOEMDMOut); - VERBOSE(TEXT("\tcbBufSize = %d\r\n"), pOemDMParam->cbBufSize); -} - -void Dump(PPROPSHEETUI_INFO pPSUIInfo) -{ - VERBOSE(TEXT("pPSUIInfo:\r\n")); - if(NULL == pPSUIInfo) - { - VERBOSE(TEXT("\tpPSUIInfo is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pPSUIInfo->cbSize); - VERBOSE(TEXT("\tVersion = %#x\r\n"), pPSUIInfo->Version); - VERBOSE(TEXT("\tFlags = %#x\r\n"), pPSUIInfo->Flags); - VERBOSE(TEXT("\tReason = %d\r\n"), pPSUIInfo->Reason); - VERBOSE(TEXT("\thComPropSheet = %#x\r\n"), pPSUIInfo->hComPropSheet); - VERBOSE(TEXT("\tpfnComPropSheet = %#x\r\n"), pPSUIInfo->pfnComPropSheet); - VERBOSE(TEXT("\tlParamInit = %#x\r\n"), pPSUIInfo->lParamInit); - VERBOSE(TEXT("\tUserData = %#x\r\n"), pPSUIInfo->UserData); - VERBOSE(TEXT("\tResult = %#x\r\n"), pPSUIInfo->Result); -} - -void Dump(POPTITEM pOptItem) -{ - VERBOSE(TEXT("pOptItem:\r\n")); - if(NULL == pOptItem) - { - VERBOSE(TEXT("\tpOptItem is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\tcbSize = %d\r\n"), pOptItem->cbSize); - VERBOSE(TEXT("\tLevel = %d\r\n"), pOptItem->Level); - VERBOSE(TEXT("\tDlgPageIdx = %d\r\n"), pOptItem->DlgPageIdx); - VERBOSE(TEXT("\tFlags = 0x%x\r\n"), pOptItem->Flags); - VERBOSE(TEXT("\tUserData = 0x%p\r\n"), pOptItem->UserData); - VERBOSE(TEXT("\tpName = %s\r\n"), pOptItem->pName ? pOptItem->pName : TEXT("<NULL>")); - VERBOSE(TEXT("\tpSel = 0x%p\r\n"), pOptItem->pSel); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tpExtChkBox = 0x%p\r\n"), pOptItem->pExtChkBox); - VERBOSE(TEXT("\tHelpIndex = 0x%x\r\n"), pOptItem->HelpIndex); - VERBOSE(TEXT("\tDMPubID = 0x%x\r\n"), pOptItem->DMPubID); - VERBOSE(TEXT("\tUserItemID = 0x%x\r\n"), pOptItem->UserItemID); - VERBOSE(TEXT("\twReserved = 0x%x\r\n"), pOptItem->wReserved); - VERBOSE(TEXT("\tpOIExt = 0x%p\r\n"), pOptItem->pOIExt); - - Dump(pOptItem->pOptType); -} - -void Dump(POPTTYPE pOptType) -{ - VERBOSE(TEXT("\tpOptType:\r\n")); - if(NULL == pOptType) - { - VERBOSE(TEXT("\t\tpOptType is NULL!\r\n")); - return; - } - VERBOSE(TEXT("\t\tcbSize = %d\r\n"), pOptType->cbSize); - VERBOSE(TEXT("\t\tType = 0x%x\r\n"), pOptType->Type); - VERBOSE(TEXT("\t\tFlags = 0x%x\r\n"), pOptType->Flags); - VERBOSE(TEXT("\t\tCount = %d\r\n"), pOptType->Count); - VERBOSE(TEXT("\t\tCount = 0x%x\r\n"), pOptType->BegCtrlID); - VERBOSE(TEXT("\t\tStyle = 0x%x\r\n"), pOptType->Style); - - Dump(pOptType->pOptParam, pOptType->Count); -} - -void Dump(POPTPARAM pOptParam, WORD wCount) -{ - if(NULL == pOptParam) - { - VERBOSE(TEXT("\t\tpOptParam is NULL!\r\n")); - return; - } - - for(WORD wIndex = 0; wIndex < wCount; ++wIndex) - { - VERBOSE(TEXT("\t\tpOptParam[wIndex]:\r\n")); - VERBOSE(TEXT("\t\t\tcbSize = %d\r\n"), pOptParam[wIndex].cbSize); - VERBOSE(TEXT("\t\t\tFlags = 0x%x\r\n"), pOptParam[wIndex].Flags); - VERBOSE(TEXT("\t\t\tStyle = 0x%x\r\n"), pOptParam[wIndex].Style); - VERBOSE(TEXT("\t\t\tpData = 0x%p\r\n"), pOptParam[wIndex].pData); - VERBOSE(TEXT("\t\t\tIconID = 0x%p\r\n"), pOptParam[wIndex].IconID); - VERBOSE(TEXT("\t\t\tlParam = 0x%p\r\n"), pOptParam[wIndex].lParam); - } -} - - -PCSTR -StripDirPrefixA( - IN PCSTR pstrFilename - ) - -/*++ - -Routine Description: - - Strip the directory prefix off a filename (ANSI version) - -Arguments: - - pstrFilename - Pointer to filename string - -Return Value: - - Pointer to the last component of a filename (without directory prefix) - ---*/ - -{ - PCSTR pstr; - - pstr = strrchr(pstrFilename, PATH_SEPARATOR); - if (pstr) - return pstr + 1; - - return pstrFilename; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h deleted file mode 100644 index b4d57b0b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/debug.h +++ /dev/null @@ -1,166 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. -// -// - -#pragma once - -// VC and Build use different debug defines. -// The following makes it so either will -// cause the inclusion of debugging code. -#if !defined(_DEBUG) && defined(DBG) - #define _DEBUG DBG -#elif defined(_DEBUG) && !defined(DBG) - #define DBG _DEBUG -#endif - - - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// - -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// VERBOSE(msg) -// Display a message if the current debug level is <= DBG_VERBOSE. -// -// TERSE(msg) -// Display a message if the current debug level is <= DBG_TERSE. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// ASSERTMSG(cond, msg) -// Verify a condition is true. If not, display a message and -// force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// These macros require extra parantheses for the msg argument -// example, ASSERTMSG(x > 0, ("x is less than 0\n")); -// WARNING(("App passed NULL pointer, ignoring...\n")); -// - -#define DBG_VERBOSE 1 -#define DBG_TERSE 2 -#define DBG_WARNING 3 -#define DBG_ERROR 4 -#define DBG_RIP 5 -#define DBG_NONE 6 - -#if DBG - - #define DebugMsg DebugMessage - - // - // Strip the directory prefix from a filename (ANSI version) - // - - PCSTR - StripDirPrefixA( - IN PCSTR pstrFilename - ); - - extern INT giDebugLevel; - - - #define DBGMSG(level, prefix, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg("%s %s (%d): ", prefix, StripDirPrefixA(__FILE__), __LINE__); \ - DebugMsg(msg); \ - } \ - } - - #define DBGPRINT(level, msg) { \ - if (giDebugLevel <= (level)) { \ - DebugMsg(msg); \ - } \ - } - - #define VERBOSE if(giDebugLevel <= DBG_VERBOSE) DebugMsg - #define TERSE if(giDebugLevel <= DBG_TERSE) DebugMsg - #define WARNING if(giDebugLevel <= DBG_WARNING) DebugMsg - #define ERR if(giDebugLevel <= DBG_ERROR) DebugMsg - - #define ASSERT(cond) { \ - if (! (cond)) { \ - RIP(("\n")); \ - } \ - } - - #define ASSERTMSG(cond, msg) { \ - if (! (cond)) { \ - RIP(msg); \ - } \ - } - - #define RIP(msg) { \ - DBGMSG(DBG_RIP, "RIP", msg); \ - DebugBreak(); \ - } - - -#else // !DBG - - #define DebugMsg NOP_FUNCTION - - #define VERBOSE NOP_FUNCTION - #define TERSE NOP_FUNCTION - #define WARNING NOP_FUNCTION - #define ERR NOP_FUNCTION - - #define ASSERT(cond) - - #define ASSERTMSG(cond, msg) - #define RIP(msg) - #define DBGMSG(level, prefix, msg) - #define DBGPRINT(level, msg) - -#endif - - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -BOOL DebugMessage(LPCSTR, ...); -BOOL DebugMessage(LPCWSTR, ...); -void Dump(PPUBLISHERINFO pPublisherInfo); -void Dump(POEMDMPARAM pOemDMParam); -void Dump(PPROPSHEETUI_INFO pPSUIInfo); -void Dump(POPTITEM pOptItem); -void Dump(POPTTYPE pOptType); -void Dump(POPTPARAM pOptParam, WORD wCount); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp deleted file mode 100644 index 1f872cde..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.cpp +++ /dev/null @@ -1,255 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -BOOL -ConvertOEMDevmode( - _In_ PCOEMDEV pOEMDevIn, - _Inout_ POEMDEV pOEMDevOut - ); - -BOOL -MakeOEMDevmodeValid( - _Out_ POEMDEV pOEMDevmode - ); - -//+--------------------------------------------------------------------------- -// -// Member: -// ::hrOEMDevMode -// -// Synopsis: -// Performs operation on UI Plugins Private DevMode Members. -// Called via IOemUI::DevMode -// -// Returns: -// S_OK or E_FAIL. For more detailed failure info, -// check GetLastError -// -// Last error: -// ERROR_INVALID_PARAMETER -// -// -//---------------------------------------------------------------------------- -HRESULT -hrOEMDevMode( - DWORD dwMode, - // Indicates which operation should be performed - _Inout_ POEMDMPARAM pOemDMParam - // contains various data structures needed by this - // routine. The usage of this struct is determined by - // the dwMode flag. - ) -{ - VERBOSE(DLLTEXT("hrOEMDevMode entry.")); - - HRESULT hr = S_OK; - // Return value. - - // - // Verify parameters. - // - if ((NULL == pOemDMParam) || - ((OEMDM_SIZE != dwMode) && - (OEMDM_DEFAULT != dwMode) && - (OEMDM_CONVERT != dwMode) && - (OEMDM_MERGE != dwMode))) - { - ERR(ERRORTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - ERR(DLLTEXT("\tdwMode = %d, pOemDMParam = %#lx.\r\n"), dwMode, pOemDMParam); - - SetLastError(ERROR_INVALID_PARAMETER); - hr = E_FAIL; - } - else - { - POEMDEV pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn;; - // Pointer to the supplied OEM devmode data, if applicable - // based on dwMode. - - POEMDEV pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut;; - // Pointer to the DEVMODE data that this routine is - // expected to configure, if applicable based on dwMode. - - switch (dwMode) - { - // - // The Method should return the size of the memory allocation - // needed to store the UI plugin Private DEVMODE. - // - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - // - //Should fill the Private DEVMODE with the default values. - // - case OEMDM_DEFAULT: - // - //OEM_DMEXTRAHEADER Members - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - break; - - // - // The method should convert private DEVMODE members to - // the current version, if necessary. - // - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - // - // The method should validate the information contained in private - // DEVMODE members and merge validated values into a private - // DEVMODE structure containing default values - // - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - } - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::ConvertOEMDevmode -// -// Synopsis: -// confirm that the private DEVMODE being passed in is data that -// this driver recognizes, read the settings from the input -// OEM DEVMODE data, and write them to pOEMDevOut. -// -// Returns: -// True unless the routine was called with null pointers -// -// -//---------------------------------------------------------------------------- -BOOL -ConvertOEMDevmode( - _In_ PCOEMDEV pOEMDevIn, - // Caller supplied DEVMODE that we are attempting to read - _Inout_ POEMDEV pOEMDevOut - // OEM private DEVMODE configured by this routine based on the settings - // in pOEMDevIn - ) -{ - VERBOSE(DLLTEXT("ConvertOEMDevmode entry.")); - - if ((NULL == pOEMDevIn) || - (NULL == pOEMDevOut)) - { - ERR(ERRORTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - // - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - - // - // Copy the old structure in to the new using which ever size is the - // smaller. Devmode maybe from newer Devmode (not likely since there - // is only one), or Devmode maybe a newer Devmode, in which case it - // maybe larger, but the first part of the structure should be the same. - // - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get - // added to the end. - // - memcpy(pOEMDevOut, - pOEMDevIn, - __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - - // - // If the plug-in is capable of recognizing multiple versions of it's - // private DEVMODE data add custom handling here to support it. - // - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // - // The private DEVMODE data is not something that this plug-in understands, - // so use defaults. - // - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - - return TRUE; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::MakeOEMDevmodeValid -// -// Synopsis: -// Force the OEM devmode settings to valid values. -// -// Returns: -// True if the OEMDEV was configured, else FALSE. Only return false if -// the parameter is NULL. -// -// -//---------------------------------------------------------------------------- -BOOL -MakeOEMDevmodeValid( - _Out_ POEMDEV pOEMDevmode - // OEM DEVMODE data to modify - ) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // - // Assumption: pOEMDevmode is large enough to contain OEMDEV structure. - // - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h deleted file mode 100644 index 342ce190..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/devmode.h +++ /dev/null @@ -1,48 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -//-------------------------------------------------------------------------- - -#pragma once - -// -// OEM private DEVMODE data structure. This gets included in the DEVMODE -// used by Unidrv. -// -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - // This structure MUST be prefixed by OEM_DMEXTRAHEADER - - // - // Add private DevMode members here, after the standard header - // information. - // - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - -// -// ProtoTypes -// - -HRESULT -hrOEMDevMode( - DWORD dwMode, - _Inout_ POEMDMPARAM pOemDMParam - ); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp deleted file mode 100644 index 3160dfb4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/dllentry.cpp +++ /dev/null @@ -1,82 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllMain -// -// Synopsis: -// Dll's main routine, called when new -// threads or processes reference the module -// -// Returns: -// TRUE. Currently has no failure paths. Return false if the module -// cannot be properly initialized. -// -// Notes: -// The caller of this routine holds a process-wide lock preventing more -// than one module from being initialized at a time. In general, -// plug-ins should do as little as possible in this routine to avoid -// stalling other threads that may need to load modules. Also, calling -// any function that would, in-turn, cause another module to be loaded -// could result in a deadlock. -// -// -//---------------------------------------------------------------------------- -BOOL -WINAPI DllMain( - HINSTANCE hInst, - WORD wReason, - LPVOID lpReserved - ) -{ - VERBOSE(DLLTEXT("DllMain entry.")); - - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp deleted file mode 100644 index 5513741e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.cpp +++ /dev/null @@ -1,1151 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// PURPOSE: Implementation of interface for PScript5, Unidrv5 UI plug-ins. -// -//-------------------------------------------------------------------------- - -#include "precomp.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//-------------------------------------------------------------------------- -// Globals -//-------------------------------------------------------------------------- - -HINSTANCE ghInstance = NULL; - // Module's Instance handle from DLLEntry of process. - - -//-------------------------------------------------------------------------- -// Internal Globals -//-------------------------------------------------------------------------- - -static long g_cComponents = 0; - // Count of active components - -static long g_cServerLocks = 0; - // Count of locks - - -//-------------------------------------------------------------------------- -// Class factory for the Plug-In object -//-------------------------------------------------------------------------- -class COemCF : public IClassFactory -{ -public: - - // IUnknown methods - STDMETHOD(QueryInterface) (THIS_ - REFIID riid, - _COM_Outptr_ LPVOID FAR* ppvObj - ); - - STDMETHOD_(ULONG,AddRef) (THIS); - STDMETHOD_(ULONG,Release) (THIS); - - // IClassFactory methods - STDMETHOD(CreateInstance) (THIS_ - _In_opt_ LPUNKNOWN pUnkOuter, - _In_ REFIID riid, - _COM_Outptr_ LPVOID FAR* ppvObject - ); - - STDMETHOD(LockServer) (THIS_ - BOOL bLock - ); - - // Class-specific methods. - COemCF(): m_cRef(1) { }; - - ~COemCF() { }; - -protected: - LONG m_cRef; - -}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllCanUnloadNow -// -// Synopsis: -// Can the DLL be unloaded from memory? Answers no if any objects are -// still allocated, or if the server has been locked. -// -// To avoid leaving OEM DLL still in memory when Unidrv or Pscript -// drivers are unloaded, Unidrv and Pscript driver ignore the return -// value of DllCanUnloadNow of the OEM DLL, and always call FreeLibrary -// on the OEMDLL. -// -// If the plug-in spins off a working thread that also uses this DLL, -// the thread needs to call LoadLibrary and FreeLibraryAndExitThread, -// otherwise it may crash after Unidrv or Pscript calls FreeLibrary. -// -// Returns: -// S_OK if the DLL can be unloaded safely, otherwise S_FALSE -// -// -//---------------------------------------------------------------------------- -STDAPI DllCanUnloadNow() -{ - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::DllGetClassObject -// -// Synopsis: -// Retrieve the class factory object for the indicated class. -// -// Returns: -// CLASS_E_CLASSNOTAVAILABLE, E_OUTOFMEMORY, or S_OK. -// -// Notes: -// -// -//---------------------------------------------------------------------------- -STDAPI -DllGetClassObject( - _In_ CONST CLSID& clsid, - // GUID of the class object that the caller wants a class factory - // for - _In_ CONST IID& iid, - // Interface ID to provide in ppv - _Outptr_ VOID** ppv - // out pointer to the interface requested. - ) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // - // Can we create this component? - // - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE; - } - - // - // Create class factory. - // Reference count set to 1 in Constructor - // - COemCF* pUIReplacementCF = new COemCF; - if (pUIReplacementCF == NULL) - { - return E_OUTOFMEMORY; - } - - // - // Get requested interface. - // - HRESULT hr = pUIReplacementCF->QueryInterface(iid, ppv); - pUIReplacementCF->Release(); - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::QueryInterface -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::QueryInterface( - CONST IID& iid, - _COM_Outptr_ VOID** ppv - ) -{ - VERBOSE(DLLTEXT("COemCF::QueryInterface entry.")); - - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<COemCF*>(this); - } - else - { - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::AddRef -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -COemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::Release -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -COemCF::Release() -{ - assert(0 != m_cRef); - - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - } - return cRef; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::CreateInstance -// -// Synopsis: -// Attempt to create an object that implements the specified interface. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::CreateInstance( - _In_opt_ IUnknown* pUnknownOuter, - _In_ CONST IID& iid, - _COM_Outptr_ VOID** ppv - ) -{ - VERBOSE(DLLTEXT("COemCF::CreateInstance entry.")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // - // Cannot aggregate. - // - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - HRESULT hr = S_OK; - - if (iid == IID_IUnknown || - iid == IID_IPrintOemUI2) - { - VERBOSE(DLLTEXT("COemCF::IID_IUnknown\r\n")); - - // - // Create component. - // - COemUI2* pOemCB = new COemUI2; - if (pOemCB == NULL) - { - hr = E_OUTOFMEMORY; - } - else - { - // - // Get the requested interface. - // - hr = pOemCB->QueryInterface(iid, ppv); - - // - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - // - pOemCB->Release(); - } - } - else - { - hr = E_NOINTERFACE; - } - - return hr; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemCF::LockServer -// -// Synopsis: -// Locking the server holds the objects server in memory, so that new -// instances of objects can be created more quickly. -// -// Returns: -// S_OK -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemCF::LockServer( - BOOL bLock - // If true, increment the lock count, otherwise decrement the lock - // count. - ) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - - return S_OK; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2 (destructor) -// -// Synopsis: -// Release the helper interface, as well as any other resources that -// the plug-in is holding onto. -// -// Returns: -// -// Notes: -// -// -//---------------------------------------------------------------------------- -COemUI2::~COemUI2() -{ - // - // Make sure that helper interface is released. - // - if(NULL != m_pCoreHelper) - { - m_pCoreHelper->Release(); - m_pCoreHelper = NULL; - } - - // - // If this instance of the object is being deleted, then the reference - // count should be zero. - // - assert(0 == m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::QueryInterface -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::QueryInterface( - CONST IID& iid, - _COM_Outptr_ VOID** ppv - ) -{ - VERBOSE(DLLTEXT("COemUI2::QueryInterface entry.")); - - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("COemUI2::QueryInterface - Return pointer to IUnknown.\r\n")); - } - else if (iid == IID_IPrintOemUI2) - { - *ppv = static_cast<IPrintOemUI2*>(this); - VERBOSE(DLLTEXT("COemUI2::QueryInterface - Return pointer to IPrintOemUI.\r\n")); - } - else - { -#if DBG - TCHAR szOutput[80] = {0}; - StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail! - VERBOSE(DLLTEXT("COemUI2::QueryInterface %s not supported.\r\n"), szOutput); -#endif - - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::AddRef -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -COemUI2::AddRef() -{ - VERBOSE(DLLTEXT("COemUI2::AddRef entry.")); - - return InterlockedIncrement(&m_cRef); -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::Release -// -// Synopsis: -// Standard COM IUnknown implementation. -// -// -//---------------------------------------------------------------------------- -ULONG __stdcall -COemUI2::Release() -{ - VERBOSE(DLLTEXT("COemUI2::Release entry.")); - - assert(0 != m_cRef); - - ULONG cRef = InterlockedDecrement(&m_cRef); - - if (0 == cRef) - { - delete this; - return 0; - - } - - return cRef; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::PublishDriverInterface -// -// Synopsis: -// This routine is called by the core driver to supply objects to the -// plug-in which the plug-in can use to implement various features. -// -// This implementation requires an object that IPrintCoreHelper interface -// from the core driver to implement full UI replacement. If the object -// passed in is the one desired, this routine will return S_OK, otherwise -// it will return E_FAIL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::PublishDriverInterface( - IUnknown *pIUnknown - ) -{ - VERBOSE(DLLTEXT("COemUI2::PublishDriverInterface entry.")); - - HRESULT hrResult = S_OK; - - // - // Determine whether the published object is the helper interface - // introduced in Vista to support full UI replacement. - // - if (m_pCoreHelper == NULL) - { - hrResult = pIUnknown->QueryInterface(IID_IPrintCoreHelper, (VOID**) &(m_pCoreHelper)); - - if (!SUCCEEDED(hrResult)) - { - m_pCoreHelper = NULL; - hrResult = E_FAIL; - } - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::GetInfo -// -// Synopsis: -// Most of this routine is a standard implementation common to most -// plug-ins. Of particular note in this sample is that to get a handle -// the IPrintCoreHelper plug-in in the PublishDriverInterface callback, -// this routine must return OEMPUBLISH_IPRINTCOREHELPER in the out -// parameter when the mode is OEMGI_GETREQUESTEDHELPERINTERFACES. -// -// Returns: -// S_OK for supported modes, E_FAIL for everything else. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::GetInfo( - _In_ DWORD dwMode, - // The mode indicates what information is being requested by the - // core driver. - _Out_writes_bytes_to_(cbSize, *pcbNeeded) PVOID pBuffer, - // The output buffer is the location into which the requested info - // should be written - _In_ DWORD cbSize, - // The size of the output buffer. - _Out_ PDWORD pcbNeeded - // If the size of the buffer is insufficient, use this parameter - // to indicate to the core driver how much space is required. - ) -{ - HRESULT hrResult = S_OK; - -#if DBG - PWSTR pszTag; - - switch(dwMode) - { - case OEMGI_GETSIGNATURE: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETSIGNATURE]"; break; - case OEMGI_GETVERSION: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETVERSION]"; break; - case OEMGI_GETREQUESTEDHELPERINTERFACES: pszTag = L"COemUI2::GetInfo entry. [OEMGI_GETREQUESTEDHELPERINTERFACES]"; break; - default: pszTag = L"COemUI2::GetInfo entry."; break; - } - - VERBOSE(pszTag); -#endif - - // - // Validate parameters. OEMGI_GETPUBLISHERINFO is excluded from this - // list because that GetInfo mode applies only to PScript rendering plug-ins. - // - if ((NULL == pcbNeeded) || - ((OEMGI_GETSIGNATURE != dwMode) && - (OEMGI_GETVERSION != dwMode) && - (OEMGI_GETREQUESTEDHELPERINTERFACES != dwMode))) - { - WARNING(DLLTEXT("COemUI2::GetInfo() exit pcbNeeded is NULL or mode is not supported\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // - // Set expected buffer size and number of bytes written. - // - *pcbNeeded = sizeof(DWORD); - - // - // Check buffer size is sufficient. - // - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("COemUI2::GetInfo() exit insufficient buffer!\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - hrResult = E_FAIL; - } - else - { - switch(dwMode) - { - // - // OEM DLL Signature - // - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // - // OEM DLL version - // - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // - // New core helper interface support - // - case OEMGI_GETREQUESTEDHELPERINTERFACES: - *(PDWORD)pBuffer = 0; - *(PDWORD)pBuffer |= OEMPUBLISH_IPRINTCOREHELPER; - break; - - // - // dwMode not supported. - // - default: - // Set written bytes to zero since nothing was written. - // - WARNING(DLLTEXT("COemUI2::GetInfo() exit mode not supported.\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - hrResult = E_FAIL; - } - } - - return hrResult; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DevMode -// -// Synopsis: -// This routine operates in various modes to manage the private DEVMODE. -// This sample does not provide much by way of illustration of how to -// handle OEM settings in the private DEVMODE. See the sample OEMUI for -// a more in-depth look at this routine. The function hrOEMDevMode in -// devmode.cpp also provides more information on how to handle the various -// modes. -// -// Returns: -// S_OK on success, else E_* -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DevMode( - DWORD dwMode, - // The operation that should be performed - POEMDMPARAM pOemDMParam - // The input & output DEVMODEs, including pointers to the public & - // private DEVMODE data. - ) -{ - VERBOSE(DLLTEXT("COemUI2::Devmode entry.")); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::HideStandardUI -// -// Synopsis: -// This routine is critical to supporting full UI replacement. This -// routine allows the plug-in to disable Unidrv's (or PScript's) standard -// UI panels. If this returns E_NOTIMPL, the panel isn't hidden. If -// this routine returns S_OK, Unidrv will not display any UI for the -// specified mode. If this returns E_NOTIMPL, Unidrv will display it's -// standard UI. -// -// Returns: -// S_OK to hide the indicated UI if desired, otherwise E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::HideStandardUI( - DWORD dwMode - // document property sheets, printer property sheets, or possibly - // something not yet defined. - ) -{ - VERBOSE(DLLTEXT("COemUI2::HideStandardUI entry.")); - - HRESULT hrResult = E_NOTIMPL; - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - case OEMCUIP_PRNPROP: - hrResult = S_OK; - break; - default: - // If we don't recognize the mode, assume that we don't want to hide - // the UI provided by Unidrv. - hrResult = E_NOTIMPL; - } - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DocumentPropertySheets -// -// Synopsis: -// See function hrOEMDocumentPropertySheets in uniuirep.cpp. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::DocumentPropertySheets entry.")); - - return hrCommonPropSheetMethod(pPSUIInfo, lParam, m_pCoreHelper, &m_Features, OEMCUIP_DOCPROP); -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DevicePropertySheets -// -// Synopsis: -// See function hrOEMDevicePropertySheets in uniuirep.cpp -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::DevicePropertySheets entry.")); - - return hrCommonPropSheetMethod(pPSUIInfo, lParam, m_pCoreHelper, &m_Features, OEMCUIP_PRNPROP); -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::CommonUIProp -// -// Synopsis: -// This routine is used to interact with the Unidrv-supplied -// property sheet pages. Since this plug-in implements full-UI -// replacement, those property sheet pages are disabled, and this -// routine does not need to do anything. -// -// Returns: -// S_OK -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::CommonUIProp entry.")); - - UNREFERENCED_PARAMETER(dwMode); - UNREFERENCED_PARAMETER(pOemCUIPParam); - - return S_OK; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DeviceCapabilities -// -// Synopsis: -// This routine can be used to replace the Unidrvs device capabilities -// handling. In this implementation, no custom capabilities handling is -// provided. -// -// Returns: -// E_FAIL -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DeviceCapabilities( - _Inout_ POEMUIOBJ poemuiobj, - // OEM settings & information - _In_ HANDLE hPrinter, - // Handle to the printer that the capabilities are being requested for - _In_ PWSTR pDeviceName, - // Name of the device / driver - _In_ WORD wCapability, - // The DC_ ID indicating which capability was requested. - _Out_writes_(_Inexpressible_("varies with wCapability")) PVOID pOutput, - // Buffer to write requested information to. - _In_ PDEVMODE pPublicDM, - // Pointer to the public DEVMODE representing the settings to get - // capabilities with respect to. - _In_ PVOID pOEMDM, - // OEM private DEVMODE settings. - _In_ DWORD dwOld, - // Result from previous plug-in call to this routine. - _Out_ DWORD *dwResult - // Result of this call. If there are multiple UI plug-ins, this - // result is passed to the next one as dwOld - ) -{ - VERBOSE(DLLTEXT("COemUI2::DeviceCapabilities entry.")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - // - // Do nothing. Let Unidrv handle the device capabilities processing. - // - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DevQueryPrintEx -// -// Synopsis: -// This routine is used to determine print job compatibility with the -// current driver. The plug-in can supplement Unidrv's handling of this -// routine. If Unidrv determines that a job can be printed on the current -// printer it will call this routine to ask the plug-in whether it can -// also handle the current job. If Unidrv determines that the job cannot -// be printed, it will not call the plug-in. Additionally, XPS drivers -// built on the Unidrv and PScript UI modules may not recieve this call- -// back. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ) -{ - VERBOSE(DLLTEXT("COemUI2::DevQueryPrintEx entry.")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::UpgradePrinter -// -// Synopsis: -// Use this callback to upgrade any settings from previous versions -// that are stored in the registry by the plug-in Not applicabe to -// this sample. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::UpgradePrinter( - _In_ DWORD dwLevel, - _At_((PDRIVER_UPGRADE_INFO_1)pDriverUpgradeInfo, _In_) PBYTE pDriverUpgradeInfo - ) -{ - VERBOSE(DLLTEXT("COemUI2::UpgradePrinter entry.")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::PrinterEvent -// -// Synopsis: -// Perform any special processing needed when various events occur to the -// print queue. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::PrinterEvent( - _In_ PWSTR pPrinterName, - _In_ INT iDriverEvent, - _In_ DWORD dwFlags, - _In_ LPARAM lParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::PrinterEvent entry.")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DriverEvent -// -// Synopsis: -// Notifies the plug-in of changes or events relevant to the driver, -// such as installing and upgrading. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DriverEvent( - _In_ DWORD dwDriverEvent, - _In_ DWORD dwLevel, - _In_reads_(_Inexpressible_("varies")) LPBYTE pDriverInfo, - _In_ LPARAM lParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::DriverEvent entry.")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::QueryColorProfile -// -// Synopsis: -// This routine can be implemented to provide a color profile from the -// driver. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData - ) -{ - VERBOSE(DLLTEXT("COemUI2::QueryColorProfile entry.")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::FontInstallerDlgProc -// -// Synopsis: -// Plug-ins can use this method to replace Unidrv's provided soft-font -// installer dialog. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ) -{ - VERBOSE(DLLTEXT("COemUI2::FontInstallerDlgProc entry.")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::UpdateExternalFonts -// -// Synopsis: -// This routine is used to notify the UI of any changes to installed -// font cartridges, primarily for supporting soft-font UI replacement. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::UpdateExternalFonts( - _In_ HANDLE hPrinter, - _In_ HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ) -{ - VERBOSE(DLLTEXT("COemUI2::UpdateExternalFonts entry.")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//+--------------------------------------------------------------------------- -// -// Member: -// -// Synopsis: -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::QueryJobAttributes( - _In_ HANDLE hPrinter, - _In_ PDEVMODE pDevmode, - _In_range_(1, 4) DWORD dwLevel, - _In_reads_(_Inexpressible_("varies")) LPBYTE lpAttributeInfo - ) -{ - VERBOSE(DLLTEXT("COemUI2::QueryJobAttributes entry.")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDevmode); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(lpAttributeInfo); - - return E_NOTIMPL; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// COemUI2::DocumentEvent -// -// Synopsis: -// Perform any special processing needed at various points in time while -// a job is printing. -// -// Implementation of this routine is optional. To indicate that the -// plug-in does not support this call, return E_NOTIMPL. -// -// -//---------------------------------------------------------------------------- -HRESULT __stdcall -COemUI2::DocumentEvent( - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ) -{ - VERBOSE(DLLTEXT("COemUI2::DocumentEvent entry.")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hdc); - UNREFERENCED_PARAMETER(iEsc); - UNREFERENCED_PARAMETER(cbIn); - UNREFERENCED_PARAMETER(pbIn); - UNREFERENCED_PARAMETER(cbOut); - UNREFERENCED_PARAMETER(pbOut); - UNREFERENCED_PARAMETER(piResult); - - return E_NOTIMPL; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h deleted file mode 100644 index 09a61f4a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/intrface.h +++ /dev/null @@ -1,222 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.h -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// -//-------------------------------------------------------------------------- - -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -extern HINSTANCE ghInstance; - // Module's Instance handle from DLLEntry of process. - -class COemUI2: public IPrintOemUI2 -{ -public: - // - // *** IUnknown methods *** - // - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, _COM_Outptr_ LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - STDMETHOD(GetInfo) (THIS_ - _In_ DWORD dwMode, - _Out_writes_bytes_to_(cbSize, *pcbNeeded) PVOID pBuffer, - _In_ DWORD cbSize, - _Out_ PDWORD pcbNeeded); - - // - // OEMDevMode - // - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam); - - // - // OEMCommonUIProp - // - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - STDMETHOD(DeviceCapabilities) (THIS_ - _Inout_ POEMUIOBJ poemuiobj, - _In_ HANDLE hPrinter, - _In_ PWSTR pDeviceName, - _In_ WORD wCapability, - _Out_writes_(_Inexpressible_("varies with wCapability")) PVOID pOutput, - _In_ PDEVMODE pPublicDM, - _In_ PVOID pOEMDM, - _In_ DWORD dwOld, - _Out_ DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - STDMETHOD(UpgradePrinter) (THIS_ - _In_ DWORD dwLevel, - _At_((PDRIVER_UPGRADE_INFO_1)pDriverUpgradeInfo, _In_) PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - _In_ INT iDriverEvent, - _In_ DWORD dwFlags, - _In_ LPARAM lParam - ); - - // - // OEMDriverEvent - // - STDMETHOD(DriverEvent)(THIS_ - _In_ DWORD dwDriverEvent, - _In_ DWORD dwLevel, - _In_reads_(_Inexpressible_("varies")) LPBYTE pDriverInfo, - _In_ LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - STDMETHOD( QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - STDMETHOD(UpdateExternalFonts) (THIS_ - _In_ HANDLE hPrinter, - _In_ HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - // - // IPrintOemUI2 methods - // - - // - // QueryJobAttributes - // - STDMETHOD(QueryJobAttributes) (THIS_ - _In_ HANDLE hPrinter, - _In_ PDEVMODE pDevmode, - _In_range_(1, 4) DWORD dwLevel, - _In_reads_(_Inexpressible_("varies")) LPBYTE lpAttributeInfo - ); - - // - // Hide Standard UI - // - STDMETHOD(HideStandardUI) (THIS_ - DWORD dwMode - ); - - // - // DocumentEvent - // - STDMETHOD(DocumentEvent) (THIS_ - HANDLE hPrinter, - HDC hdc, - INT iEsc, - ULONG cbIn, - PVOID pbIn, - ULONG cbOut, - PVOID pbOut, - PINT piResult - ); - - COemUI2() - { - m_cRef = 1; - m_pCoreHelper = NULL; - }; - - virtual ~COemUI2(); - -protected: - - LONG m_cRef; - // reference count of this object - - IPrintCoreHelper* m_pCoreHelper; - // Pointer to the helper interface introduced in Windows Vista. - - CFeatureCollection m_Features; - // Collection of features advertised as supported by the helper - // interface. -}; - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h deleted file mode 100644 index cf24303c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precomp.h +++ /dev/null @@ -1,68 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. -// -//-------------------------------------------------------------------------- - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <INITGUID.H> -#include <WINDOWS.H> - -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <commctrl.h> -#include <WINDDI.H> -#include <WINSPOOL.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include <WINDDIUI.H> -#include <PRINTOEM.H> -#include <prcomoem.h> - -#include "resource.h" -#include "devmode.h" -#include "Features.h" -#include "uniuirep.h" -#include "debug.h" -#include "intrface.h" - -#include <intsafe.h> - -// Include this file after any other standard include files -// to disallow unsafe string handling functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h deleted file mode 100644 index d7eda884..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/resource.h +++ /dev/null @@ -1,57 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// Used by uirepplug.rc. Keep this in sync with the definitions in that file. -// -//-------------------------------------------------------------------------- - -// -//{{NO_DEPENDENCIES}} -// -#define IDS_SECTION 1 -#define IDS_NAME 3 -#define IDS_DEVICE_SETTINGS_NAME 4 -#define IDS_CONSTRAINT_CONFLICT 5 -#define IDD_DOC_PROPPAGE 107 -#define IDS_METAFILE_SPOOLING 419 -#define IDS_TEXT_ASGRX 431 -#define IDS_TTDL_DEFAULT 460 -#define IDS_TTDL_TYPE1 461 -#define IDS_TTDL_TYPE3 462 -#define IDS_TTDL_TYPE42 463 -#define IDS_MISSINGNAME 464 -#define IDS_RESDLL 700 -#define IDS_GRAPHICS_MODE 701 -#define IDS_DUPLEX_UNIT 702 -#define IDS_UNIRESDLL 707 -#define IDS_RESOLUTION_600_DPI 708 -#define IDS_RESOLUTION_300_DPI 709 -#define IDS_RESOLUTION_150_DPI 710 -#define IDS_RASTERMODE 711 -#define IDS_HPGL2MODE 712 -#define IDS_PAPERSIZE_LETTER 713 -#define IDS_PAPERSIZE_LEGAL 714 -#define IDS_PAPERSIZE_EXECUTIVE 715 -#define IDS_PAPERSIZE_A4 716 -#define IDS_PAPERSIZE_B5 717 -#define IDS_COLORMODE_MONO 718 -#define IDS_COLORMODE_24BPP 719 -#define IDS_COLORMODE_8BPP 720 -#define IDS_HALFTONE_AUTO 721 -#define IDS_HALFTONE_SUPERCELL_M 722 -#define IDS_HALFTONE_6x6_M 723 -#define IDS_HALFTONE_8x8_M 724 -#define IDS_UIREP_ENVTRAY 728 -#define IDS_OUTBIN_STACKER 735 -#define IDS_OUTBIN_DEFAULT 736 -#define IDS_MEMORY_STD 737 -#define IDS_MEMORY_UPGRADE 738 -#define IDS_INSTALLED_MEMORY 739 - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp deleted file mode 100644 index d75e3215..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.cpp +++ /dev/null @@ -1,492 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: uniuirep.cpp -// -// PURPOSE: This module handles COMPSTUI initialization and -// callback behavior. -// -//-------------------------------------------------------------------------- - - -#include "precomp.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - -typedef struct _tagCBUserData -{ - HANDLE hComPropSheet; - HANDLE hPropPage; - POEMUIPSPARAM pOEMUIParam; - PFNCOMPROPSHEET pfnComPropSheet; - IPrintCoreHelper* pHelper; - BOOL bPermission; - -} CBUSERDATA, *PCBUSERDATA; - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -LONG APIENTRY -OEMCommonUICallBack( - _In_ PCPSUICBPARAM pCallbackParam - ); - -POPTITEM -CreateOptItems( - HANDLE hHeap, - DWORD dwOptItems - ); - - -//+--------------------------------------------------------------------------- -// -// Member: -// ::hrCommonPropSheetMethod -// -// Synopsis: -// Adds property page to printer property sheet. -// -// Returns: -// S_OK on success, E_FAIL on failure. Sets LastError. -// -// -//---------------------------------------------------------------------------- -HRESULT -hrCommonPropSheetMethod( - PPROPSHEETUI_INFO pPSUIInfo, - // Property sheet information, including - // the reason for calling this function. - LPARAM lParam, - // Optional parameter. Value is determined - // by the reason member of pPSUIInfo. - IPrintCoreHelper* pHelper, - // Pointer to the helper interface used to control - // settings described in the GPD - CFeatureCollection* pFeatures, - // Collection of all features that we're supporting - // in our custom UI. - DWORD dwMode - // Should our sheet show device or document features? - ) -{ - LONG_PTR lResult = TRUE; - // result supplied to COMPSTUI via pPSUIInfo - - HRESULT hrResult = S_OK; - // Result returned to the immediate caller. - - VERBOSE(DLLTEXT("hrCommonPropSheetMethod entry.")); - - // - // Validate parameters. - // - if ((NULL == pPSUIInfo) || - (PROPSHEETUI_INFO_VERSION != pPSUIInfo->Version)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod() ERROR_INVALID_PARAMETER.\r\n")); - - // - // Return invalid parameter error. - // - SetLastError(ERROR_INVALID_PARAMETER); - hrResult = E_FAIL; - goto Exit; - } - - Dump(pPSUIInfo); - - // - // Do action. - // - switch(pPSUIInfo->Reason) - { - case PROPSHEETUI_REASON_INIT: - { - WORD wFeatures = 0; - DWORD dwSheets = 0; - PCBUSERDATA pUserData = NULL; - POEMUIPSPARAM pOEMUIParam = (POEMUIPSPARAM)pPSUIInfo->lParamInit; - BOOL bPermission = 0; - HANDLE hHeap = pOEMUIParam->hOEMHeap; - COMPROPSHEETUI Sheet; - - // - // If the user doesn't have permission to change settings, - // make a note of it so we can disable controls later. - // - if (dwMode == OEMCUIP_PRNPROP) - { - bPermission = ((pOEMUIParam->dwFlags & DPS_NOPERMISSION)==0); - } - else - { - bPermission = ((pOEMUIParam->dwFlags & DM_NOPERMISSION)==0); - } - - // - // Make sure that we have the core driver features - // - hrResult = pFeatures->Acquire(hHeap, pHelper); - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to load core driver features! (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - - // - // Wait until after the call to Acquire to read the number of features. - // - wFeatures = (WORD)pFeatures->GetCount(dwMode); - - // - // Init device settings replacement page - // - memset(&Sheet, 0, sizeof(COMPROPSHEETUI)); - Sheet.cbSize = sizeof(COMPROPSHEETUI); - Sheet.Flags = bPermission ? CPSUIF_UPDATE_PERMISSION : 0; - Sheet.hInstCaller = ghInstance; - Sheet.pHelpFile = NULL; - Sheet.pfnCallBack = OEMCommonUICallBack; - Sheet.cOptItem = wFeatures; - Sheet.IconID = IDI_CPSUI_PRINTER; - Sheet.CallerVersion = 0x100; - Sheet.OptItemVersion = 0x100; - - // - // Initialize mode-specific fields - // - if (dwMode == OEMCUIP_PRNPROP) - { - // - // Use a DlgPage structure to set the text in the tab - // in the printer propertues view. - // - DLGPAGE DlgPage; - memset(&DlgPage, 0, sizeof(DLGPAGE)); - DlgPage.cbSize = sizeof(DLGPAGE); - DlgPage.DlgTemplateID = DP_STD_TREEVIEWPAGE; - - // - // Get device settings display name - // - hrResult = GetStringResource(hHeap, ghInstance, IDS_DEVICE_SETTINGS_NAME, &DlgPage.pTabName); - - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get tab name! (hrResult = 0x%x)\r\n"), - hrResult); - goto Exit; - } - Sheet.pDlgPage = &DlgPage; - Sheet.cDlgPage = 1; - } - else - { - // - // printing preferences settings - // - Sheet.pDlgPage = CPSUI_PDLGPAGE_TREEVIEWONLY; - } - - // - // Get caller name - // - hrResult = GetStringResource(hHeap, ghInstance, IDS_NAME, &Sheet.pCallerName); - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get caller name! (hrResult = 0x%x)\r\n"), hrResult); - goto Exit; - } - - // - // Get section name - // - hrResult = GetStringResource(hHeap, ghInstance, IDS_SECTION, &Sheet.pOptItemName); - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get section name! (hrResult = 0x%x)\r\n"), hrResult); - goto Exit; - } - - // - // Init user data. - // - pUserData = (PCBUSERDATA)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(CBUSERDATA)); - - if (pUserData == NULL) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to allocate user data!\r\n")); - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - pUserData->hComPropSheet = pPSUIInfo->hComPropSheet; - pUserData->pfnComPropSheet = pPSUIInfo->pfnComPropSheet; - pUserData->pOEMUIParam = pOEMUIParam; - pUserData->pHelper = pHelper; - pUserData->bPermission = bPermission; - Sheet.UserData = (ULONG_PTR)pUserData; - - // - // Create OptItems for page. - // - Sheet.pOptItem = CreateOptItems(hHeap, Sheet.cOptItem); - - if (Sheet.pOptItem == NULL) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to allocate OPTITEMS!\r\n")); - hrResult = E_OUTOFMEMORY; - goto Exit; - } - - // - // Add core driver features - // - for (DWORD wIndex = 0; wIndex < wFeatures; wIndex++) - { - // - // Initialize level and basic state for feature - // - Sheet.pOptItem[wIndex].Level = 1; - Sheet.pOptItem[wIndex].Flags = OPTIF_COLLAPSE; - CFeature *pFeature = pFeatures->GetFeature(wIndex, dwMode); - - if (pFeature == NULL) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Feature not found or features not initialized!\r\n")); - hrResult = E_UNEXPECTED; - goto Exit; - } - - // - // Get OPTITEM for this feature - // - hrResult = pFeature->InitOptItem(hHeap, Sheet.pOptItem + wIndex); - - if (!SUCCEEDED(hrResult)) - { - ERR(ERRORTEXT("hrCommonPropSheetMethod: Failed to get OPTITEM for feature %s\r\n"), pFeature->GetKeyword()); - goto Exit; - } - - } - - // - // Add property sheets. - // - lResult = pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, - CPSFUNC_ADD_PCOMPROPSHEETUI, - (LPARAM)&Sheet, - (LPARAM)&dwSheets); - - - if (!lResult) - { - ERR(DLLTEXT("hrCommonPropSheetMethod() pfnComPropSheet returned %d.\r\n"), lResult); - ERR(ERRORTEXT("ComPropSheet failed! Failed to add device settings tab!\n")); - } - } - break; - - case PROPSHEETUI_REASON_GET_INFO_HEADER: - { - // - // Set header title - // - PPROPSHEETUI_INFO_HEADER pHeader = (PPROPSHEETUI_INFO_HEADER)lParam; - pHeader->pTitle = (LPTSTR)PROP_TITLE; - lResult = TRUE; - } - break; - - case PROPSHEETUI_REASON_GET_ICON: - // - // No icon - // - lResult = 0; - break; - - case PROPSHEETUI_REASON_SET_RESULT: - { - PSETRESULT_INFO pInfo = (PSETRESULT_INFO)lParam; - lResult = pInfo->Result; - } - break; - - case PROPSHEETUI_REASON_DESTROY: - lResult = TRUE; - break; - } - - pPSUIInfo->Result = lResult; - -Exit: - - return hrResult; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// OEMCommonUICallBack -// -// Synopsis: -// Callback function to handle changes to the feature list panel -// added by this plug-in to the document properties UI. -// -// Returns: -// CPSUICB_ACTION_NONE if nothing further needs done. -// CPSUICB_ACTION_NO_APPLY_EXIT if settings changes were aborted -// -// -//---------------------------------------------------------------------------- -LONG APIENTRY -OEMCommonUICallBack( - _In_ PCPSUICBPARAM pCallbackParam - // struct containing all of the relevant callback parameters, - // including the reason that the callback is being made. - ) -{ - VERBOSE(DLLTEXT("OEMCommonUICallBack entry.")); - - WORD wItems = pCallbackParam->cOptItem; - LONG lReturn = CPSUICB_ACTION_NONE; - POPTITEM pOptItem = pCallbackParam->pOptItem; - PCBUSERDATA pUserData = (PCBUSERDATA) pCallbackParam->UserData; - HANDLE hHeap = pUserData->pOEMUIParam->hOEMHeap; - HRESULT hrResult = S_OK; - - VERBOSE(DLLTEXT("Reason = %d"), pCallbackParam->Reason); - - // - // If user has no permission to change anything, then simply - // return without any action - // - if (!pUserData->bPermission && - (pCallbackParam->Reason != CPSUICB_REASON_ABOUT)) - { - WARNING(DLLTEXT("OEMCommonUICallBack: User does not have appropriate permission!\r\n")); - lReturn = CPSUICB_ACTION_NONE; - } - else - { - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - if (wItems > 0) - { - // - // Save features if hiding std UI - // - hrResult = SaveFeatureOptItems(hHeap, - pUserData->pHelper, - pCallbackParam->hDlg, - pOptItem, - wItems); - - if (!SUCCEEDED(hrResult)) - { - // - // Return that we didn't save changes. - // NOTE: It is upto SaveFeatureOptItems() to display any - // UI for failure - // - lReturn = CPSUICB_ACTION_NO_APPLY_EXIT; - } - else - { - pUserData->pfnComPropSheet(pUserData->hComPropSheet, - CPSFUNC_SET_RESULT, - (LPARAM)pUserData->hPropPage, - (LPARAM)CPSUI_OK); - } - } - break; - - case CPSUICB_REASON_KILLACTIVE: - // - // This active property sheet page is changing, and this page is - // going inactive. - // - break; - - case CPSUICB_REASON_SETACTIVE: - // - // This property sheet page is about to become the active page. - // - default: - break; - } - } - - return lReturn; -} - - -//+--------------------------------------------------------------------------- -// -// Member: -// -// Synopsis: -// Creates and Initializes OptItems. -// -// Returns: -// Pointer to an array of optitems on success, else -// NULL on failure. -// -// -//---------------------------------------------------------------------------- -POPTITEM -CreateOptItems( - HANDLE hHeap, - // Heap to allocate data from - DWORD dwOptItems - // Number of opt items to allocate. - ) -{ - VERBOSE(DLLTEXT("CreateOptItems entry.")); - - POPTITEM pOptItems = NULL; - // OPTITEMs to be returned to caller. - - ULONG cbOptItems = 0; - // Number of bytes needed for optitems. - - // Allocate memory for OptItems. - if (SUCCEEDED(ULongMult( sizeof(OPTITEM), dwOptItems, &cbOptItems)) && - (pOptItems = (POPTITEM)HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cbOptItems)) != NULL) - { - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for (DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } - } - else - { - ERR(ERRORTEXT("CreateOptItems() failed to allocate memory for OPTITEMs!\r\n")); - } - - return pOptItems; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def deleted file mode 100644 index bf87f4c2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.def +++ /dev/null @@ -1,18 +0,0 @@ -; -; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -; ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -; PARTICULAR PURPOSE. -; -; Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -; -; Abstract: -; -; This file contains a listing of all of the methods to be exported -; from the DLL, as well as rules for how to name the exports. -; - -LIBRARY UIREPPLUG - -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h deleted file mode 100644 index 52980245..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.h +++ /dev/null @@ -1,55 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: UNIUIREP.H -// -// PURPOSE: Define common data types, and external function prototypes -// for UI replacement sample. -// -//-------------------------------------------------------------------------- - -#pragma once - -#define DLLTEXT(s) TEXT("[UIREPPLUG] ") TEXT(s) -#define FUNCTEXT(s) _T(__FUNCTION__) TEXT(s) -#define ERRORTEXT(s) TEXT("ERROR ") DLLTEXT(s) - -// -// OEM Signature is used to identify the -// private DEVMODE portion to mitigate against -// data corruption. Replace this with a unique string -// for your organization. -// -#define OEM_SIGNATURE 'UIRP' -#define OEM_VERSION 0x00000001L - -// -// OEM Signature and version. -// -#define PROP_TITLE L"UIRepPlug Page" - -// -// Printer registry keys where OEM data is stored. -// -#define UIREPPLUG_VALUE TEXT("UIREPPLUG_VALUE") -#define UIREPPLUG_DEVICE_VALUE TEXT("UIREPPLUG_DEVICE_VALUE") - -// -// Method prototypes -// - -HRESULT -hrCommonPropSheetMethod( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam, - IPrintCoreHelper* pHelper, - CFeatureCollection* pFeatures, - DWORD dwMode - ); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc b/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc deleted file mode 100644 index 67cad8ae..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/uniuirep/src/uniuirep.rc +++ /dev/null @@ -1,192 +0,0 @@ -//+-------------------------------------------------------------------------- -// -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2005 Microsoft Corporation. All Rights Reserved. -// -// FILE: uniuirep.rc -// -// PURPOSE: Resource script containing all localizable strings for this -// module -// -//-------------------------------------------------------------------------- - -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "UI Replacement PrintTicket Plugin." - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "UIREPPLUG" - VALUE "LegalCopyright", "Copyright � 1998 - 2005 Microsoft Corp." - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "UIREPPLUG.dll" - VALUE "ProductName", "Microsoft UIREPPLUG" - VALUE "ProductVersion", "1.1" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_SECTION "UIRepPlug Added Item" - IDS_NAME "UI Replacement PrintTicket Plugin" - IDS_DEVICE_SETTINGS_NAME "Device Settings" - IDS_CONSTRAINT_CONFLICT "There are one or more conflicting settings.\r\nDo you want driver to automatically resolve conflicts?" -END - -STRINGTABLE -BEGIN - IDS_RESDLL "Resource DLL" - IDS_GRAPHICS_MODE "Graphics Mode" - IDS_DUPLEX_UNIT "Duplex Unit" -END - -STRINGTABLE -BEGIN - IDS_UNIRESDLL "unires.dll" - IDS_RESOLUTION_600_DPI "600 x 600 dots per inch" - IDS_RESOLUTION_300_DPI "300 x 300 dots per inch" - IDS_RESOLUTION_150_DPI "150 x 150 dots per inch" - IDS_RASTERMODE "Raster mode" - IDS_HPGL2MODE "HPGL2 mode" - IDS_PAPERSIZE_LETTER "Letter" - IDS_PAPERSIZE_LEGAL "Legal" - IDS_PAPERSIZE_EXECUTIVE "Executive" - IDS_PAPERSIZE_A4 "A4" - IDS_PAPERSIZE_B5 "B5" - IDS_COLORMODE_MONO "Monochrome" - IDS_COLORMODE_24BPP "24 bits per pixel" - IDS_MISSINGNAME "<name missing>" -END - -STRINGTABLE -BEGIN - IDS_COLORMODE_8BPP "8 bits per pixel" - IDS_HALFTONE_AUTO "Auto Select" - IDS_HALFTONE_SUPERCELL_M "Super Cell" - IDS_HALFTONE_6x6_M "Dither 6x6" - IDS_HALFTONE_8x8_M "Dither 8x8" - IDS_UIREP_ENVTRAY "Envelope Feeder Tray" - IDS_INSTALLED_MEMORY "Device Memory" - IDS_MEMORY_STD "Standard Memory" - IDS_MEMORY_UPGRADE "16MB Upgrade" - -END - -STRINGTABLE -BEGIN - IDS_OUTBIN_STACKER "Stacker" - IDS_OUTBIN_DEFAULT "Default" -END - -STRINGTABLE -BEGIN - IDS_METAFILE_SPOOLING "Advanced Printing Features" - IDS_TEXT_ASGRX "Print Optimizations" -END - -STRINGTABLE -BEGIN - IDS_TTDL_DEFAULT "Automatic" - IDS_TTDL_TYPE1 "Outline" - IDS_TTDL_TYPE3 "Bitmap" - IDS_TTDL_TYPE42 "Native TrueType" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp deleted file mode 100644 index 71ffc11d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.cpp +++ /dev/null @@ -1,229 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -// This file is wrapped in fdevmode.cpp in other parts of the watermark sample. -// The appropriate precompiled header should be included there. -// #include "precomp.h - -#include "debug.h" -#include "devmode.h" - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - HRESULT hResult = S_OK; - POEMDEV pOEMDevIn = NULL; - POEMDEV pOEMDevOut = NULL; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION; - pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR; - hResult = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - break; - - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return hResult; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - HRESULT hCopy = S_OK; - - - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION; - pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR; - hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->bEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dfRotate = WATER_MARK_DEFAULT_ROTATION; - pOEMDevOut->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crTextColor = WATER_MARK_DEFAULT_COLOR; - hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - } - - return SUCCEEDED(hCopy); -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // bEnable should be either TRUE or FALSE. - if( (TRUE != pOEMDevmode->bEnabled) - && - (FALSE != pOEMDevmode->bEnabled) - ) - { - pOEMDevmode->bEnabled = WATER_MARK_DEFAULT_ENABLED; - } - - // dfRotate should be between 0 and 360 inclusive. - if( (0 > pOEMDevmode->dfRotate) - || - (360 < pOEMDevmode->dfRotate) - ) - { - pOEMDevmode->dfRotate = WATER_MARK_DEFAULT_ROTATION; - } - - // dwFontSize should be 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, or 72. - if(!IsValidFontSize(pOEMDevmode->dwFontSize)) - { - pOEMDevmode->dwFontSize = WATER_MARK_DEFAULT_FONTSIZE; - } - - // The high byte of the hi word should be zero. - if(0 != HIBYTE(HIWORD(pOEMDevmode->crTextColor))) - { - pOEMDevmode->crTextColor = WATER_MARK_DEFAULT_COLOR; - } - - // Make sure that water mark string is terminated. - pOEMDevmode->szWaterMark[WATER_MARK_TEXT_SIZE - 1] = L'\0'; - - return TRUE; -} - - -BOOL IsValidFontSize(DWORD dwFontSize) -{ - BOOL bValid = FALSE; - - - switch(dwFontSize) - { - case 8: - case 9: - case 10: - case 11: - case 12: - case 14: - case 16: - case 18: - case 20: - case 22: - case 24: - case 26: - case 28: - case 36: - case 48: - case 72: - bValid = TRUE; - break; - - default: - ERR(DLLTEXT("IsValidFontSize() found invalid font size\r\n")); - break; - } - - return bValid; -} - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h deleted file mode 100644 index f9df1f26..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/devmode.h +++ /dev/null @@ -1,56 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - -#define WATER_MARK_TEXT_SIZE 128 -#define WATER_MARK_DEFAULT_ENABLED TRUE -#define WATER_MARK_DEFAULT_ROTATION 30 -#define WATER_MARK_DEFAULT_FONTSIZE 28 -#define WATER_MARK_DEFAULT_COLOR RGB(230, 230, 230) -#define WATER_MARK_DEFAULT_TEXT L"WaterMark" - - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL bEnabled; - DOUBLE dfRotate; - DWORD dwFontSize; - COLORREF crTextColor; - WCHAR szWaterMark[WATER_MARK_TEXT_SIZE]; - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); -BOOL IsValidFontSize(DWORD dwFontSize); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h deleted file mode 100644 index f9615579..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/common/oem.h +++ /dev/null @@ -1,24 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997- 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: oem.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// - -#pragma once - - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj deleted file mode 100644 index 47a5db53..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj +++ /dev/null @@ -1,1090 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{4B90E6E4-34B2-460F-9BF7-D75B5334F2E5}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{37DC3583-1F5D-4DB4-A930-535E9C096174}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>WMARKPS</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKPS.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="command.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="wmarkps.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters deleted file mode 100644 index 7e7da8cc..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMARKPS.vcxproj.Filters +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{7E7CEB8F-7E3D-4FBB-AEBE-D62B0C9D9B2E}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{88C3214E-2B6E-4482-A2B8-16CD0E6A9A3A}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{3A0703EF-8A1F-4955-8F7E-0765109DEBF0}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="command.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - <ClInclude Include="command.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkps.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="wmarkps.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="WMarkPS.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def deleted file mode 100644 index fcfcd598..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY WMARKPS -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc deleted file mode 100644 index 9653478a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/WMarkPS.rc +++ /dev/null @@ -1,130 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Neutral resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) -#ifdef _WIN32 -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// PSCRIPT -// - -IDR_WATERMARK_DRAW RC_PSCRIPT drawmark.ps -IDR_WATERMARK_PROLOGUE RC_PSCRIPT wmark.ps - -#endif // Neutral resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "OEM Customization Water Mark Sample\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "WMarkPS\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "WMarkPS.DLL\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft WaterMark\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp deleted file mode 100644 index e4758d1c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.cpp +++ /dev/null @@ -1,410 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: command.cpp -// -// PURPOSE: Source module for OEM customized Command(s). -// - -#include "precomp.h" -#include "wmarkps.h" -#include "debug.h" -#include "command.h" -#include "resource.h" - - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -///////////////////////////////////////////////////////// -// Internal Macros & Defines -///////////////////////////////////////////////////////// - -// Macros to convert from Windows RGB to PostScript RGB -#define GetPS2Color(dw) ((dw) / 255.0) -#define GetPS2RValue(cr) (GetPS2Color(GetRValue(cr))) -#define GetPS2GValue(cr) (GetPS2Color(GetGValue(cr))) -#define GetPS2BValue(cr) (GetPS2Color(GetBValue(cr))) - - -// Initial buffer size -#define INITIAL_BUFFER_SIZE 16 - - -// String format defines characters -#define FORMAT_DELIM '!' -#define FORMAT_STRING_ANSI 's' -#define FORMAT_STRING_UNICODE 'S' -#define FORMAT_CHAR '%' - - -// Loop limiter. -#define MAX_LOOP 10 - - -///////////////////////////////////////////////////////// -// Internal ProtoTypes -///////////////////////////////////////////////////////// - -static PSTR GetPostScriptResource(HMODULE hModule, LPCTSTR pszResource, PDWORD pdwSize); -static PSTR CreateWaterMarkProlog(HMODULE hModule, PDWORD pdwSize, _In_ LPWSTR pszWaterMark, - DWORD dwFontSize, _In_ LPSTR pszColor, _In_ LPSTR pszAngle); -static PSTR DoWaterMarkProlog(HMODULE hModule, POEMDEV pOemDevmode, PDWORD pdwSize); -static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszProlog, ...); - - -//////////////////////////////////////////////////////////////////////////////////// -// The PSCRIPT driver calls this OEM function at specific points during output -// generation. This gives the OEM DLL an opportunity to insert code fragments -// at specific injection points in the driver's code. It should use -// DrvWriteSpoolBuf for generating any output it requires. - -HRESULT PSCommand(PDEVOBJ pdevobj, DWORD dwIndex, PVOID pData, DWORD cbSize, - IPrintOemDriverPS* pOEMHelp, PDWORD pdwReturn) -{ - BOOL bFreeProcedure = FALSE; - PSTR pProcedure = NULL; - DWORD dwLen = 0; - DWORD dwSize = 0; - HRESULT hResult = E_FAIL; - - VERBOSE(DLLTEXT("Entering OEMCommand...\r\n")); - - UNREFERENCED_PARAMETER(pData); - UNREFERENCED_PARAMETER(cbSize); - - switch (dwIndex) - { - case PSINJECT_BEGINPROLOG: - { - POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM; - - - VERBOSE(DLLTEXT("OEMCommand PSINJECT_BEGINPROLOG\r\n")); - - // Only do Water Mark PS prolog injection if Water Mark is enabled. - if(pOemDevmode->bEnabled) - { - pProcedure = DoWaterMarkProlog((HMODULE) pdevobj->hOEM, pOemDevmode, &dwSize); - bFreeProcedure = (NULL != pProcedure); - } - } - break; - - case PSINJECT_BEGINPAGESETUP: - { - POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM; - - - VERBOSE(DLLTEXT("OEMCommand PSINJECT_BEGINPAGESETUP\r\n")); - - // Only do Water Mark PS page injection if Water Mark is enabled. - if(pOemDevmode->bEnabled) - { - pProcedure = GetPostScriptResource((HMODULE) pdevobj->hOEM, MAKEINTRESOURCE(IDR_WATERMARK_DRAW), &dwSize); - } - } - break; - - default: - VERBOSE(DLLTEXT("PSCommand Default...\r\n")); - *pdwReturn = ERROR_NOT_SUPPORTED; - return E_NOTIMPL; - } - - if(NULL != pProcedure) - { - // Write PostScript to spool file. - dwLen = (DWORD)strlen(pProcedure); - if (dwLen > 0) - { - hResult = pOEMHelp->DrvWriteSpoolBuf(pdevobj, pProcedure, dwLen, &dwSize); - } - - // Set return values. - if(SUCCEEDED(hResult) && (dwLen == dwSize)) - { - *pdwReturn = ERROR_SUCCESS; - } - else - { - // Try to return meaningful - // error value. - *pdwReturn = GetLastError(); - if(ERROR_SUCCESS == *pdwReturn) - { - *pdwReturn = ERROR_WRITE_FAULT; - } - - // Make sure we return failure - // if the write didn't succeded. - if(SUCCEEDED(hResult)) - { - hResult = HRESULT_FROM_WIN32(*pdwReturn); - } - } - - if(bFreeProcedure) - { - // INVARIANT: pProcedure was created with 'new' and needs to be freed. - delete[] pProcedure; - } - } - else - { - // pProcedure will be NULL if water mark isn't enabled. - *pdwReturn = ERROR_NOT_SUPPORTED; - hResult = E_NOTIMPL; - } - - // dwLen should always equal dwSize. - ASSERT(dwLen == dwSize); - - return hResult; -} - - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a PostScript resource. -// -static PSTR GetPostScriptResource(HMODULE hModule, LPCTSTR pszResource, PDWORD pdwSize) -{ - PSTR pszPostScript = NULL; - HRSRC hFind = NULL; - HGLOBAL hResource = NULL; - - - VERBOSE(DLLTEXT("GetPostScriptResource() entered.\r\n")); - - // pszResource and pdwSize Parameters should not be NULL. - assert(NULL != pszResource); - assert(NULL != pdwSize); - - // Load PostScript resource. - hFind = FindResource(hModule, pszResource, MAKEINTRESOURCE(RC_PSCRIPT)); - //hFind = FindResource(hModule, pszResource, TEXT("PSCRIPT")); - if(NULL != hFind) - { - hResource = LoadResource(hModule, hFind); - if(NULL != hResource) - { - pszPostScript = (PSTR) LockResource(hResource); - *pdwSize = SizeofResource(hModule, hFind); - } - else - { - ERR(DLLTEXT("ERROR: Failed to load PSCRIPT resource!\r\n")); - } - } - else - { - ERR(DLLTEXT("ERROR: Failed to find PSCRIPT resource!\r\n")); - } - - // Should have found the PScript resource. - ASSERT(NULL != pszPostScript); - - return pszPostScript; -} - - -//////////////////////////////////////////////////////////////////////////////////// -// -// Formats Water Mark prolog with parameter. -// -static PSTR CreateWaterMarkProlog(HMODULE hModule, PDWORD pdwSize, _In_ LPWSTR pszWaterMark, - DWORD dwFontSize, _In_ LPSTR pszColor, _In_ LPSTR pszAngle) -{ - PSTR pszProlog = NULL; - PSTR pszResource = NULL; - - // Parameters that are pointers should not be NULL! - if (NULL == pdwSize || - NULL == pszWaterMark || - NULL == pszColor || - NULL == pszAngle) - { - ERR(DLLTEXT("CreateWaterMarkProlog: Invalid argument\r\n")); - return NULL; - } - - // Get Water Mark prolog resource. - pszResource = GetPostScriptResource(hModule, MAKEINTRESOURCE(IDR_WATERMARK_PROLOGUE), pdwSize); - - // Allocate and format the Water Mark Prolog with the correct values. - if(NULL != pszResource) - { - *pdwSize = FormatResource(pszResource, &pszProlog, pszWaterMark, dwFontSize, pszColor, pszAngle); - } - else - { - ERR(DLLTEXT("CreateWaterMarkProlog: Failed to get resource\r\n")); - } - - return pszProlog; -} - - -//////////////////////////////////////////////////////////////////////////////////// -// -// Does the pre-formating of parameters before calling the routine -// that creates the prolog. -// -static PSTR DoWaterMarkProlog(HMODULE hModule, POEMDEV pOemDevmode, PDWORD pdwSize) -{ - PSTR pszProlog = NULL; - - // Parameters should not be NULL. - if (NULL == hModule || - NULL == pOemDevmode || - NULL == pdwSize) - { - ERR(DLLTEXT("CreateWaterMarkProlog: Invalid argument\r\n")); - return NULL; - } - - // Only do prolog if Water Mark is enabled. - if(pOemDevmode->bEnabled) - { - CHAR szColor[INITIAL_BUFFER_SIZE] = "\0"; - DWORD dwAngleSize = INITIAL_BUFFER_SIZE; - LPSTR pszAngle = NULL; - - // Format angle as a string. - do - { - if(NULL != pszAngle) - { - delete[] pszAngle; - dwAngleSize *= 2; - } - pszAngle = new CHAR[dwAngleSize]; - - } while( (NULL != pszAngle) - && - (dwAngleSize < 1024) - && - (FAILED(StringCbPrintfA(pszAngle, dwAngleSize, "%.1f", pOemDevmode->dfRotate)) ) - ); - - if(NULL != pszAngle) - { - // Format text color as string. - if(FAILED(StringCbPrintfA(szColor, sizeof(szColor), - "%1.2f %1.2f %1.2f", - GetPS2RValue(pOemDevmode->crTextColor), - GetPS2GValue(pOemDevmode->crTextColor), - GetPS2BValue(pOemDevmode->crTextColor)))) - { - ERR(DLLTEXT("DoWaterMarkProlog() failed to create PostScript color string for water mark.")); - } - - // Create Water Mark prolog. - pszProlog = CreateWaterMarkProlog(hModule, pdwSize, pOemDevmode->szWaterMark, - pOemDevmode->dwFontSize, szColor, pszAngle); - - // Angle string is no longer needed. - delete[] pszAngle; - } - } - - return pszProlog; -} - - -//////////////////////////////////////////////////////////////////////////////////// -// -// Formats Resource. -// -static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszBuffer, ...) -{ - DWORD dwSize = (DWORD)strlen(pszResource) + MAX_PATH; - DWORD dwLoop = 0; - va_list vaList; - HRESULT hResult = E_FAIL; - - - va_start(vaList, ppszBuffer); - - // *ppszBuffer should be NULL when passed in. - *ppszBuffer = NULL; - - // Allocate and format the string. - do { - - if(NULL != *ppszBuffer) - { - delete[] *ppszBuffer; - } - *ppszBuffer = new CHAR[dwSize]; - if(NULL == *ppszBuffer) - { - goto Cleanup; - } - - hResult = StringCbVPrintfA(*ppszBuffer, dwSize, pszResource, vaList); - - if(STRSAFE_E_INSUFFICIENT_BUFFER == hResult) - { - dwSize *= 2; - } - - } while ( FAILED(hResult) && (dwLoop++ < MAX_LOOP)); - -Cleanup: - - // Check to see if we hit error. - if(FAILED(hResult)) - { - if(NULL != *ppszBuffer) - { - delete[] *ppszBuffer; - *ppszBuffer = NULL; - } - } - - va_end(vaList); - - if(*ppszBuffer) - { - DWORD dwToReturn = 0; - - if(SUCCEEDED(SIZETToDWord(strlen(*ppszBuffer), &dwToReturn))) - { - return dwToReturn; - } - } - return 0; -} - - -DWORD CharSize(DWORD dwValue, DWORD dwBase) -{ - DWORD dwSize = 1; - - - // Make sure taht base is more than 2. - if(dwBase < 2) - { - return dwSize; - } - - // Loop until dwValue is less than dwBase, - // dividing by dwBase each time. - while(dwValue >= dwBase) - { - dwValue /= dwBase; - ++dwSize; - } - - return dwSize; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h deleted file mode 100644 index 4b74bd77..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/command.h +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Command.h -// -// -// PURPOSE: Define common data types, and external function prototypes -// for OEM Command function(s). -// -#pragma once - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT PSCommand(PDEVOBJ, DWORD, PVOID, DWORD, IPrintOemDriverPS*, PDWORD pdwReturn); - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp deleted file mode 100644 index 3aa73908..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/dllentry.cpp +++ /dev/null @@ -1,54 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// -// - -#include "precomp.h" -#include "wmarkps.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// - -// DllMain isn't called/used for kernel mode version. -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps Binary files differdeleted file mode 100644 index 4e0fa74e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/drawmark.ps +++ /dev/null diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp deleted file mode 100644 index e7e2d472..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/fdevmode.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fDevmode.cpp -// -// -// PURPOSE: Place holder file for devmode functions. -// - -#include "precomp.h" -#include "wmarkps.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -#include <DEVMODE.CPP> diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp deleted file mode 100644 index 5e892275..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.cpp +++ /dev/null @@ -1,491 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// -// -#pragma once - -#include "precomp.h" - -#include "wmarkps.h" -#include "debug.h" -#include "command.h" -#include "intrface.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0; // Count of active components -static long g_cServerLocks = 0; // Count of locks - - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkPS body -// -IWaterMarkPS::~IWaterMarkPS() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - - -HRESULT __stdcall IWaterMarkPS::QueryInterface(const IID& iid, void** ppv) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface IUnknown.\r\n")); - } - else if (iid == IID_IPrintOemPS) - { - *ppv = static_cast<IPrintOemPS*>(this); - VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface IPrintOemPs.\r\n")); - } - else - { -#if DBG && defined(USERMODE_DRIVER) - TCHAR szOutput[80] = {0}; - StringFromGUID2(iid, szOutput, _countof(szOutput)); // can not fail! - VERBOSE(DLLTEXT("IWaterMarkPS::QueryInterface interface not supported.\r\n")); -#endif - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IWaterMarkPS::AddRef() -{ - VERBOSE(DLLTEXT("IWaterMarkPS::AddRef() entry.\r\n")); - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IWaterMarkPS::Release() -{ - VERBOSE(DLLTEXT("IWaterMarkPS::Release() entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - - -HRESULT __stdcall IWaterMarkPS::GetInfo ( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::GetInfo entry.\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - VERBOSE(DLLTEXT("IWaterMarkPS::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - if(OEMGI_GETPUBLISHERINFO != dwMode) - { - *pcbNeeded = sizeof(DWORD); - } - else - { - *pcbNeeded = sizeof(PUBLISHERINFO); - return E_FAIL; - } - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IWaterMarkPS::GetInfo() exit insufficient buffer!\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - case OEMGI_GETPUBLISHERINFO: - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IWaterMarkPS::GetInfo() exit mode not supported.\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - return S_OK; -} - -HRESULT __stdcall IWaterMarkPS::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::PublishDriverInterface() entry.\r\n")); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverPS, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - - -HRESULT __stdcall IWaterMarkPS::EnableDriver(DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::EnableDriver() entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pded); - - // Need to return S_OK so that DisableDriver() will be called, which Releases - // the reference to the Printer Driver's interface. - // If error occurs, return E_FAIL. - return S_OK; -} - -HRESULT __stdcall IWaterMarkPS::DisableDriver(VOID) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::DisaleDriver() entry.\r\n")); - - // Release reference to Printer Driver's interface. - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall IWaterMarkPS::DisablePDEV( - PDEVOBJ pdevobj) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::DisablePDEV() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IWaterMarkPS::EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::EnablePDEV() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(pGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - UNREFERENCED_PARAMETER(pDevInfo); - UNREFERENCED_PARAMETER(pded); - UNREFERENCED_PARAMETER(pDevOem); - - return E_NOTIMPL; -} - - -HRESULT __stdcall IWaterMarkPS::ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew) -{ - VERBOSE(DLLTEXT("IWaterMarkPS::ResetPDEV() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkPS::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IWaterMarkPS:DevMode entry.\n")); - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IWaterMarkPS::Command( - PDEVOBJ pdevobj, - DWORD dwIndex, - PVOID pData, - DWORD cbSize, - OUT DWORD *pdwResult) -{ - HRESULT hResult = E_NOTIMPL; - - - VERBOSE(DLLTEXT("IWaterMarkPS::Command() entry.\r\n")); - hResult = PSCommand(pdevobj, dwIndex, pData, cbSize, m_pOEMHelp, pdwResult); - - return hResult; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this); - } - else - { - VERBOSE(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n")); - *ppv = NULL; - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //VERBOSE(DLLTEXT("Class factory:\t\tCreate component.")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - IWaterMarkPS* pOemCP = new IWaterMarkPS; - if (pOemCP == NULL) - { - return E_OUTOFMEMORY; - } - - // Get the requested interface. - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCP->Release(); - return hr; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - VERBOSE(DLLTEXT("DllCanUnloadNow entered.\r\n")); - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:\tCreate class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMRENDER) - { - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hr; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h deleted file mode 100644 index 7a4a3c84..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/intrface.h +++ /dev/null @@ -1,116 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkPS -// -// Interface for PostScript OEM sample rendering module -// -class IWaterMarkPS : public IPrintOemPS -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for OEM to specify DDI hook out - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM to contruct its own PDEV - // - - STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommand - PSCRIPT only, return E_NOTIMPL on Unidrv - // - - STDMETHOD(Command) (THIS_ PDEVOBJ pdevobj, - DWORD dwIndex, - PVOID pData, - DWORD cbSize, - OUT DWORD *pdwResult); - - // - - IWaterMarkPS() { m_cRef = 1; m_pOEMHelp = NULL; }; - ~IWaterMarkPS(); - -protected: - LONG m_cRef; - IPrintOemDriverPS* m_pOEMHelp; -}; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h deleted file mode 100644 index 1c44a730..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precomp.h +++ /dev/null @@ -1,51 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// Safe integer functions to detect integer overflow/underflow conditions: -#include <intsafe.h> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h deleted file mode 100644 index 819dbd98..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/resource.h +++ /dev/null @@ -1,18 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by WMarkPS.rc -// -#define IDR_WATERMARK_PROLOGUE 1 -#define IDR_WATERMARK_DRAW 2 -#define RC_PSCRIPT 0x5053 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 102 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps deleted file mode 100644 index e9200e65..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmark.ps +++ /dev/null @@ -1,33 +0,0 @@ -userdict /DrawWaterMark { -userdict begin -/Watermark (%ls) def -/FontSize %d def -/Font /Helvetica def -/WaterMarkColor {%s setrgbcolor} bind def -/Angle %s def - -gsave -initgraphics - -Angle rotate - -clippath -pathbbox /MaxY exch def /MaxX exch def /MinY exch def /MinX exch def - -Font findfont FontSize scalefont setfont -/MarkLen Watermark stringwidth pop 1.20 mul def -WaterMarkColor - -MinY FontSize MaxY -{ - MinX MarkLen MaxX - { - 1 index moveto Watermark show - } for - pop -} bind for -grestore -end -} bind put - -
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h deleted file mode 100644 index d16c6581..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkps/wmarkps.h +++ /dev/null @@ -1,25 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMarkPS.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// -#pragma once - -#include <OEM.H> -#include <DEVMODE.H> - - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define DLLTEXT(s) "WMARKPS: " s - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj deleted file mode 100644 index 323f5446..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj +++ /dev/null @@ -1,1096 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{BE3E261C-4EF8-4BC2-AAD2-49F1292512CE}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{975265B8-77E8-4C62-AD5A-C554605BE6DF}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>WMARKUI</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="WMARKUI.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="WMARKUI.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters deleted file mode 100644 index d5115804..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/WMARKUI.vcxproj.Filters +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{0B03BE39-8181-4B6F-B5BE-004CA8F13B55}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{F94EBF1D-EB81-461D-9960-95F6ABDC92C2}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{43EA5B9C-BE86-4C59-BE80-7DAF38D33EEE}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="WMARKUI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="WMARKUI.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="wmarkui.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp deleted file mode 100644 index ae16c921..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/dllentry.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// -// PURPOSE: Source module for DLL entry function(s). -// - - -#include "precomp.h" -#include "wmarkui.h" -#include "debug.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp deleted file mode 100644 index bc8d4b6e..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/fdevmode.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fDevmode.cpp -// -// -// PURPOSE: Place holder file for devmode functions. -// - - -#include "precomp.h" -#include "wmarkui.h" - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -#include <DEVMODE.CPP> diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp deleted file mode 100644 index 39f8e57a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// -// PURPOSE: File that contains all the globals. -// - -#pragma once -#include "precomp.h" -#include "wmarkui.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h deleted file mode 100644 index 5472f514..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/globals.h +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// - -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp deleted file mode 100644 index d610f46d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.cpp +++ /dev/null @@ -1,522 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.cpp -// -// PURPOSE: Implement the UI interface plug-in -// - -#include "precomp.h" - -#include "wmarkui.h" -#include "debug.h" -#include "intrface.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - - - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkUI body -// -HRESULT __stdcall IWaterMarkUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:QueryInterface entry.\r\n\r\n")); - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IUnknown.\r\n\r\n")); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IPrintOemUI.\r\n")); - } - else - { - VERBOSE(DLLTEXT("IWaterMarkUI::QueryInterface: interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IWaterMarkUI::AddRef() -{ - VERBOSE(DLLTEXT("IWaterMarkUI:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IWaterMarkUI::Release() -{ - VERBOSE(DLLTEXT("IWaterMarkUI:Release entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -HRESULT __stdcall IWaterMarkUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:PublishDriverInterface entry.\r\n")); - - UNREFERENCED_PARAMETER(pIUnknown); - - // Don't use the DriverInterface, so don't store it. - - return S_OK; -} - -HRESULT __stdcall IWaterMarkUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo entry.\r\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit pcbNeeded is NULL!\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit S_OK.\r\r\n")); - return S_OK; -} - -HRESULT __stdcall IWaterMarkUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevMode entry.\r\n")); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IWaterMarkUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:CommonUIProp entry.\r\n")); - - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -HRESULT __stdcall IWaterMarkUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DocumentPropertySheets entry.\r\n")); - - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevicePropertySheets entry.\r\n")); - - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DeviceCapabilities entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevQueryPrintEx entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:UpgradePrinter entry.\r\n")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:PrinterEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DriverEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -HRESULT __stdcall IWaterMarkUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:QueryColorProfile entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IWaterMarkUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:FontInstallerDlgProc entry.\r\n")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IWaterMarkUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:UpdateExternalFonts entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - WARNING(DLLTEXT("IOemCF::QueryInterface: interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IWaterMarkUI* pOemCB = new IWaterMarkUI ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h deleted file mode 100644 index cccfce7d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/intrface.h +++ /dev/null @@ -1,177 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: intrface.H -// -// PURPOSE: Define the UI interface plug-in -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkUI -// -class IWaterMarkUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - - IWaterMarkUI() { m_cRef = 1; }; - ~IWaterMarkUI() { }; - -protected: - LONG m_cRef; -}; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h deleted file mode 100644 index e861cd21..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precomp.h +++ /dev/null @@ -1,50 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.h -// -// PURPOSE: Header files that should be in the precompiled header. - -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include "WINDDIUI.H" -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h deleted file mode 100644 index 5993d40c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/resource.h +++ /dev/null @@ -1,24 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by wmarkui.rc -// -#define IDS_WATERMARK 1 -#define IDS_TEXT 2 -#define IDS_FONTSIZE 3 -#define IDS_ANGLE 4 -#define IDS_COLOR 5 -#define IDS_GRAY 6 -#define IDS_RED 7 -#define IDS_GREEN 8 -#define IDS_BLUE 9 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp deleted file mode 100644 index c09e47c6..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.cpp +++ /dev/null @@ -1,590 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMarkUI.cpp -// -// -// PURPOSE: Main file for OEM UI test module. -// -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "wmarkui.h" - - -// This indicates to Prefast that this is a usermode driver file. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static DWORD FontSizeToIndex(DWORD dwFontSize); -static DWORD FontIndexToSize(DWORD dwIndex); -static DWORD TextColorToIndex(COLORREF crTextColor); -static COLORREF IndexToTextColor(DWORD dwIndex); -static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource); - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n")); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - // Don't have any Printer Proptery UI. - hResult = E_NOTIMPL; - break; - - default: - // Should never reach this! - ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode")); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM device or document property UI. -// -LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMUICallBack() entry.\r\n")); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->bEnabled = !pOEMUIParam->pOEMOptItems[0].Sel; - if(FAILED(StringCbCopyW(pOEMDev->szWaterMark, sizeof(pOEMDev->szWaterMark), (LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel))) - { - ERR(DLLTEXT("OEMUICallBack() failed to copy water mark text\r\n")); - } - pOEMDev->dwFontSize = FontIndexToSize(pOEMUIParam->pOEMOptItems[2].Sel); - pOEMDev->dfRotate = (DOUBLE) pOEMUIParam->pOEMOptItems[3].Sel; - pOEMDev->crTextColor = IndexToTextColor(pOEMUIParam->pOEMOptItems[4].Sel); - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 5; - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n")); - } - else if(dwMode == OEMCUIP_DOCPROP) - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n")); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // Water Mark Section Name. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_WATERMARK); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->bEnabled ? 0 : 1; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].pData = L"Enabled"; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].IconID = IDI_CPSUI_ON; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].pData = L"Disabled"; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = IDI_CPSUI_OFF; - - - // WaterMark Text. - pOEMUIParam->pOEMOptItems[1].Level = 2; - pOEMUIParam->pOEMOptItems[1].Flags = 0; - pOEMUIParam->pOEMOptItems[1].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_TEXT); - pOEMUIParam->pOEMOptItems[1].pSel = (LPTSTR) HeapAlloc(pOEMUIParam->hOEMHeap, HEAP_ZERO_MEMORY, MAX_PATH * sizeof(WCHAR)); - if (pOEMUIParam->pOEMOptItems[1].pSel == NULL) - { - ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n")); - return E_OUTOFMEMORY; - } - - if(FAILED(StringCbCopyW((LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel, MAX_PATH * sizeof(WCHAR), pOEMDev->szWaterMark))) - { - ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n")); - } - - pOEMUIParam->pOEMOptItems[1].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[1].pOptType->Type = TVOT_EDITBOX; - pOEMUIParam->pOEMOptItems[1].pOptType->pOptParam[1].IconID = sizeof(((POEMDEV)NULL)->szWaterMark)/sizeof(WCHAR); - - - // WaterMark Font Size. - pOEMUIParam->pOEMOptItems[2].Level = 2; - pOEMUIParam->pOEMOptItems[2].Flags = 0; - pOEMUIParam->pOEMOptItems[2].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_FONTSIZE); - pOEMUIParam->pOEMOptItems[2].Sel = FontSizeToIndex(pOEMDev->dwFontSize); - - pOEMUIParam->pOEMOptItems[2].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 16); - - pOEMUIParam->pOEMOptItems[2].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[0].pData = L"8"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[1].pData = L"9"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[2].pData = L"10"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[3].pData = L"11"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[4].pData = L"12"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[5].pData = L"14"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[6].pData = L"16"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[7].pData = L"18"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[8].pData = L"20"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[9].pData = L"22"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[10].pData = L"24"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[11].pData = L"26"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[12].pData = L"28"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[13].pData = L"36"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[14].pData = L"48"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[15].pData = L"72"; - - - // WaterMark Angle. - pOEMUIParam->pOEMOptItems[3].Level = 2; - pOEMUIParam->pOEMOptItems[3].Flags = 0; - pOEMUIParam->pOEMOptItems[3].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_ANGLE); - pOEMUIParam->pOEMOptItems[3].Sel = (LONG) pOEMDev->dfRotate; - - pOEMUIParam->pOEMOptItems[3].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[3].pOptType->Type = TVOT_UDARROW; - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].IconID = 0; - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].lParam = 360; - - - // WaterMark Color. - pOEMUIParam->pOEMOptItems[4].Level = 2; - pOEMUIParam->pOEMOptItems[4].Flags = 0; - pOEMUIParam->pOEMOptItems[4].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_COLOR); - pOEMUIParam->pOEMOptItems[4].Sel = TextColorToIndex(pOEMDev->crTextColor); - - pOEMUIParam->pOEMOptItems[4].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 4); - - pOEMUIParam->pOEMOptItems[4].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GRAY); - pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_RED); - pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[2].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GREEN); - pOEMUIParam->pOEMOptItems[4].pOptType->pOptParam[3].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_BLUE); - } - - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE(DLLTEXT("InitOptItems() entry.\r\n")); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE(DLLTEXT("CreateOptType() entry.\r\n")); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts Font point size to index in combo box. -// -static DWORD FontSizeToIndex(DWORD dwFontSize) -{ - DWORD dwIndex; - - - switch(dwFontSize) - { - case 8: - dwIndex = 0; - break; - - case 9: - dwIndex = 1; - break; - - case 10: - dwIndex = 2; - break; - - case 11: - dwIndex = 3; - break; - - case 12: - dwIndex = 4; - break; - - case 14: - dwIndex = 5; - break; - - case 16: - dwIndex = 6; - break; - - case 18: - dwIndex = 7; - break; - - case 20: - dwIndex = 8; - break; - - case 22: - dwIndex = 9; - break; - - case 24: - dwIndex = 10; - break; - - case 26: - dwIndex = 11; - break; - - default: - case 28: - dwIndex = 12; - break; - - case 36: - dwIndex = 13; - break; - - case 48: - dwIndex = 14; - break; - - case 72: - dwIndex = 15; - break; - } - - - return dwIndex; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts Font combo box index to font point size. -// -static DWORD FontIndexToSize(DWORD dwIndex) -{ - DWORD dwFontSize = 0; - - - switch(dwIndex) - { - case 0: - dwFontSize = 8; - break; - - case 1: - dwFontSize = 9; - break; - - case 2: - dwFontSize = 10; - break; - - case 3: - dwFontSize = 11; - break; - - case 4: - dwFontSize = 12; - break; - - case 5: - dwFontSize = 14; - break; - - case 6: - dwFontSize = 16; - break; - - case 7: - dwFontSize = 18; - break; - - case 8: - dwFontSize = 20; - break; - - case 9: - dwFontSize = 22; - break; - - case 10: - dwFontSize = 24; - break; - - case 11: - dwFontSize = 26; - break; - - case 12: - dwFontSize = 28; - break; - - case 13: - dwFontSize = 36; - break; - - case 14: - dwFontSize = 48; - break; - - case 15: - dwFontSize = 72; - break; - } - - return dwFontSize; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts text color to combo box index. -// -static DWORD TextColorToIndex(COLORREF crTextColor) -{ - DWORD dwIndex; - - - // The color is what ever color is dominate. If none are, then it is gray. - if( (GetRValue(crTextColor) > GetGValue(crTextColor)) - && - (GetGValue(crTextColor) >= GetBValue(crTextColor)) - ) - { - // Set index to red. - dwIndex = 1; - } - else if( (GetRValue(crTextColor) < GetGValue(crTextColor)) - && - (GetGValue(crTextColor) > GetBValue(crTextColor)) - ) - { - // Set index to green. - dwIndex = 2; - } - else if( (GetRValue(crTextColor) <= GetGValue(crTextColor)) - && - (GetGValue(crTextColor) < GetBValue(crTextColor)) - ) - { - // Set index to blue. - dwIndex = 3; - } - else - { - // Set index to gray. - dwIndex = 0; - } - - return dwIndex; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts text combo box index to text color. -// -static COLORREF IndexToTextColor(DWORD dwIndex) -{ - COLORREF crTextColor; - - // Map index to desired text color. - // We just support 4 colors in the UI: Red, Green, Blue, and gray. - // The rendering module is capable of using any color for the Water Mark Text. - switch(dwIndex) - { - case 1: - // Color is red. - crTextColor = RGB(255, 216, 216); - break; - - case 2: - // Color is green. - crTextColor = RGB(216, 255, 216); - break; - - case 3: - // Color is blue. - crTextColor = RGB(216, 216, 255); - break; - - default: - case 0: - // Color is gray. - crTextColor = WATER_MARK_DEFAULT_COLOR; - break; - } - - return crTextColor; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - - VERBOSE(DLLTEXT("GetStringResource() entered.\r\n")); - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - PTSTR pTemp; - - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString(hModule, uResource, pszString, dwSize); - pTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pTemp) - { - pszString = pTemp; - } - } - else - { - ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - } - - return pszString; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def deleted file mode 100644 index 8bea2782..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY WMARKUI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h deleted file mode 100644 index 909056be..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.h +++ /dev/null @@ -1,35 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMarkUI.H -// -// PURPOSE: Define common data types, and external function prototypes -// for WaterMark UI. -// -#pragma once - -#include <OEM.H> -#include <DEVMODE.H> -#include "globals.h" - - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - - -// OEM Signature and version. -#define PROP_TITLE L"WaterMark UI Page" -#define DLLTEXT(s) "WMARKUI: " s - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc deleted file mode 100644 index 3ac11d52..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermark/wmarkui/wmarkui.rc +++ /dev/null @@ -1,128 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team\0" - VALUE "CompanyName", "Microsoft Corp.\0" - VALUE "FileDescription", "WaterMark UI\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "WMarkUI\0" - VALUE "LegalCopyright", "Copyright � 1998-2003\0" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation\0" - VALUE "OriginalFilename", "WMarkUI.dll\0" - VALUE "PrivateBuild", "\0" - VALUE "ProductName", "Microsoft WaterMark\0" - VALUE "ProductVersion", "1.0\0" - VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - IDS_WATERMARK "Water Mark" - IDS_TEXT "Text" - IDS_FONTSIZE "Font Size" - IDS_ANGLE "Angle" - IDS_COLOR "Color" - IDS_GRAY "Gray" - IDS_RED "Red" - IDS_GREEN "Green" - IDS_BLUE "Blue" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h deleted file mode 100644 index 0414569c..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/debug.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Debug.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debugging functions. Also defines the various debug macros. -// -// - -#pragma once - -///////////////////////////////////////////////////////// -// Macros -///////////////////////////////////////////////////////// -// -// These macros are used for debugging purposes. They expand -// to white spaces on a free build. Here is a brief description -// of what they do and how they are used: -// -// giDebugLevel -// Global variable which set the current debug level to control -// the amount of debug messages emitted. -// -// WARNING(msg) -// Display a message if the current debug level is <= DBG_WARNING. -// The message format is: WRN filename (linenumber): message -// -// ERR(msg) -// Similiar to WARNING macro above - displays a message -// if the current debug level is <= DBG_ERROR. -// -// ASSERT(cond) -// Verify a condition is true. If not, force a breakpoint. -// -// RIP(msg) -// Display a message and force a breakpoint. -// -// Usage: -// WARNING("App passed NULL pointer, ignoring...\n"); -// - -#define DBG_VERBOSE 0 -#define DBG_WARNING 1 -#define DBG_ERROR 2 -#define DBG_NONE 3 - -// VC and Build use different debug defines. -#if defined (DBG) || defined (_DEBUG) - - // __declspec(selectany) ensures that even if this is defined in multiple compilation - // modules, they will all resolve to the same symbol in the linked DLL - __declspec(selectany) INT giDebugLevel = 2; - - #define STRINGIZE(x) #x - #define QUOTE(x) STRINGIZE(x) - #define FILE_AND_LINE __FILE__ "@" QUOTE(__LINE__) - - #define VERBOSE(msg) { if(giDebugLevel <= DBG_VERBOSE) OutputDebugStringA( FILE_AND_LINE ": " msg); } - #define WARNING(msg) { if(giDebugLevel <= DBG_WARNING) OutputDebugStringA( FILE_AND_LINE ": Warning: " msg); } - #define ERR(msg) { if(giDebugLevel <= DBG_ERROR) OutputDebugStringA(FILE_AND_LINE ": Error:" msg); } - #define ASSERT(cond) { if (!(cond)) RIP("\n"); } - #define RIP(msg) { OutputDebugStringA(FILE_AND_LINE ": Error (not recoverable): " msg); DebugBreak(); } - -#else // !DBG - - #define VERBOSE(msg) - #define WARNING(msg) - #define ERR(msg) - #define ASSERT(cond) - #define RIP(msg) - -#endif - - - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp deleted file mode 100644 index 328d6fb4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.cpp +++ /dev/null @@ -1,216 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.cpp -// -// PURPOSE: Implementation of Devmode functions shared with OEM UI and OEM rendering modules. -// - -// This file is wrapped in fdebug.cpp in other parts of the watermark sample. -// The appropriate precompiled header should be included there. -// #include "precomp.h -#include "debug.h" -#include "devmode.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam) -{ - HRESULT hResult = S_OK; - POEMDEV pOEMDevIn = NULL; - POEMDEV pOEMDevOut = NULL; - - - // Verify parameters. - if( (NULL == pOemDMParam) - || - ( (OEMDM_SIZE != dwMode) - && - (OEMDM_DEFAULT != dwMode) - && - (OEMDM_CONVERT != dwMode) - && - (OEMDM_MERGE != dwMode) - ) - ) - { - ERR(DLLTEXT("DevMode() ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Cast generic (i.e. PVOID) to OEM private devomode pointer type. - pOEMDevIn = (POEMDEV) pOemDMParam->pOEMDMIn; - pOEMDevOut = (POEMDEV) pOemDMParam->pOEMDMOut; - - switch(dwMode) - { - case OEMDM_SIZE: - pOemDMParam->cbBufSize = sizeof(OEMDEV); - break; - - case OEMDM_DEFAULT: - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR; - hResult = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - break; - - case OEMDM_CONVERT: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - break; - - case OEMDM_MERGE: - ConvertOEMDevmode(pOEMDevIn, pOEMDevOut); - MakeOEMDevmodeValid(pOEMDevOut); - break; - } - - return hResult; -} - - -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut) -{ - HRESULT hCopy = S_OK; - - - if( (NULL == pOEMDevIn) - || - (NULL == pOEMDevOut) - ) - { - ERR(DLLTEXT("ConvertOEMDevmode() invalid parameters.\r\n")); - return FALSE; - } - - // Check OEM Signature, if it doesn't match ours, - // then just assume DMIn is bad and use defaults. - if(pOEMDevIn->dmOEMExtra.dwSignature == pOEMDevOut->dmOEMExtra.dwSignature) - { - VERBOSE(DLLTEXT("Converting private OEM Devmode.\r\n")); - - // Set the devmode defaults so that anything the isn't copied over will - // be set to the default value. - pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR; - hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - - // Copy the old structure in to the new using which ever size is the smaller. - // Devmode maybe from newer Devmode (not likely since there is only one), or - // Devmode maybe a newer Devmode, in which case it maybe larger, - // but the first part of the structure should be the same. - - // DESIGN ASSUMPTION: the private DEVMODE structure only gets added to; - // the fields that are in the DEVMODE never change only new fields get added to the end. - - memcpy(pOEMDevOut, pOEMDevIn, __min(pOEMDevOut->dmOEMExtra.dwSize, pOEMDevIn->dmOEMExtra.dwSize)); - - // Re-fill in the size and version fields to indicated - // that the DEVMODE is the current private DEVMODE version. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - } - else - { - WARNING(DLLTEXT("Unknown DEVMODE signature, pOEMDMIn ignored.\r\n")); - - // Don't know what the input DEVMODE is, so just use defaults. - pOEMDevOut->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevOut->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevOut->dmOEMExtra.dwVersion = OEM_VERSION; - pOEMDevOut->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED; - pOEMDevOut->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE; - pOEMDevOut->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR; - hCopy = StringCbCopyW(pOEMDevOut->szWaterMark, sizeof(pOEMDevOut->szWaterMark), WATER_MARK_DEFAULT_TEXT); - } - - return SUCCEEDED(hCopy); -} - - -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode) -{ - if(NULL == pOEMDevmode) - { - return FALSE; - } - - // ASSUMPTION: pOEMDevmode is large enough to contain OEMDEV structure. - - // Make sure that dmOEMExtra indicates the current OEMDEV structure. - pOEMDevmode->dmOEMExtra.dwSize = sizeof(OEMDEV); - pOEMDevmode->dmOEMExtra.dwSignature = OEM_SIGNATURE; - pOEMDevmode->dmOEMExtra.dwVersion = OEM_VERSION; - - // bEnable should be either TRUE or FALSE. - if( (TRUE != pOEMDevmode->bWmarkEnabled) - && - (FALSE != pOEMDevmode->bWmarkEnabled) - ) - { - pOEMDevmode->bWmarkEnabled = WATER_MARK_DEFAULT_ENABLED; - } - - - // dwWmarkFontSize should be 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, or 72. - if(!IsValidFontSize(pOEMDevmode->dwWmarkFontSize)) - { - pOEMDevmode->dwWmarkFontSize = WATER_MARK_DEFAULT_FONTSIZE; - } - - // The high byte of the hi word should be zero. - if(0 != HIBYTE(HIWORD(pOEMDevmode->crWmarkTextColor))) - { - pOEMDevmode->crWmarkTextColor = WATER_MARK_DEFAULT_COLOR; - } - - // Make sure that water mark string is terminated. - pOEMDevmode->szWaterMark[WATER_MARK_TEXT_SIZE - 1] = L'\0'; - - return TRUE; -} - - -BOOL IsValidFontSize(DWORD dwWmarkFontSize) -{ - BOOL bValid = FALSE; - - - switch(dwWmarkFontSize) - { - case 8: - case 9: - case 10: - case 11: - case 12: - case 14: - case 16: - case 18: - case 20: - case 22: - case 24: - case 26: - case 28: - case 36: - case 48: - case 72: - bValid = TRUE; - break; - - default: - ERR(DLLTEXT("IsValidFontSize() found invalid font size\r\n")); - break; - } - - return bValid; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h deleted file mode 100644 index de7ee919..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/devmode.h +++ /dev/null @@ -1,52 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Devmode.h -// -// PURPOSE: Define common data types, and external function prototypes -// for devmode functions. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Devmode Defines -//////////////////////////////////////////////////////// - -#define WATER_MARK_TEXT_SIZE 128 -#define WATER_MARK_DEFAULT_ENABLED TRUE -#define WATER_MARK_DEFAULT_FONTSIZE 28 -#define WATER_MARK_DEFAULT_COLOR RGB(230, 230, 230) -#define WATER_MARK_DEFAULT_TEXT L"WaterMark" - - - -//////////////////////////////////////////////////////// -// OEM Devmode Type Definitions -//////////////////////////////////////////////////////// - -typedef struct tagOEMDEV -{ - OEM_DMEXTRAHEADER dmOEMExtra; - BOOL bWmarkEnabled; - DWORD dwWmarkFontSize; - COLORREF crWmarkTextColor; - WCHAR szWaterMark[WATER_MARK_TEXT_SIZE]; - -} OEMDEV, *POEMDEV; - -typedef const OEMDEV *PCOEMDEV; - - - -///////////////////////////////////////////////////////// -// ProtoTypes -///////////////////////////////////////////////////////// - -HRESULT hrOEMDevMode(DWORD dwMode, POEMDMPARAM pOemDMParam); -BOOL ConvertOEMDevmode(PCOEMDEV pOEMDevIn, POEMDEV pOEMDevOut); -BOOL MakeOEMDevmodeValid(POEMDEV pOEMDevmode); -BOOL IsValidFontSize(DWORD dwWmarkFontSize); diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h deleted file mode 100644 index d63814ad..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/common/oem.h +++ /dev/null @@ -1,23 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997- 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: oem.H -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// -#pragma once - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define OEM_SIGNATURE 'MSFT' -#define OEM_VERSION 0x00000001L - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj deleted file mode 100644 index 4e88c6a9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj +++ /dev/null @@ -1,1150 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{1D0BAFC7-C244-4EC1-9DE3-5AC3937DDD62}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{39C728EB-3DCE-45B1-BC93-76678BB2A0A6}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>WMARKUNIUI</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;.</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);kernel32.lib;user32.lib;ole32.lib;advapi32.lib;uuid.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <AdditionalOptions>%(AdditionalOptions) /ignore:4070</AdditionalOptions> - <ModuleDefinitionFile>WMARKUNIUI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="globals.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="WMARKUI.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="WMARKUI.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters deleted file mode 100644 index 660c3ddf..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/WMARKUNIUI.vcxproj.Filters +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{6078E9AC-04DC-4263-AA1A-9501916D09D2}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{0E5A51EE-1609-4F50-8955-63F7D0C1A20E}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{C5E399CF-1AAE-4A3D-B806-84CCA8D9930D}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="globals.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="WMARKUI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - <ClInclude Include="globals.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="intrface.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkui.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="WMARKUI.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="wmarkuniui.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp deleted file mode 100644 index f4769ff4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/dllentry.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "wmarkui.h" -#include "debug.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - ghInstance = hInst; - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp deleted file mode 100644 index c82072c5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/fdevmode.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fDevmode.cpp -// -// -// PURPOSE: Place holder file for devmode functions. -// - -#include "precomp.h" -#include "wmarkui.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -#include <DEVMODE.CPP> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp deleted file mode 100644 index dd0ea334..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.cpp -// -// -// PURPOSE: File that contains all the globals. -// - -#include "precomp.h" -#include "wmarkui.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -HINSTANCE ghInstance = NULL; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h deleted file mode 100644 index eac586c2..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/globals.h +++ /dev/null @@ -1,21 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Globals.h -// -// -// PURPOSE: Lists of globals declared in Globals.cpp. -// -// -#pragma once - -/////////////////////////////////////// -// Globals -/////////////////////////////////////// - -// Module's Instance handle from DLLEntry of process. -extern HINSTANCE ghInstance; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp deleted file mode 100644 index cc8cceae..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.cpp +++ /dev/null @@ -1,525 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// - -#include "precomp.h" - -#include "wmarkui.h" -#include "debug.h" -#include "intrface.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0 ; // Count of active components -static long g_cServerLocks = 0 ; // Count of locks - - - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkUI body -// -HRESULT __stdcall IWaterMarkUI::QueryInterface(const IID& iid, void** ppv) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:QueryInterface entry.\r\n\r\n")); - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IUnknown.\r\n\r\n")); - } - else if (iid == IID_IPrintOemUI) - { - *ppv = static_cast<IPrintOemUI*>(this) ; - VERBOSE(DLLTEXT("IWaterMarkUI:Return pointer to IPrintOemUI.\r\n")); - } - else - { - VERBOSE(DLLTEXT("IWaterMarkUI::QueryInterface: interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IWaterMarkUI::AddRef() -{ - VERBOSE(DLLTEXT("IWaterMarkUI:AddRef entry.\r\n")); - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IWaterMarkUI::Release() -{ - VERBOSE(DLLTEXT("IWaterMarkUI:Release entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -HRESULT __stdcall IWaterMarkUI::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:PublishDriverInterface entry.\r\n")); - - UNREFERENCED_PARAMETER(pIUnknown); - - // Don't use the DriverInterface, so don't store it. - - return S_OK; -} - -HRESULT __stdcall IWaterMarkUI::GetInfo( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo entry.\r\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit pcbNeeded is NULL!\r\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size and number of bytes written. - *pcbNeeded = sizeof(DWORD); - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit insufficient buffer!\r\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IWaterMarkUI::GetInfo() exit mode not supported.\r\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IWaterMarkUI::GetInfo() exit S_OK.\r\r\n")); - return S_OK; -} - -HRESULT __stdcall IWaterMarkUI::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevMode entry.\r\n")); - - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IWaterMarkUI::CommonUIProp( - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:CommonUIProp entry.\r\n")); - - return hrOEMPropertyPage(dwMode, pOemCUIPParam); -} - - -HRESULT __stdcall IWaterMarkUI::DocumentPropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DocumentPropertySheets entry.\r\n")); - - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DevicePropertySheets( - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevicePropertySheets entry.\r\n")); - - UNREFERENCED_PARAMETER(pPSUIInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DeviceCapabilities( - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DeviceCapabilities entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(pDeviceName); - UNREFERENCED_PARAMETER(wCapability); - UNREFERENCED_PARAMETER(pOutput); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(dwOld); - UNREFERENCED_PARAMETER(dwResult); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DevQueryPrintEx( - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DevQueryPrintEx entry.\r\n")); - - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pDQPInfo); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::UpgradePrinter( - DWORD dwLevel, - PBYTE pDriverUpgradeInfo) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:UpgradePrinter entry.\r\n")); - - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverUpgradeInfo); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::PrinterEvent( - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:PrinterEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(iDriverEvent); - UNREFERENCED_PARAMETER(dwFlags); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWaterMarkUI::DriverEvent( - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:DriverEvent entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverEvent); - UNREFERENCED_PARAMETER(dwLevel); - UNREFERENCED_PARAMETER(pDriverInfo); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - - -HRESULT __stdcall IWaterMarkUI::QueryColorProfile( - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulQueryMode, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:QueryColorProfile entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(poemuiobj); - UNREFERENCED_PARAMETER(pPublicDM); - UNREFERENCED_PARAMETER(pOEMDM); - UNREFERENCED_PARAMETER(ulQueryMode); - UNREFERENCED_PARAMETER(pvProfileData); - UNREFERENCED_PARAMETER(pcbProfileData); - UNREFERENCED_PARAMETER(pflProfileData); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IWaterMarkUI::FontInstallerDlgProc( - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:FontInstallerDlgProc entry.\r\n")); - - UNREFERENCED_PARAMETER(hWnd); - UNREFERENCED_PARAMETER(usMsg); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(lParam); - - return E_NOTIMPL; -}; - -HRESULT __stdcall IWaterMarkUI::UpdateExternalFonts( - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges) -{ - VERBOSE(DLLTEXT("IWaterMarkUI:UpdateExternalFonts entry.\r\n")); - - UNREFERENCED_PARAMETER(hPrinter); - UNREFERENCED_PARAMETER(hHeap); - UNREFERENCED_PARAMETER(pwstrCartridges); - - return E_NOTIMPL; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this) ; - } - else - { - WARNING(DLLTEXT("IOemCF::QueryInterface: interface not supported.\r\n")); - *ppv = NULL ; - return E_NOINTERFACE ; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; - return S_OK ; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef) ; -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //DbgPrint(DLLTEXT("Class factory:\t\tCreate component.")) ; - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION ; - } - - // Create component. - IWaterMarkUI* pOemCB = new IWaterMarkUI ; - if (pOemCB == NULL) - { - return E_OUTOFMEMORY ; - } - // Get the requested interface. - HRESULT hr = pOemCB->QueryInterface(iid, ppv) ; - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCB->Release() ; - return hr ; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks) ; - } - else - { - InterlockedDecrement(&g_cServerLocks) ; - } - return S_OK ; -} - -/////////////////////////////////////////////////////////// -// -// Exported functions -// - - -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK ; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:Create class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMUI) - { - return CLASS_E_CLASSNOTAVAILABLE ; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF ; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY ; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv) ; - pFontCF->Release() ; - - return hr ; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h deleted file mode 100644 index 7f1ebad8..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/intrface.h +++ /dev/null @@ -1,178 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// PURPOSE: Define COM interface for User Mode Printer UI plug-in. -// -#pragma once - -//////////////////////////////////////////////////////////////////////////////// -// -// IWaterMarkUI -// -class IWaterMarkUI: public IPrintOemUI -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, PVOID pBuffer, DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, POEMDMPARAM pOemDMParam) ; - - // - // OEMCommonUIProp - // - - STDMETHOD(CommonUIProp) (THIS_ - DWORD dwMode, - POEMCUIPPARAM pOemCUIPParam - ); - - // - // OEMDocumentPropertySheets - // - - STDMETHOD(DocumentPropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - // - // OEMDevicePropertySheets - // - - STDMETHOD(DevicePropertySheets) (THIS_ - PPROPSHEETUI_INFO pPSUIInfo, - LPARAM lParam - ); - - - // - // OEMDevQueryPrintEx - // - - STDMETHOD(DevQueryPrintEx) (THIS_ - POEMUIOBJ poemuiobj, - PDEVQUERYPRINT_INFO pDQPInfo, - PDEVMODE pPublicDM, - PVOID pOEMDM - ); - - // - // OEMDeviceCapabilities - // - - STDMETHOD(DeviceCapabilities) (THIS_ - POEMUIOBJ poemuiobj, - HANDLE hPrinter, - _In_ PWSTR pDeviceName, - WORD wCapability, - PVOID pOutput, - PDEVMODE pPublicDM, - PVOID pOEMDM, - DWORD dwOld, - DWORD *dwResult - ); - - // - // OEMUpgradePrinter - // - - STDMETHOD(UpgradePrinter) (THIS_ - DWORD dwLevel, - PBYTE pDriverUpgradeInfo - ); - - // - // OEMPrinterEvent - // - - STDMETHOD(PrinterEvent) (THIS_ - _In_ PWSTR pPrinterName, - INT iDriverEvent, - DWORD dwFlags, - LPARAM lParam - ); - - // - // OEMDriverEvent - // - - STDMETHOD(DriverEvent)(THIS_ - DWORD dwDriverEvent, - DWORD dwLevel, - LPBYTE pDriverInfo, - LPARAM lParam - ); - - // - // OEMQueryColorProfile - // - - STDMETHOD(QueryColorProfile) (THIS_ - HANDLE hPrinter, - POEMUIOBJ poemuiobj, - PDEVMODE pPublicDM, - PVOID pOEMDM, - ULONG ulReserved, - VOID *pvProfileData, - ULONG *pcbProfileData, - FLONG *pflProfileData); - - // - // OEMFontInstallerDlgProc - // - - STDMETHOD(FontInstallerDlgProc) (THIS_ - HWND hWnd, - UINT usMsg, - WPARAM wParam, - LPARAM lParam - ); - // - // UpdateExternalFonts - // - - STDMETHOD(UpdateExternalFonts) (THIS_ - HANDLE hPrinter, - HANDLE hHeap, - _In_ PWSTR pwstrCartridges - ); - - - IWaterMarkUI() { m_cRef = 1; }; - ~IWaterMarkUI() { }; - -protected: - LONG m_cRef; -}; - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h deleted file mode 100644 index 644d21cd..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precomp.h +++ /dev/null @@ -1,54 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.H -// -// -// PURPOSE: Optimize compilation of headers that don't change frequently. -// -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRSHT.H> -#include <COMPSTUI.H> -#include "WINDDIUI.H" -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h deleted file mode 100644 index 22c03be5..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/resource.h +++ /dev/null @@ -1,26 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by wmarkui.rc -// -#define IDS_WATERMARK 1 -#define IDS_TEXT 2 -#define IDS_FONTSIZE 3 -#define IDS_COLOR 5 -#define IDS_GRAY 6 -#define IDS_RED 7 -#define IDS_GREEN 8 -#define IDS_BLUE 9 -#define IDS_ENBLED 10 -#define IDS_ENABLED 10 -#define IDS_DISABLED 11 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp deleted file mode 100644 index fb875d30..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.cpp +++ /dev/null @@ -1,594 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMarkUI.cpp -// -// -// PURPOSE: Main file for OEM UI test module. -// -// - -#include "precomp.h" -#include "resource.h" -#include "debug.h" -#include "wmarkui.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - - -//////////////////////////////////////////////////////// -// INTERNAL MACROS and DEFINES -//////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////// -// INTERNAL PROTOTYPES -//////////////////////////////////////////////////////// - -LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam); -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems); -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams); -static DWORD FontSizeToIndex(DWORD dwWmarkFontSize); -static DWORD FontIndexToSize(DWORD dwIndex); -static DWORD TextColorToIndex(COLORREF crWmarkTextColor); -static COLORREF IndexToTextColor(DWORD dwIndex); -static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource); - - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM device or document property UI. -// -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - HRESULT hResult = S_OK; - - - VERBOSE(DLLTEXT("hrOEMPropertyPage entry.\r\n")); - - // Validate parameters. - if( (OEMCUIP_DOCPROP != dwMode) - && - (OEMCUIP_PRNPROP != dwMode) - ) - { - ERR(DLLTEXT("hrOEMPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - switch(dwMode) - { - case OEMCUIP_DOCPROP: - hResult = hrDocumentPropertyPage(dwMode, pOEMUIParam); - break; - - case OEMCUIP_PRNPROP: - // Don't have any Printer Proptery UI. - hResult = E_NOTIMPL; - break; - - default: - // Should never reach this! - ERR(DLLTEXT("hrOEMPropertyPage() Invalid dwMode")); - SetLastError(ERROR_INVALID_PARAMETER); - hResult = E_FAIL; - break; - } - - return hResult; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// OptItems call back for OEM device or document property UI. -// -LONG APIENTRY OEMUICallBack(PCPSUICBPARAM pCallbackParam, POEMCUIPPARAM pOEMUIParam) -{ - LONG lReturn = CPSUICB_ACTION_NONE; - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("OEMUICallBack() entry.\r\n")); - - switch(pCallbackParam->Reason) - { - case CPSUICB_REASON_APPLYNOW: - // Store OptItems state in DEVMODE. - pOEMDev->bWmarkEnabled = !pOEMUIParam->pOEMOptItems[0].Sel; - if(FAILED(StringCbCopyW(pOEMDev->szWaterMark, sizeof(pOEMDev->szWaterMark), (LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel))) - { - ERR(DLLTEXT("OEMUICallBack() failed to copy water mark text\r\n")); - } - pOEMDev->dwWmarkFontSize = FontIndexToSize(pOEMUIParam->pOEMOptItems[2].Sel); - pOEMDev->crWmarkTextColor = IndexToTextColor(pOEMUIParam->pOEMOptItems[3].Sel); - break; - - default: - break; - } - - return lReturn; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems to display OEM document property UI. -// -static HRESULT hrDocumentPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam) -{ - if ( NULL == pOEMUIParam || NULL == pOEMUIParam->pOEMDM ) - { - ERR(DLLTEXT("hrDocumentPropertyPage() ERROR_INVALID_PARAMETER.\r\n")); - // Return invalid parameter error. - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - if(NULL == pOEMUIParam->pOEMOptItems) - { - // Fill in the number of OptItems to create for OEM document property UI. - pOEMUIParam->cOEMOptItems = 4; - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() requesting items.\r\n")); - } - else if(dwMode == OEMCUIP_DOCPROP) - { - POEMDEV pOEMDev = (POEMDEV) pOEMUIParam->pOEMDM; - - - VERBOSE(DLLTEXT("hrDocumentPropertyPage() fill out items.\r\n")); - - // Init UI Callback reference. - pOEMUIParam->OEMCUIPCallback = OEMUICallBack; - - // Init OEMOptItmes. - InitOptItems(pOEMUIParam->pOEMOptItems, pOEMUIParam->cOEMOptItems); - - // Fill out tree view items. - - // Water Mark Section Name. - pOEMUIParam->pOEMOptItems[0].Level = 1; - pOEMUIParam->pOEMOptItems[0].Flags = OPTIF_COLLAPSE; - pOEMUIParam->pOEMOptItems[0].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_WATERMARK); - pOEMUIParam->pOEMOptItems[0].Sel = pOEMDev->bWmarkEnabled ? 0 : 1; - - pOEMUIParam->pOEMOptItems[0].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[0].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_ENABLED); - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[0].IconID = IDI_CPSUI_ON; - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_DISABLED); - pOEMUIParam->pOEMOptItems[0].pOptType->pOptParam[1].IconID = IDI_CPSUI_OFF; - - - // WaterMark Text. - pOEMUIParam->pOEMOptItems[1].Level = 2; - pOEMUIParam->pOEMOptItems[1].Flags = 0; - pOEMUIParam->pOEMOptItems[1].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_TEXT); - pOEMUIParam->pOEMOptItems[1].pSel = (LPTSTR) HeapAlloc(pOEMUIParam->hOEMHeap, HEAP_ZERO_MEMORY, MAX_PATH * sizeof(WCHAR)); - if (pOEMUIParam->pOEMOptItems[1].pSel == NULL) - { - ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text\r\n")); - return E_OUTOFMEMORY; - } - - if(FAILED(StringCbCopyW((LPWSTR)pOEMUIParam->pOEMOptItems[1].pSel, MAX_PATH * sizeof(WCHAR), pOEMDev->szWaterMark))) - { - ERR(DLLTEXT("hrDocumentPropertyPage() failed to copy water mark text \r\n")); - } - - pOEMUIParam->pOEMOptItems[1].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 2); - - pOEMUIParam->pOEMOptItems[1].pOptType->Type = TVOT_EDITBOX; - pOEMUIParam->pOEMOptItems[1].pOptType->pOptParam[1].IconID = sizeof(((POEMDEV)NULL)->szWaterMark)/sizeof(WCHAR); - - - // WaterMark Font Size. - pOEMUIParam->pOEMOptItems[2].Level = 2; - pOEMUIParam->pOEMOptItems[2].Flags = 0; - pOEMUIParam->pOEMOptItems[2].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_FONTSIZE); - pOEMUIParam->pOEMOptItems[2].Sel = FontSizeToIndex(pOEMDev->dwWmarkFontSize); - - pOEMUIParam->pOEMOptItems[2].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 16); - - pOEMUIParam->pOEMOptItems[2].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[0].pData = L"8"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[1].pData = L"9"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[2].pData = L"10"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[3].pData = L"11"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[4].pData = L"12"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[5].pData = L"14"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[6].pData = L"16"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[7].pData = L"18"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[8].pData = L"20"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[9].pData = L"22"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[10].pData = L"24"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[11].pData = L"26"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[12].pData = L"28"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[13].pData = L"36"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[14].pData = L"48"; - pOEMUIParam->pOEMOptItems[2].pOptType->pOptParam[15].pData = L"72"; - - - // WaterMark Color. - pOEMUIParam->pOEMOptItems[3].Level = 2; - pOEMUIParam->pOEMOptItems[3].Flags = 0; - pOEMUIParam->pOEMOptItems[3].pName = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_COLOR); - pOEMUIParam->pOEMOptItems[3].Sel = TextColorToIndex(pOEMDev->crWmarkTextColor); - - pOEMUIParam->pOEMOptItems[3].pOptType = CreateOptType(pOEMUIParam->hOEMHeap, 4); - - pOEMUIParam->pOEMOptItems[3].pOptType->Type = TVOT_COMBOBOX; - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[0].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GRAY); - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[1].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_RED); - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[2].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_GREEN); - pOEMUIParam->pOEMOptItems[3].pOptType->pOptParam[3].pData = GetStringResource(pOEMUIParam->hOEMHeap, ghInstance, IDS_BLUE); - } - - return S_OK; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Initializes OptItems. -// -static void InitOptItems(POPTITEM pOptItems, DWORD dwOptItems) -{ - VERBOSE(DLLTEXT("InitOptItems() entry.\r\n")); - - // Zero out memory. - memset(pOptItems, 0, sizeof(OPTITEM) * dwOptItems); - - // Set each OptItem's size, and Public DM ID. - for(DWORD dwCount = 0; dwCount < dwOptItems; dwCount++) - { - pOptItems[dwCount].cbSize = sizeof(OPTITEM); - pOptItems[dwCount].DMPubID = DMPUB_NONE; - } -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Allocates and initializes OptType for OptItem. -// -static POPTTYPE CreateOptType(HANDLE hHeap, WORD wOptParams) -{ - POPTTYPE pOptType = NULL; - - - VERBOSE(DLLTEXT("CreateOptType() entry.\r\n")); - - // Allocate memory from the heap for the OPTTYPE; the driver will take care of clean up. - pOptType = (POPTTYPE) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, sizeof(OPTTYPE)); - if(NULL != pOptType) - { - // Initialize OPTTYPE. - pOptType->cbSize = sizeof(OPTTYPE); - pOptType->Count = wOptParams; - - // Allocate memory from the heap for the OPTPARAMs for the OPTTYPE. - pOptType->pOptParam = (POPTPARAM) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, wOptParams * sizeof(OPTPARAM)); - if(NULL != pOptType->pOptParam) - { - // Initialize the OPTPARAMs. - for(WORD wCount = 0; wCount < wOptParams; wCount++) - { - pOptType->pOptParam[wCount].cbSize = sizeof(OPTPARAM); - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTPARAMs!\r\n")); - - // Free allocated memory and return NULL. - HeapFree(hHeap, 0, pOptType); - pOptType = NULL; - } - } - else - { - ERR(DLLTEXT("CreateOptType() failed to allocated memory for OPTTYPE!\r\n")); - } - - return pOptType; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts Font point size to index in combo box. -// -static DWORD FontSizeToIndex(DWORD dwWmarkFontSize) -{ - DWORD dwIndex; - - - switch(dwWmarkFontSize) - { - case 8: - dwIndex = 0; - break; - - case 9: - dwIndex = 1; - break; - - case 10: - dwIndex = 2; - break; - - case 11: - dwIndex = 3; - break; - - case 12: - dwIndex = 4; - break; - - case 14: - dwIndex = 5; - break; - - case 16: - dwIndex = 6; - break; - - case 18: - dwIndex = 7; - break; - - case 20: - dwIndex = 8; - break; - - case 22: - dwIndex = 9; - break; - - case 24: - dwIndex = 10; - break; - - case 26: - dwIndex = 11; - break; - - case 36: - dwIndex = 13; - break; - - case 48: - dwIndex = 14; - break; - - case 72: - dwIndex = 15; - break; - - case 28: - default: - dwIndex = 12; - break; - } - - return dwIndex; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts Font combo box index to font point size. -// -static DWORD FontIndexToSize(DWORD dwIndex) -{ - DWORD dwWmarkFontSize; - - switch(dwIndex) - { - case 0: - dwWmarkFontSize = 8; - break; - - case 1: - dwWmarkFontSize = 9; - break; - - case 2: - dwWmarkFontSize = 10; - break; - - case 3: - dwWmarkFontSize = 11; - break; - - case 4: - dwWmarkFontSize = 12; - break; - - case 5: - dwWmarkFontSize = 14; - break; - - case 6: - dwWmarkFontSize = 16; - break; - - case 7: - dwWmarkFontSize = 18; - break; - - case 8: - dwWmarkFontSize = 20; - break; - - case 9: - dwWmarkFontSize = 22; - break; - - case 10: - dwWmarkFontSize = 24; - break; - - case 11: - dwWmarkFontSize = 26; - break; - - case 13: - dwWmarkFontSize = 36; - break; - - case 14: - dwWmarkFontSize = 48; - break; - - case 15: - dwWmarkFontSize = 72; - break; - - case 12: - default: - dwWmarkFontSize = 28; - break; - } - - return dwWmarkFontSize; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts text color to combo box index. -// -static DWORD TextColorToIndex(COLORREF crWmarkTextColor) -{ - DWORD dwIndex; - - - // The color is what ever color is dominate. If none are, then it is gray. - if( (GetRValue(crWmarkTextColor) > GetGValue(crWmarkTextColor)) - && - (GetGValue(crWmarkTextColor) >= GetBValue(crWmarkTextColor)) - ) - { - // Set index to red. - dwIndex = 1; - } - else if( (GetRValue(crWmarkTextColor) < GetGValue(crWmarkTextColor)) - && - (GetGValue(crWmarkTextColor) > GetBValue(crWmarkTextColor)) - ) - { - // Set index to green. - dwIndex = 2; - } - else if( (GetRValue(crWmarkTextColor) <= GetGValue(crWmarkTextColor)) - && - (GetGValue(crWmarkTextColor) < GetBValue(crWmarkTextColor)) - ) - { - // Set index to blue. - dwIndex = 3; - } - else - { - // Set index to gray. - dwIndex = 0; - } - - return dwIndex; -} - -//////////////////////////////////////////////////////////////////////////////// -// -// Converts text combo box index to text color. -// -static COLORREF IndexToTextColor(DWORD dwIndex) -{ - COLORREF crWmarkTextColor; - - // Map index to desired text color. - // We just support 4 colors in the UI: Red, Green, Blue, and gray. - // The rendering module is capable of using any color for the Water Mark Text. - switch(dwIndex) - { - case 1: - // Color is red. - crWmarkTextColor = RGB(255, 216, 216); - break; - - case 2: - // Color is green. - crWmarkTextColor = RGB(216, 255, 216); - break; - - case 3: - // Color is blue. - crWmarkTextColor = RGB(216, 216, 255); - break; - - default: - case 0: - // Color is gray. - crWmarkTextColor = WATER_MARK_DEFAULT_COLOR; - break; - } - - return crWmarkTextColor; -} - -//////////////////////////////////////////////////////////////////////////////////// -// -// Retrieves pointer to a String resource. -// -static PTSTR GetStringResource(HANDLE hHeap, HMODULE hModule, UINT uResource) -{ - int nResult; - DWORD dwSize = MAX_PATH; - PTSTR pszString = NULL; - - - VERBOSE(DLLTEXT("GetStringResource() entered.\r\n")); - - // Allocate buffer for string resource from heap; let the driver clean it up. - pszString = (PTSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, dwSize * sizeof(TCHAR)); - if(NULL != pszString) - { - PTSTR pTemp; - - // Load string resource; resize after loading so as not to waste memory. - nResult = LoadString(hModule, uResource, pszString, dwSize); - if (0 == nResult) - { - ERR(DLLTEXT("GetStringResource() failed to load the the string resource!\r\n")); - HeapFree(hHeap, 0, pszString); - pszString=NULL; - } - else - { - pTemp = (PTSTR) HeapReAlloc(hHeap, HEAP_ZERO_MEMORY, pszString, (nResult + 1) * sizeof(TCHAR)); - if(NULL != pTemp) - { - pszString = pTemp; - } - } - } - else - { - ERR(DLLTEXT("GetStringResource() failed to allocate string buffer!\r\n")); - } - - return pszString; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h deleted file mode 100644 index ca19064a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.h +++ /dev/null @@ -1,37 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMarkUI.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for WaterMark UI. -// -#pragma once - -#include <OEM.H> -#include <DEVMODE.H> -#include "globals.h" - - -//////////////////////////////////////////////////////// -// OEM UI Defines -//////////////////////////////////////////////////////// - - -// OEM Signature and version. -#define PROP_TITLE L"WaterMark UI Page" -#define DLLTEXT(s) "WMARKUI: " s - -//////////////////////////////////////////////////////// -// Prototypes -//////////////////////////////////////////////////////// - -HRESULT hrOEMPropertyPage(DWORD dwMode, POEMCUIPPARAM pOEMUIParam); - - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc deleted file mode 100644 index 44358b9a..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkui.rc +++ /dev/null @@ -1,124 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Windows Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "WaterMarkUni UI" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "WMarkUniUI" - VALUE "LegalCopyright", "Copyright � 1998-2003" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "WMarkUniUI.dll" - VALUE "ProductName", "Microsoft WaterMark" - VALUE "ProductVersion", "1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_WATERMARK "Water Mark" - IDS_TEXT "Text" - IDS_FONTSIZE "Font Size" - IDS_COLOR "Color" - IDS_GRAY "Gray" - IDS_RED "Red" - IDS_GREEN "Green" - IDS_BLUE "Blue" - IDS_ENABLED "Enabled" - IDS_DISABLED "Disabled" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def deleted file mode 100644 index 26c192f9..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkui/wmarkuniui.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY WMARKUI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj deleted file mode 100644 index 0ad2b890..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj +++ /dev/null @@ -1,1090 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Win10 Debug|ARM64"> - <Configuration>Win10 Debug</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|Win32"> - <Configuration>Win10 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Debug|x64"> - <Configuration>Win10 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|ARM64"> - <Configuration>Win10 Release</Configuration> - <Platform>ARM64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|Win32"> - <Configuration>Win10 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win10 Release|x64"> - <Configuration>Win10 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|Win32"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|Win32"> - <Configuration>Win8 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|Win32"> - <Configuration>Win7 Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|Win32"> - <Configuration>Win8.1 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|Win32"> - <Configuration>Win8 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|Win32"> - <Configuration>Win7 Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Debug|x64"> - <Configuration>Win8.1 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Debug|x64"> - <Configuration>Win8 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Debug|x64"> - <Configuration>Win7 Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8.1 Release|x64"> - <Configuration>Win8.1 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win8 Release|x64"> - <Configuration>Win8 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Win7 Release|x64"> - <Configuration>Win7 Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{866141A6-4989-41D7-9409-4A5A73B535B0}</ProjectGuid> - <RootNamespace>$(MSBuildProjectName)</RootNamespace> - <Configuration Condition="'$(Configuration)' == ''">Win10 Debug</Configuration> - <Platform Condition="'$(Platform)' == ''">Win32</Platform> - <SampleGuid>{FF810DA7-AF7F-4167-9078-A43C6CA46E83}</SampleGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>False</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetVersion>Win7</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetVersion>Win8</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetVersion>WindowsV6.3</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="Configuration"> - <TargetVersion>Windows10</TargetVersion> - <UseDebugLibraries>True</UseDebugLibraries> - <DriverType /> - <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset> - <ConfigurationType>DynamicLibrary</ConfigurationType> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <PropertyGroup> - <OutDir>$(IntDir)</OutDir> - </PropertyGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> - </ImportGroup> - <ItemGroup Label="WrappedTaskItems" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <TargetName>WMARKUNI</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <TreatWarningAsError>true</TreatWarningAsError> - <WarningLevel>Level4</WarningLevel> - </ClCompile> - <Link> - <EntryPointSymbol Condition="'$(Platform)'=='win32'">_DllMainCRTStartup@12</EntryPointSymbol> - <EntryPointSymbol Condition="'$(Platform)'!='win32'">_DllMainCRTStartup</EntryPointSymbol> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ClCompile> - <Midl> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </Midl> - <ResourceCompile> - <PreprocessorDefinitions>%(PreprocessorDefinitions);KERNEL_MODE;_UNICODE;UNICODE;OEMCOM;USERMODE_DRIVER</PreprocessorDefinitions> - <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\common;..</AdditionalIncludeDirectories> - </ResourceCompile> - <Link> - <AdditionalDependencies>%(AdditionalDependencies);uuid.lib;kernel32.lib;user32.lib;ole32.lib</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0603</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x06030000</NTDDI_VERSION> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <WIN32_WINNT_VERSION>0x0A00</WIN32_WINNT_VERSION> - <NTDDI_VERSION>0x0A000000</NTDDI_VERSION> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|x64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|ARM64'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Release|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win10 Debug|Win32'"> - <Link> - <ModuleDefinitionFile>WMARKUNI.def</ModuleDefinitionFile> - </Link> - <ClCompile> - <ExceptionHandling> - </ExceptionHandling> - </ClCompile> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Use</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <AdditionalIncludeDirectories>;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreCompiledHeaderFile>precomp.h</PreCompiledHeaderFile> - <PreCompiledHeader>Create</PreCompiledHeader> - <PreCompiledHeaderOutputFile>$(IntDir)\precomp.h.pch</PreCompiledHeaderOutputFile> - </ClCompile> - <ResourceCompile Include="wmarkuni.rc" /> - </ItemGroup> - <ItemGroup> - <Inf Exclude="@(Inf)" Include="*.inf" /> - <FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" /> - </ItemGroup> - <ItemGroup> - <None Exclude="@(None)" Include="*.txt;*.htm;*.html" /> - <None Exclude="@(None)" Include="*.ico;*.cur;*.bmp;*.dlg;*.rct;*.gif;*.jpg;*.jpeg;*.wav;*.jpe;*.tiff;*.tif;*.png;*.rc2" /> - <None Exclude="@(None)" Include="*.def;*.bat;*.hpj;*.asmx" /> - </ItemGroup> - <ItemGroup> - <ClInclude Exclude="@(ClInclude)" Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters deleted file mode 100644 index 480c5f75..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/WMARKUNI.vcxproj.Filters +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;*</Extensions> - <UniqueIdentifier>{0906BEFF-05C5-43D6-A8A8-56287C3F1FDD}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files"> - <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> - <UniqueIdentifier>{33052901-7C1C-4E06-A9A5-0FDB9BE8B947}</UniqueIdentifier> - </Filter> - <Filter Include="Resource Files"> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml</Extensions> - <UniqueIdentifier>{F0995942-2A83-43B2-B61A-69B8DFE2E12D}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="ddihook.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="dllentry.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="fdevmode.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="intrface.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="precompsrc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - <ClInclude Include="intrface.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="name.h" /> - <ClInclude Include="precomp.h" /> - <ClInclude Include="resource.h" /> - <ClInclude Include="wmarkuni.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="wmarkuni.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="wmarkuni.def"> - <Filter>Source Files</Filter> - </None> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp deleted file mode 100644 index 36615fac..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/ddihook.cpp +++ /dev/null @@ -1,1226 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: DDIHook.cpp -// -// -// PURPOSE: DDI Hook routines for User Mode COM Customization DLL. -// -// - -#include "precomp.h" -#include "debug.h" -#include "wmarkuni.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -// Loop limiter. -#define MAX_LOOP 10 - -void RenderWaterMark(PDEVOBJ pdevobj); -static DWORD FormatResource(_In_ LPSTR pszResource, _Out_ LPSTR *ppszBuffer, ...); -// -// OEMBitBlt -// - - - -BOOL APIENTRY -OEMBitBlt( - SURFOBJ *psoTrg, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclTrg, - POINTL *pptlSrc, - POINTL *pptlMask, - BRUSHOBJ *pbo, - POINTL *pptlBrush, - ROP4 rop4 - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMBitBlt() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoTrg->dhpdev; - - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvBitBlt)(poempdev->pfnUnidrv[UD_DrvBitBlt])) ( - psoTrg, - psoSrc, - psoMask, - pco, - pxlo, - prclTrg, - pptlSrc, - pptlMask, - pbo, - pptlBrush, - rop4)); - -} - -// -// OEMStretchBlt -// - -BOOL APIENTRY -OEMStretchBlt( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStretchBlt() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStretchBlt)(poempdev->pfnUnidrv[UD_DrvStretchBlt])) ( - psoDest, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDest, - prclSrc, - pptlMask, - iMode)); - -} - -// -// OEMCopyBits -// - -BOOL APIENTRY -OEMCopyBits( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - POINTL *pptlSrc - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMCopyBits() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvCopyBits)(poempdev->pfnUnidrv[UD_DrvCopyBits])) ( - psoDest, - psoSrc, - pco, - pxlo, - prclDest, - pptlSrc)); - -} - -// -// OEMTextOut -// - -BOOL APIENTRY -OEMTextOut( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMTextOut() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvTextOut)(poempdev->pfnUnidrv[UD_DrvTextOut])) ( - pso, - pstro, - pfo, - pco, - prclExtra, - prclOpaque, - pboFore, - pboOpaque, - pptlOrg, - mix)); - -} - -// -// OEMStrokePath -// - -BOOL APIENTRY -OEMStrokePath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - LINEATTRS *plineattrs, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStokePath() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStrokePath)(poempdev->pfnUnidrv[UD_DrvStrokePath])) ( - pso, - ppo, - pco, - pxo, - pbo, - pptlBrushOrg, - plineattrs, - mix)); - -} - -// -// OEMFillPath -// - -BOOL APIENTRY -OEMFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix, - FLONG flOptions - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMFillPath() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvFillPath)(poempdev->pfnUnidrv[UD_DrvFillPath])) ( - pso, - ppo, - pco, - pbo, - pptlBrushOrg, - mix, - flOptions)); - -} - -// -// OEMStrokeAndFillPath -// - -BOOL APIENTRY -OEMStrokeAndFillPath( - SURFOBJ *pso, - PATHOBJ *ppo, - CLIPOBJ *pco, - XFORMOBJ *pxo, - BRUSHOBJ *pboStroke, - LINEATTRS *plineattrs, - BRUSHOBJ *pboFill, - POINTL *pptlBrushOrg, - MIX mixFill, - FLONG flOptions - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStrokeAndFillPath() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStrokeAndFillPath)(poempdev->pfnUnidrv[UD_DrvStrokeAndFillPath])) ( - pso, - ppo, - pco, - pxo, - pboStroke, - plineattrs, - pboFill, - pptlBrushOrg, - mixFill, - flOptions)); - -} - -// -// OEMRealizeBrush -// - -BOOL APIENTRY -OEMRealizeBrush( - BRUSHOBJ *pbo, - SURFOBJ *psoTarget, - SURFOBJ *psoPattern, - SURFOBJ *psoMask, - XLATEOBJ *pxlo, - ULONG iHatch - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMRealizeBrush() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoTarget->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvRealizeBrush)(poempdev->pfnUnidrv[UD_DrvRealizeBrush])) ( - pbo, - psoTarget, - psoPattern, - psoMask, - pxlo, - iHatch)); -} - -// -// OEMStartPage -// - -BOOL APIENTRY -OEMStartPage( - SURFOBJ *pso - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStartPage() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // turn around to call Unidrv - // - - return (((PFN_DrvStartPage)(poempdev->pfnUnidrv[UD_DrvStartPage]))(pso)); - -} - -#define OEM_TESTSTRING "The DDICMDCB DLL adds this line of text." - -// -// OEMSendPage -// - -BOOL APIENTRY -OEMSendPage( - SURFOBJ *pso - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMSendPage() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM; - if(pOemDevmode && pOemDevmode->bWmarkEnabled) - { - RenderWaterMark(pdevobj); - } - // - // print a line of text, just for testing - // - if (pso->iType == STYPE_BITMAP) - { - pdevobj->pDrvProcs->DrvXMoveTo(pdevobj, 0, 0); - pdevobj->pDrvProcs->DrvYMoveTo(pdevobj, 0, 0); - pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, OEM_TESTSTRING, - sizeof(OEM_TESTSTRING)); - } - - // - // turn around to call Unidrv - // - - return (((PFN_DrvSendPage)(poempdev->pfnUnidrv[UD_DrvSendPage]))(pso)); - -} - -// -// OEMEscape -// - -ULONG APIENTRY -OEMEscape( - SURFOBJ *pso, - ULONG iEsc, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMEscape() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvEscape)(poempdev->pfnUnidrv[UD_DrvEscape])) ( - pso, - iEsc, - cjIn, - pvIn, - cjOut, - pvOut)); - -} - -// -// OEMStartDoc -// - -BOOL APIENTRY -OEMStartDoc( - SURFOBJ *pso, - _In_ PWSTR pwszDocName, - DWORD dwJobId - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStartDoc() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStartDoc)(poempdev->pfnUnidrv[UD_DrvStartDoc])) ( - pso, - pwszDocName, - dwJobId)); - -} - -// -// OEMEndDoc -// - -BOOL APIENTRY -OEMEndDoc( - SURFOBJ *pso, - FLONG fl - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMEndDoc() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvEndDoc)(poempdev->pfnUnidrv[UD_DrvEndDoc])) ( - pso, - fl)); - -} - -//////// -// NOTE: -// OEM DLL needs to hook out the following six font related DDI calls only -// if it enumerates additional fonts beyond what's in the GPD file. -// And if it does, it needs to take care of its own fonts for all font DDI -// calls and DrvTextOut call. -/////// - -// -// OEMQueryFont -// - -PIFIMETRICS APIENTRY -OEMQueryFont( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG_PTR *pid - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMQueryFont() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvQueryFont)(poempdev->pfnUnidrv[UD_DrvQueryFont])) ( - dhpdev, - iFile, - iFace, - pid)); - -} - -// -// OEMQueryFontTree -// - -PVOID APIENTRY -OEMQueryFontTree( - DHPDEV dhpdev, - ULONG_PTR iFile, - ULONG iFace, - ULONG iMode, - ULONG_PTR *pid - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMQueryFontTree() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvQueryFontTree)(poempdev->pfnUnidrv[UD_DrvQueryFontTree])) ( - dhpdev, - iFile, - iFace, - iMode, - pid)); - -} - -// -// OEMQueryFontData -// - -LONG APIENTRY -OEMQueryFontData( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - HGLYPH hg, - GLYPHDATA *pgd, - _Out_writes_bytes_(cjSize) PVOID pv, - ULONG cjSize - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMQueryFontData() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv if this is not the font that OEM enumerated. - // - - return (((PFN_DrvQueryFontData)(poempdev->pfnUnidrv[UD_DrvQueryFontData])) ( - dhpdev, - pfo, - iMode, - hg, - pgd, - pv, - cjSize)); - -} - -// -// OEMQueryAdvanceWidths -// - -BOOL APIENTRY -OEMQueryAdvanceWidths( - DHPDEV dhpdev, - FONTOBJ *pfo, - ULONG iMode, - _In_reads_(cGlyphs) HGLYPH *phg, - _Out_writes_bytes_(cGlyphs*sizeof(USHORT)) PVOID pvWidths, - ULONG cGlyphs - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMQueryAdvanceWidths() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv if this is not the font that OEM enumerated. - // - - return (((PFN_DrvQueryAdvanceWidths) - (poempdev->pfnUnidrv[UD_DrvQueryAdvanceWidths])) ( - dhpdev, - pfo, - iMode, - phg, - pvWidths, - cGlyphs)); - -} - -// -// OEMFontManagement -// - -ULONG APIENTRY -OEMFontManagement( - SURFOBJ *pso, - FONTOBJ *pfo, - ULONG iMode, - ULONG cjIn, - _In_reads_bytes_(cjIn) PVOID pvIn, - ULONG cjOut, - _Out_writes_bytes_(cjOut) PVOID pvOut - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMFontManagement() entry.\r\n")); - - // - // Note that Unidrv will not call OEM DLL for iMode==QUERYESCSUPPORT. - // So pso is not NULL for sure. - // - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv if this is not the font that OEM enumerated. - // - - return (((PFN_DrvFontManagement)(poempdev->pfnUnidrv[UD_DrvFontManagement])) ( - pso, - pfo, - iMode, - cjIn, - pvIn, - cjOut, - pvOut)); - -} - -// -// OEMGetGlyphMode -// - -ULONG APIENTRY -OEMGetGlyphMode( - DHPDEV dhpdev, - FONTOBJ *pfo - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMGetGlyphMode() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv if this is not the font that OEM enumerated. - // - - return (((PFN_DrvGetGlyphMode)(poempdev->pfnUnidrv[UD_DrvGetGlyphMode])) ( - dhpdev, - pfo)); - -} - -BOOL APIENTRY -OEMNextBand( - SURFOBJ *pso, - POINTL *pptl - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMNextBand() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvNextBand)(poempdev->pfnUnidrv[UD_DrvNextBand])) ( - pso, - pptl)); - -} - -BOOL APIENTRY -OEMStartBanding( - SURFOBJ *pso, - POINTL *pptl - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStartBanding() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM; - if(pOemDevmode->bWmarkEnabled) - { - RenderWaterMark(pdevobj); - } - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStartBanding)(poempdev->pfnUnidrv[UD_DrvStartBanding])) ( - pso, - pptl)); - - -} - -ULONG APIENTRY -OEMDitherColor( - DHPDEV dhpdev, - ULONG iMode, - ULONG rgbColor, - ULONG *pulDither - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMDitherColor() entry.\r\n")); - - pdevobj = (PDEVOBJ)dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvDitherColor)(poempdev->pfnUnidrv[UD_DrvDitherColor])) ( - dhpdev, - iMode, - rgbColor, - pulDither)); - -} - -BOOL APIENTRY -OEMPaint( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - POINTL *pptlBrushOrg, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMPaint() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvPaint)(poempdev->pfnUnidrv[UD_DrvPaint])) ( - pso, - pco, - pbo, - pptlBrushOrg, - mix)); - -} - -BOOL APIENTRY -OEMLineTo( - SURFOBJ *pso, - CLIPOBJ *pco, - BRUSHOBJ *pbo, - LONG x1, - LONG y1, - LONG x2, - LONG y2, - RECTL *prclBounds, - MIX mix - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMLineTo() entry.\r\n")); - - pdevobj = (PDEVOBJ)pso->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvLineTo)(poempdev->pfnUnidrv[UD_DrvLineTo])) ( - pso, - pco, - pbo, - x1, - y1, - x2, - y2, - prclBounds, - mix)); - -} - - -// -// OEMStretchBltROP -// - -BOOL APIENTRY -OEMStretchBltROP( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlHTOrg, - RECTL *prclDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode, - BRUSHOBJ *pbo, - ROP4 rop4 - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMStretchBltROP() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvStretchBltROP)(poempdev->pfnUnidrv[UD_DrvStretchBltROP])) ( - psoDest, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlHTOrg, - prclDest, - prclSrc, - pptlMask, - iMode, - pbo, - rop4 - )); - - -} - -// -// OEMPlgBlt -// - -BOOL APIENTRY -OEMPlgBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - SURFOBJ *psoMask, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - COLORADJUSTMENT *pca, - POINTL *pptlBrushOrg, - POINTFIX *pptfixDest, - RECTL *prclSrc, - POINTL *pptlMask, - ULONG iMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMPlgBlt() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDst->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvPlgBlt)(poempdev->pfnUnidrv[UD_DrvPlgBlt])) ( - psoDst, - psoSrc, - psoMask, - pco, - pxlo, - pca, - pptlBrushOrg, - pptfixDest, - prclSrc, - pptlMask, - iMode)); - -} - -// -// OEMAlphaBlend -// - -BOOL APIENTRY -OEMAlphaBlend( - SURFOBJ *psoDest, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDest, - RECTL *prclSrc, - BLENDOBJ *pBlendObj - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMAlphaBlend() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvAlphaBlend)(poempdev->pfnUnidrv[UD_DrvAlphaBlend])) ( - psoDest, - psoSrc, - pco, - pxlo, - prclDest, - prclSrc, - pBlendObj - )); - -} - -// -// OEMGradientFill -// - -BOOL APIENTRY -OEMGradientFill( - SURFOBJ *psoDest, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - TRIVERTEX *pVertex, - ULONG nVertex, - PVOID pMesh, - ULONG nMesh, - RECTL *prclExtents, - POINTL *pptlDitherOrg, - ULONG ulMode - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMGradientFill() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDest->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvGradientFill)(poempdev->pfnUnidrv[UD_DrvGradientFill])) ( - psoDest, - pco, - pxlo, - pVertex, - nVertex, - pMesh, - nMesh, - prclExtents, - pptlDitherOrg, - ulMode - )); - -} - -BOOL APIENTRY -OEMTransparentBlt( - SURFOBJ *psoDst, - SURFOBJ *psoSrc, - CLIPOBJ *pco, - XLATEOBJ *pxlo, - RECTL *prclDst, - RECTL *prclSrc, - ULONG iTransColor, - ULONG ulReserved - ) -{ - PDEVOBJ pdevobj; - POEMPDEV poempdev; - - VERBOSE(DLLTEXT("OEMTransparentBlt() entry.\r\n")); - - pdevobj = (PDEVOBJ)psoDst->dhpdev; - poempdev = (POEMPDEV)pdevobj->pdevOEM; - - // - // turn around to call Unidrv - // - - return (((PFN_DrvTransparentBlt)(poempdev->pfnUnidrv[UD_DrvTransparentBlt])) ( - psoDst, - psoSrc, - pco, - pxlo, - prclDst, - prclSrc, - iTransColor, - ulReserved - )); - -} - -void RenderWaterMark(PDEVOBJ pdevobj) -{ - POEMDEV pOemDevmode = (POEMDEV) pdevobj->pOEMDM; - // We have a programmable palette. See GPD file for PaletteProgrammable option. - // We are programming color index 8 to the new color and selectiing it with the PJL code "\xv%da%db%dc8I\xib*v8S". - // In the font selection code, we are selecting the arial font (4148)"\x1b(19U\x1b(s4148t0b0s%dv1P" - // Cursor position is hard coded to <x,y> but you it can also be made dependent on user input. - // PCL5 can print in 0,90,180 and 270 degrees. So Vertical can also be supported. - // The \x1b*v7S after the watermark sets the foreground color back to black - - /* - //Note we can push and pop the cursor position if needed. - Push/Pop Cursor position - \x1b&f0S //push - \x1b&f1S //pop - */ - - PSTR pszBuffer = NULL; - char str_wmark[]="\x1b*v%da%db%dc8I\x1b*v8S\x1b(19U\x1b(s4148t0b0s%dv1P\x1b*p1000Y\x1b*p750X%ls\x1b*v7S"; - DWORD dwLen= FormatResource (str_wmark, - &pszBuffer, - GetRValue(pOemDevmode->crWmarkTextColor), - GetGValue(pOemDevmode->crWmarkTextColor), - GetBValue(pOemDevmode->crWmarkTextColor), - pOemDevmode->dwWmarkFontSize,pOemDevmode->szWaterMark); - - if ( dwLen != 0 ) - { - pdevobj->pDrvProcs->DrvWriteSpoolBuf(pdevobj, pszBuffer, dwLen); - } - - if ( pszBuffer ) - { - delete[]pszBuffer; - pszBuffer = NULL; - } -} - - -DWORD -FormatResource( - _In_ LPSTR pszResource, - _Out_ LPSTR *ppszBuffer, - ...) -{ - DWORD dwBufferSize = 0; - DWORD dwLoop = 0; - va_list vaList; - HRESULT hResult = S_OK; - - if ( NULL == pszResource || - NULL == ppszBuffer ) - { - hResult = E_INVALIDARG; - return 0; - } - - - if ( SUCCEEDED(hResult) ) - { - dwBufferSize = (DWORD)strlen(pszResource) + MAX_PATH; - - va_start(vaList, ppszBuffer); - - // *ppszBuffer should be NULL when passed in. - *ppszBuffer = NULL; - - // Allocate and format the string. - do { - - if(NULL != *ppszBuffer) - { - delete[] *ppszBuffer; - } - *ppszBuffer = new CHAR[dwBufferSize]; - if(NULL == *ppszBuffer) - { - hResult = E_OUTOFMEMORY; - goto Cleanup; - } - - hResult = StringCbVPrintfA(*ppszBuffer, dwBufferSize, pszResource, vaList); - - if(STRSAFE_E_INSUFFICIENT_BUFFER == hResult) - { - dwBufferSize *= 2; - } - - } while ( FAILED(hResult) && (dwLoop++ < MAX_LOOP)); - } - -Cleanup: - - // Check to see if we hit error. - if(FAILED(hResult)) - { - if(NULL != *ppszBuffer) - { - delete[] *ppszBuffer; - *ppszBuffer = NULL; - } - } - - va_end(vaList); - - if ( *ppszBuffer ) - { - DWORD dwToReturn = 0; - - if (SUCCEEDED(SIZETToDWord(strlen(*ppszBuffer), &dwToReturn))) - { - return dwToReturn; - } - } - return 0; -} diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp deleted file mode 100644 index 5230f243..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/dllentry.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: dllentry.cpp -// -// PURPOSE: Source module for DLL entry function(s). -// - -#include "precomp.h" -#include "wmarkuni.h" -#include "debug.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -/////////////////////////////////////////////////////////// -// -// DLL entry point -// -BOOL WINAPI DllMain(HINSTANCE hInst, WORD wReason, LPVOID lpReserved) -{ - UNREFERENCED_PARAMETER(hInst); - UNREFERENCED_PARAMETER(lpReserved); - - switch(wReason) - { - case DLL_PROCESS_ATTACH: - VERBOSE(DLLTEXT("Process attach.\r\n")); - break; - - case DLL_THREAD_ATTACH: - VERBOSE(DLLTEXT("Thread attach.\r\n")); - break; - - case DLL_PROCESS_DETACH: - VERBOSE(DLLTEXT("Process detach.\r\n")); - break; - - case DLL_THREAD_DETACH: - VERBOSE(DLLTEXT("Thread detach.\r\n")); - break; - } - - return TRUE; -} - - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp deleted file mode 100644 index c32e0bcb..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/fdevmode.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: fDevmode.cpp -// -// -// PURPOSE: Place holder file for devmode functions. -// - -#include "precomp.h" -#include "wmarkuni.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - - -#include <DEVMODE.CPP> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp deleted file mode 100644 index 5688cb8d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.cpp +++ /dev/null @@ -1,950 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1998 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.cpp -// -// -// PURPOSE: Interface for User Mode COM Customization DLL. -// - -#include "precomp.h" - -#include "wmarkuni.h" -#include "debug.h" -#include "intrface.h" -#include "name.h" - -// indicate to prefast that this is a user-mode component. -_Analysis_mode_(_Analysis_code_type_user_driver_); - -//////////////////////////////////////////////////////// -// Internal Globals -//////////////////////////////////////////////////////// - -static long g_cComponents = 0; // Count of active components -static long g_cServerLocks = 0; // Count of locks - -//////////////////////////////////////////////////////// -// Internal Constants -//////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////// -// Warning: the following array order must match the -// order in enum ENUMHOOKS. -/////////////////////////////////////////////////////// - -static const DRVFN OEMHookFuncs[] = -{ - { INDEX_DrvRealizeBrush, (PFN) OEMRealizeBrush }, - { INDEX_DrvDitherColor, (PFN) OEMDitherColor }, - { INDEX_DrvCopyBits, (PFN) OEMCopyBits }, - { INDEX_DrvBitBlt, (PFN) OEMBitBlt }, - { INDEX_DrvStretchBlt, (PFN) OEMStretchBlt }, - { INDEX_DrvTextOut, (PFN) OEMTextOut }, - { INDEX_DrvStrokePath, (PFN) OEMStrokePath }, - { INDEX_DrvFillPath, (PFN) OEMFillPath }, - { INDEX_DrvStrokeAndFillPath, (PFN) OEMStrokeAndFillPath }, - { INDEX_DrvPaint, (PFN) OEMPaint }, - { INDEX_DrvLineTo, (PFN) OEMLineTo }, - { INDEX_DrvStartPage, (PFN) OEMStartPage }, - { INDEX_DrvSendPage, (PFN) OEMSendPage }, - { INDEX_DrvEscape, (PFN) OEMEscape }, - { INDEX_DrvStartDoc, (PFN) OEMStartDoc }, - { INDEX_DrvEndDoc, (PFN) OEMEndDoc }, - { INDEX_DrvNextBand, (PFN) OEMNextBand }, - { INDEX_DrvStartBanding, (PFN) OEMStartBanding }, - { INDEX_DrvQueryFont, (PFN) OEMQueryFont }, - { INDEX_DrvQueryFontTree, (PFN) OEMQueryFontTree }, - { INDEX_DrvQueryFontData, (PFN) OEMQueryFontData }, - { INDEX_DrvQueryAdvanceWidths, (PFN) OEMQueryAdvanceWidths }, - { INDEX_DrvFontManagement, (PFN) OEMFontManagement }, - { INDEX_DrvGetGlyphMode, (PFN) OEMGetGlyphMode }, - { INDEX_DrvStretchBltROP, (PFN) OEMStretchBltROP }, - { INDEX_DrvPlgBlt, (PFN) OEMPlgBlt }, - { INDEX_DrvTransparentBlt, (PFN) OEMTransparentBlt }, - { INDEX_DrvAlphaBlend, (PFN) OEMAlphaBlend }, - { INDEX_DrvGradientFill, (PFN) OEMGradientFill }, -}; - -//////////////////////////////////////////////////////////////////////////////// -// -// IWmarkUni body -// -IWmarkUni::~IWmarkUni() -{ - // Make sure that helper interface is released. - if(NULL != m_pOEMHelp) - { - m_pOEMHelp->Release(); - m_pOEMHelp = NULL; - } - - // If this instance of the object is being deleted, then the reference - // count should be zero. - assert(0 == m_cRef); -} - - -HRESULT __stdcall IWmarkUni::QueryInterface(const IID& iid, void** ppv) -{ - if (iid == IID_IUnknown) - { - *ppv = static_cast<IUnknown*>(this); - VERBOSE(DLLTEXT("IWmarkUni::QueryInterface IUnknown.\r\n")); - } - else if (iid == IID_IPrintOemUni) - { - *ppv = static_cast<IPrintOemUni*>(this); - VERBOSE(DLLTEXT("IWmarkUni::QueryInterface IPrintOemUni.\r\n")); - } - else - { - *ppv = NULL; - VERBOSE(DLLTEXT("IWmarkUni::QueryInterface interface not supported.\r\n")); - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IWmarkUni::AddRef() -{ - VERBOSE(DLLTEXT("IWmarkUni::AddRef() entry.\r\n")); - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IWmarkUni::Release() -{ - VERBOSE(DLLTEXT("IWmarkUni::Release() entry.\r\n")); - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - - -HRESULT __stdcall IWmarkUni::GetInfo ( - DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IWmarkUni::GetInfo entry.\r\n")); - - // Validate parameters. - if( (NULL == pcbNeeded) - || - ( (OEMGI_GETSIGNATURE != dwMode) - && - (OEMGI_GETVERSION != dwMode) - && - (OEMGI_GETPUBLISHERINFO != dwMode) - ) - ) - { - WARNING(DLLTEXT("IWmarkUni::GetInfo() exit pcbNeeded is NULL! ERROR_INVALID_PARAMETER.\r\n")); - SetLastError(ERROR_INVALID_PARAMETER); - return E_FAIL; - } - - // Set expected buffer size. - if(OEMGI_GETPUBLISHERINFO != dwMode) - { - *pcbNeeded = sizeof(DWORD); - } - else - { - *pcbNeeded = sizeof(PUBLISHERINFO); - return E_FAIL; - } - - // Check buffer size is sufficient. - if((cbSize < *pcbNeeded) || (NULL == pBuffer)) - { - VERBOSE(DLLTEXT("IWmarkUni::GetInfo() exit insufficient buffer!\r\n")); - SetLastError(ERROR_INSUFFICIENT_BUFFER); - return E_FAIL; - } - - switch(dwMode) - { - // OEM DLL Signature - case OEMGI_GETSIGNATURE: - *(PDWORD)pBuffer = OEM_SIGNATURE; - break; - - // OEM DLL version - case OEMGI_GETVERSION: - *(PDWORD)pBuffer = OEM_VERSION; - break; - - // dwMode not supported. - case OEMGI_GETPUBLISHERINFO: - default: - // Set written bytes to zero since nothing was written. - WARNING(DLLTEXT("IWmarkUni::GetInfo() exit mode not supported.\r\n")); - *pcbNeeded = 0; - SetLastError(ERROR_NOT_SUPPORTED); - return E_FAIL; - } - - VERBOSE(DLLTEXT("IWmarkUni::GetInfo() exit S_OK.\r\n")); - - return S_OK; -} - -HRESULT __stdcall IWmarkUni::PublishDriverInterface( - IUnknown *pIUnknown) -{ - VERBOSE(DLLTEXT("IWmarkUni::PublishDriverInterface() entry.\r\n")); - - // Need to store pointer to Driver Helper functions, if we already haven't. - if (this->m_pOEMHelp == NULL) - { - HRESULT hResult; - - - // Get Interface to Helper Functions. - hResult = pIUnknown->QueryInterface(IID_IPrintOemDriverUni, (void** ) &(this->m_pOEMHelp)); - - if(!SUCCEEDED(hResult)) - { - // Make sure that interface pointer reflects interface query failure. - this->m_pOEMHelp = NULL; - - return E_FAIL; - } - } - - return S_OK; -} - - -HRESULT __stdcall IWmarkUni::EnableDriver( - DWORD dwDriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded) -{ - VERBOSE(DLLTEXT("IWmarkUni::EnableDriver() entry.\r\n")); - - UNREFERENCED_PARAMETER(dwDriverVersion); - UNREFERENCED_PARAMETER(cbSize); - - // List DDI functions that are hooked. - pded->iDriverVersion = PRINTER_OEMINTF_VERSION; - pded->c = sizeof(OEMHookFuncs) / sizeof(DRVFN); - pded->pdrvfn = (DRVFN *) OEMHookFuncs; - - // Even if nothing is done, need to return S_OK so - // that DisableDriver() will be called, which releases - // the reference to the Printer Driver's interface. - // If error occurs, return E_FAIL. - return S_OK; -} - -HRESULT __stdcall IWmarkUni::DisableDriver(VOID) -{ - VERBOSE(DLLTEXT("IWmarkUni::DisaleDriver() entry.\r\n")); - - // Release reference to Printer Driver's interface. - if (this->m_pOEMHelp) - { - this->m_pOEMHelp->Release(); - this->m_pOEMHelp = NULL; - } - - return S_OK; -} - -HRESULT __stdcall IWmarkUni::DisablePDEV( - PDEVOBJ pdevobj) -{ - VERBOSE(DLLTEXT("IWmarkUni::DisablePDEV() entry.\r\n")); - - assert(NULL != pdevobj->pdevOEM); - delete pdevobj->pdevOEM; - - return S_OK; -}; - -HRESULT __stdcall IWmarkUni::EnablePDEV( - PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem) -{ - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pPrinterName); - UNREFERENCED_PARAMETER(cPatterns); - UNREFERENCED_PARAMETER(phsurfPatterns); - UNREFERENCED_PARAMETER(cjGdiInfo); - UNREFERENCED_PARAMETER(pGdiInfo); - UNREFERENCED_PARAMETER(cjDevInfo); - UNREFERENCED_PARAMETER(pDevInfo); - - VERBOSE(DLLTEXT("IWmarkUni::EnablePDEV() entry.\r\n")); - - POEMPDEV poempdev; - INT i, j; - DWORD dwDDIIndex; - PDRVFN pdrvfn; - - // - // Allocate the OEMDev - // - poempdev = new OEMPDEV; - if (NULL == poempdev) - { - return NULL; - } - - // - // Fill in OEMDEV - // - - for (i = 0; i < MAX_DDI_HOOKS; i++) - { - // - // search through Unidrv's hooks and locate the function ptr - // - dwDDIIndex = OEMHookFuncs[i].iFunc; - for (j = pded->c, pdrvfn = pded->pdrvfn; j > 0; j--, pdrvfn++) - { - if (dwDDIIndex == pdrvfn->iFunc) - { - poempdev->pfnUnidrv[i] = pdrvfn->pfn; - break; - } - } - if (j == 0) - { - // - // Didn't find the hook. This could mean Unidrv doesn't hook this DDI but allows OEMs to hook it out. - // - poempdev->pfnUnidrv[i] = NULL; - } - - } - - *pDevOem = (POEMPDEV) poempdev; - - return (NULL != *pDevOem ? S_OK : E_FAIL); -} - - -HRESULT __stdcall IWmarkUni::ResetPDEV( - PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew) -{ - VERBOSE(DLLTEXT("IWmarkUni::ResetPDEV() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobjOld); - UNREFERENCED_PARAMETER(pdevobjNew); - - return S_OK; -} - - -HRESULT __stdcall IWmarkUni::DevMode( - DWORD dwMode, - POEMDMPARAM pOemDMParam) -{ - VERBOSE(DLLTEXT("IWmarkUni:DevMode entry.\n")); - return hrOEMDevMode(dwMode, pOemDMParam); -} - -HRESULT __stdcall IWmarkUni::GetImplementedMethod(_In_ PSTR pMethodName) -{ - HRESULT Result = S_FALSE; - - - VERBOSE(DLLTEXT("IWmarkUni::GetImplementedMethod() entry.\r\n")); - - // Unidrv only calls GetImplementedMethod for optional - // methods. The required methods are assumed to be - // supported. - - // Return S_OK for supported function (i.e. implemented), - // and S_FALSE for functions that aren't supported (i.e. not implemented). - switch (*pMethodName) - { - case 'C': - if (!strcmp(NAME_CommandCallback, pMethodName)) - { - Result = S_OK; - } - else if (!strcmp(NAME_Compression, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'D': - if (!strcmp(NAME_DownloadFontHeader, pMethodName)) - { - Result = S_FALSE; - } - else if (!strcmp(NAME_DownloadCharGlyph, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'F': - if (!strcmp(NAME_FilterGraphics, pMethodName)) - { - Result = S_OK; - } - break; - - case 'H': - if (!strcmp(NAME_HalftonePattern, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'I': - if (!strcmp(NAME_ImageProcessing, pMethodName)) - { - Result = S_OK; - } - break; - - case 'M': - if (!strcmp(NAME_MemoryUsage, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'O': - if (!strcmp(NAME_OutputCharStr, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'S': - if (!strcmp(NAME_SendFontCmd, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'T': - if (!strcmp(NAME_TextOutAsBitmap, pMethodName)) - { - Result = S_FALSE; - } - else if (!strcmp(NAME_TTDownloadMethod, pMethodName)) - { - Result = S_FALSE; - } - else if (!strcmp(NAME_TTYGetInfo, pMethodName)) - { - Result = S_FALSE; - } - break; - - case 'W': - if(!strcmp(NAME_WritePrinter, pMethodName)) - { - Result = S_FALSE; - } - break; - } - - return Result; -} - -HRESULT __stdcall IWmarkUni::CommandCallback( - PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::CommandCallback() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pdwParams); - - *piResult = 0; - - return S_OK; -} - -HRESULT __stdcall IWmarkUni::ImageProcessing( - PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::ImageProcessing() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pSrcBitmap); - UNREFERENCED_PARAMETER(pBitmapInfoHeader); - UNREFERENCED_PARAMETER(pColorTable); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pIPParams); - UNREFERENCED_PARAMETER(ppbResult); - - return S_OK; -} - -HRESULT __stdcall IWmarkUni::FilterGraphics( - PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen) -{ - DWORD dwResult; - VERBOSE(DLLTEXT("IWmarkUni::FilterGraphis() entry.\r\n")); - m_pOEMHelp->DrvWriteSpoolBuf(pdevobj, pBuf, dwLen, &dwResult); - - if (dwResult == dwLen) - return S_OK; - else - return E_FAIL; -} - -HRESULT __stdcall IWmarkUni::Compression( - PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::Compression() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pInBuf); - UNREFERENCED_PARAMETER(pOutBuf); - UNREFERENCED_PARAMETER(dwInLen); - UNREFERENCED_PARAMETER(dwOutLen); - UNREFERENCED_PARAMETER(piResult); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - - -HRESULT __stdcall IWmarkUni::HalftonePattern( - PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize) -{ - VERBOSE(DLLTEXT("IWmarkUni::HalftonePattern() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pHTPattern); - UNREFERENCED_PARAMETER(dwHTPatternX); - UNREFERENCED_PARAMETER(dwHTPatternY); - UNREFERENCED_PARAMETER(dwHTNumPatterns); - UNREFERENCED_PARAMETER(dwCallbackID); - UNREFERENCED_PARAMETER(pResource); - UNREFERENCED_PARAMETER(dwResourceSize); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::MemoryUsage( - PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage) -{ - VERBOSE(DLLTEXT("IWmarkUni::MemoryUsage() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pMemoryUsage); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::DownloadFontHeader( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::DownloadFontHeader() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::DownloadCharGlyph( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::DownloadCharGlyph() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(hGlyph); - UNREFERENCED_PARAMETER(pdwWidth); - UNREFERENCED_PARAMETER(pdwResult); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::TTDownloadMethod( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult) -{ - VERBOSE(DLLTEXT("IWmarkUni::TTDownloadMethod() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pdwResult); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::OutputCharStr( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph) -{ - VERBOSE(DLLTEXT("IWmarkUni::OutputCharStr() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(dwType); - UNREFERENCED_PARAMETER(dwCount); - UNREFERENCED_PARAMETER(pGlyph); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::SendFontCmd( - PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv) -{ - VERBOSE(DLLTEXT("IWmarkUni::SendFontCmd() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(pUFObj); - UNREFERENCED_PARAMETER(pFInv); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::DriverDMS( - PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded) -{ - VERBOSE(DLLTEXT("IWmarkUni::DriverDMS() entry.\r\n")); - - UNREFERENCED_PARAMETER(pDevObj); - UNREFERENCED_PARAMETER(pBuffer); - UNREFERENCED_PARAMETER(cbSize); - UNREFERENCED_PARAMETER(pcbNeeded); - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::TextOutAsBitmap( - SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix) -{ - VERBOSE(DLLTEXT("IWmarkUni::TextOutAsBitmap() entry.\r\n")); - - UNREFERENCED_PARAMETER(pso); - UNREFERENCED_PARAMETER(pstro); - UNREFERENCED_PARAMETER(pfo); - UNREFERENCED_PARAMETER(pco); - UNREFERENCED_PARAMETER(prclExtra); - UNREFERENCED_PARAMETER(prclOpaque); - UNREFERENCED_PARAMETER(pboFore); - UNREFERENCED_PARAMETER(pboOpaque); - UNREFERENCED_PARAMETER(pptlOrg); - UNREFERENCED_PARAMETER(mix); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - -HRESULT __stdcall IWmarkUni::TTYGetInfo( - PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded) -{ - VERBOSE(DLLTEXT("IWmarkUni::TTYGetInfo() entry.\r\n")); - - UNREFERENCED_PARAMETER(pdevobj); - UNREFERENCED_PARAMETER(dwInfoIndex); - UNREFERENCED_PARAMETER(pOutputBuf); - UNREFERENCED_PARAMETER(dwSize); - UNREFERENCED_PARAMETER(pcbcNeeded); - - // When implemented, the return from GetImplementedMethod - // for this method name must be S_OK. - - return E_NOTIMPL; -} - - -//////////////////////////////////////////////////////////////////////////////// -// -// oem class factory -// -class IOemCF : public IClassFactory -{ -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // *** IClassFactory methods *** - STDMETHOD(CreateInstance) (THIS_ - LPUNKNOWN pUnkOuter, - REFIID riid, - LPVOID FAR* ppvObject); - STDMETHOD(LockServer) (THIS_ BOOL bLock); - - - // Constructor - IOemCF(): m_cRef(1) { }; - ~IOemCF() { }; - -protected: - LONG m_cRef; - -}; - -/////////////////////////////////////////////////////////// -// -// Class factory body -// -HRESULT __stdcall IOemCF::QueryInterface(const IID& iid, void** ppv) -{ - if ((iid == IID_IUnknown) || (iid == IID_IClassFactory)) - { - *ppv = static_cast<IOemCF*>(this); - } - else - { - *ppv = NULL; - VERBOSE(DLLTEXT("IOemCF::QueryInterface interface not supported.\r\n")); - return E_NOINTERFACE; - } - reinterpret_cast<IUnknown*>(*ppv)->AddRef(); - return S_OK; -} - -ULONG __stdcall IOemCF::AddRef() -{ - return InterlockedIncrement(&m_cRef); -} - -_At_(this, __drv_freesMem(object)) -ULONG __stdcall IOemCF::Release() -{ - ASSERT( 0 != m_cRef); - ULONG cRef = InterlockedDecrement(&m_cRef); - if (0 == cRef) - { - delete this; - - } - return cRef; -} - -// IClassFactory implementation -HRESULT __stdcall IOemCF::CreateInstance(IUnknown* pUnknownOuter, - const IID& iid, - void** ppv) -{ - //VERBOSE(DLLTEXT("Class factory:\t\tCreate component.")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Cannot aggregate. - if (pUnknownOuter != NULL) - { - return CLASS_E_NOAGGREGATION; - } - - // Create component. - IWmarkUni* pOemCP = new IWmarkUni; - if (pOemCP == NULL) - { - return E_OUTOFMEMORY; - } - - // Get the requested interface. - HRESULT hr = pOemCP->QueryInterface(iid, ppv); - - // Release the IUnknown pointer. - // (If QueryInterface failed, component will delete itself.) - pOemCP->Release(); - return hr; -} - -// LockServer -HRESULT __stdcall IOemCF::LockServer(BOOL bLock) -{ - if (bLock) - { - InterlockedIncrement(&g_cServerLocks); - } - else - { - InterlockedDecrement(&g_cServerLocks); - } - return S_OK; -} - - -// -// Registration functions -// - -// -// Can DLL unload now? -// -STDAPI DllCanUnloadNow() -{ - // - // To avoid leaving OEM DLL still in memory when Unidrv or Pscript drivers - // are unloaded, Unidrv and Pscript driver ignore the return value of - // DllCanUnloadNow of the OEM DLL, and always call FreeLibrary on the OEMDLL. - // - // If OEM DLL spins off a working thread that also uses the OEM DLL, the - // thread needs to call LoadLibrary and FreeLibraryAndExitThread, otherwise - // it may crash after Unidrv or Pscript calls FreeLibrary. - // - - VERBOSE(DLLTEXT("DllCanUnloadNow entered.\r\n")); - - if ((g_cComponents == 0) && (g_cServerLocks == 0)) - { - return S_OK; - } - else - { - return S_FALSE; - } -} - -// -// Get class factory -// -STDAPI DllGetClassObject( - _In_ REFCLSID clsid, - _In_ REFIID iid, - _Outptr_ LPVOID* ppv) -{ - VERBOSE(DLLTEXT("DllGetClassObject:\tCreate class factory.\r\n")); - - if (ppv == NULL) - { - return E_POINTER; - } - *ppv = NULL; - - // Can we create this component? - if (clsid != CLSID_OEMRENDER) - { - return CLASS_E_CLASSNOTAVAILABLE; - } - - // Create class factory. - IOemCF* pFontCF = new IOemCF; // Reference count set to 1 - // in constructor - if (pFontCF == NULL) - { - return E_OUTOFMEMORY; - } - - // Get requested interface. - HRESULT hr = pFontCF->QueryInterface(iid, ppv); - pFontCF->Release(); - - return hr; -} - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h deleted file mode 100644 index a87f5ba4..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/intrface.h +++ /dev/null @@ -1,254 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Intrface.H -// -// -// PURPOSE: Define COM interface for User Mode Printer Customization DLL. -// -#pragma once - - -//////////////////////////////////////////////////////////////////////////////// -// -// IWmarkUni -// -// Interface for Unidrv OEM sample rendering module -// -class IWmarkUni : public IPrintOemUni -{ -public: -public: - // *** IUnknown methods *** - - STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj); - - STDMETHOD_(ULONG,AddRef) (THIS); - - // the _At_ tag here tells prefast that once release - // is called, the memory should not be considered leaked - _At_(this, __drv_freesMem(object)) - STDMETHOD_(ULONG,Release) (THIS); - - // - // Method for publishing Driver interface. - // - STDMETHOD(PublishDriverInterface)(THIS_ IUnknown *pIUnknown); - - // - // Method for getting the implemented methods. - // Returns S_OK if the given method is implemneted. - // Returns S_FALSE if the given method is notimplemneted. - // - - STDMETHOD(GetImplementedMethod)(THIS_ _In_ PSTR pMethodName); - - // - // Method for OEM to specify DDI hook out - // - - STDMETHOD(EnableDriver) (THIS_ DWORD DriverVersion, - DWORD cbSize, - PDRVENABLEDATA pded); - - // - // Method to notify OEM plugin that it is no longer required - // - - STDMETHOD(DisableDriver) (THIS); - - // - // Method for OEM to contruct its own PDEV - // - - STDMETHOD(EnablePDEV) (THIS_ PDEVOBJ pdevobj, - _In_ PWSTR pPrinterName, - ULONG cPatterns, - HSURF *phsurfPatterns, - ULONG cjGdiInfo, - GDIINFO *pGdiInfo, - ULONG cjDevInfo, - DEVINFO *pDevInfo, - DRVENABLEDATA *pded, - OUT PDEVOEM *pDevOem); - - // - // Method for OEM to free any resource associated with its PDEV - // - - STDMETHOD(DisablePDEV) (THIS_ PDEVOBJ pdevobj); - - // - // Method for OEM to transfer from old PDEV to new PDEV - // - - STDMETHOD(ResetPDEV) (THIS_ PDEVOBJ pdevobjOld, - PDEVOBJ pdevobjNew); - - // - // Get OEM dll related information - // - - STDMETHOD(GetInfo) (THIS_ DWORD dwMode, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDriverDMS - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(DriverDMS)(THIS_ PVOID pDevObj, - PVOID pBuffer, - DWORD cbSize, - PDWORD pcbNeeded); - - // - // OEMDevMode - // - - STDMETHOD(DevMode) (THIS_ DWORD dwMode, - POEMDMPARAM pOemDMParam); - - // - // OEMCommandCallback - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(CommandCallback)(THIS_ PDEVOBJ pdevobj, - DWORD dwCallbackID, - DWORD dwCount, - PDWORD pdwParams, - OUT INT *piResult); - - // - // OEMImageProcessing - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(ImageProcessing)(THIS_ PDEVOBJ pdevobj, - PBYTE pSrcBitmap, - PBITMAPINFOHEADER pBitmapInfoHeader, - PBYTE pColorTable, - DWORD dwCallbackID, - PIPPARAMS pIPParams, - OUT PBYTE *ppbResult); - - // - // OEMFilterGraphics - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(FilterGraphics) (THIS_ PDEVOBJ pdevobj, - PBYTE pBuf, - DWORD dwLen); - // - // OEMCompression - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(Compression)(THIS_ PDEVOBJ pdevobj, - PBYTE pInBuf, - PBYTE pOutBuf, - DWORD dwInLen, - DWORD dwOutLen, - OUT INT *piResult); - - // - // OEMHalftone - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(HalftonePattern) (THIS_ PDEVOBJ pdevobj, - PBYTE pHTPattern, - DWORD dwHTPatternX, - DWORD dwHTPatternY, - DWORD dwHTNumPatterns, - DWORD dwCallbackID, - PBYTE pResource, - DWORD dwResourceSize); - - // - // OEMMemoryUsage - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(MemoryUsage) (THIS_ PDEVOBJ pdevobj, - POEMMEMORYUSAGE pMemoryUsage); - - // - // OEMTTYGetInfo - UNIDRV only, return E_NOTIMPL on Pscript - // - - STDMETHOD(TTYGetInfo)(THIS_ PDEVOBJ pdevobj, - DWORD dwInfoIndex, - PVOID pOutputBuf, - DWORD dwSize, - DWORD *pcbcNeeded); - - // - // OEMDownloadFontheader - UNIDRV only - // - - STDMETHOD(DownloadFontHeader)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMDownloadCharGlyph - UNIDRV only - // - - STDMETHOD(DownloadCharGlyph)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - HGLYPH hGlyph, - PDWORD pdwWidth, - OUT DWORD *pdwResult); - - // - // OEMTTDownloadMethod - UNIDRV only - // - - STDMETHOD(TTDownloadMethod)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - OUT DWORD *pdwResult); - - // - // OEMOutputCharStr - UNIDRV only - // - - STDMETHOD(OutputCharStr)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - DWORD dwType, - DWORD dwCount, - PVOID pGlyph); - - // - // OEMSendFontCmd - UNIDRV only - // - - - STDMETHOD(SendFontCmd)(THIS_ PDEVOBJ pdevobj, - PUNIFONTOBJ pUFObj, - PFINVOCATION pFInv); - - // - // OEMTextOutAsBitmap - UNIDRV only - // - - STDMETHOD(TextOutAsBitmap)(THIS_ SURFOBJ *pso, - STROBJ *pstro, - FONTOBJ *pfo, - CLIPOBJ *pco, - RECTL *prclExtra, - RECTL *prclOpaque, - BRUSHOBJ *pboFore, - BRUSHOBJ *pboOpaque, - POINTL *pptlOrg, - MIX mix); - - - IWmarkUni() { m_cRef = 1; m_pOEMHelp = NULL; }; - ~IWmarkUni(); - -protected: - LONG m_cRef; - IPrintOemDriverUni* m_pOEMHelp; -}; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h deleted file mode 100644 index 3018823b..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/name.h +++ /dev/null @@ -1,34 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1996 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: Name.H -// -// -// PURPOSE: Define string literals for interface funcion names. -// -#pragma once - -///////////////////////////////////////////////////////// -// String Leterals -///////////////////////////////////////////////////////// - - -CONST CHAR NAME_CommandCallback[] = "CommandCallback"; -CONST CHAR NAME_Compression[] = "Compression"; -CONST CHAR NAME_DownloadCharGlyph[] = "DownloadCharGlyph"; -CONST CHAR NAME_DownloadFontHeader[] = "DownloadFontHeader"; -CONST CHAR NAME_FilterGraphics[] = "FilterGraphics"; -CONST CHAR NAME_HalftonePattern[] = "HalftonePattern"; -CONST CHAR NAME_ImageProcessing[] = "ImageProcessing"; -CONST CHAR NAME_MemoryUsage[] = "MemoryUsage"; -CONST CHAR NAME_OutputCharStr[] = "OutputCharStr"; -CONST CHAR NAME_SendFontCmd[] = "SendFontCmd"; -CONST CHAR NAME_TextOutAsBitmap[] = "TextOutAsBitmap"; -CONST CHAR NAME_TTDownloadMethod[] = "TTDownloadMethod"; -CONST CHAR NAME_TTYGetInfo[] = "TTYGetInfo"; -CONST CHAR NAME_WritePrinter[] = "WritePrinter"; - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h deleted file mode 100644 index 48078a7d..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precomp.h +++ /dev/null @@ -1,53 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: precomp.H -// -// -// PURPOSE: Optimize compilation of headers that don't change frequently. -// -#pragma once - -// Necessary for compiling under VC. -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - - - -// Required header files that shouldn't change often. - - -#include <STDDEF.H> -#include <STDLIB.H> -#include <OBJBASE.H> -#include <STDARG.H> -#include <STDIO.H> -#include <WINDEF.H> -#include <WINERROR.H> -#include <WINBASE.H> -#include <WINGDI.H> -#include <WINDDI.H> -#include <TCHAR.H> -#include <EXCPT.H> -#include <ASSERT.H> -#include <PRINTOEM.H> -#include <INITGUID.H> -#include <PRCOMOEM.H> - -// Safe integer functions to detect integer overflow/underflow conditions: -#include <intsafe.h> - -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include <STRSAFE.H> - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h"
\ No newline at end of file diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h deleted file mode 100644 index 35637c60..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/resource.h +++ /dev/null @@ -1,17 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by WMARKUNI.rc -// - - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 103 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def deleted file mode 100644 index 86e376e8..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.def +++ /dev/null @@ -1,3 +0,0 @@ -LIBRARY WMARKUNI -EXPORTS DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h deleted file mode 100644 index 87415a42..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.h +++ /dev/null @@ -1,82 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright 1997 - 2003 Microsoft Corporation. All Rights Reserved. -// -// FILE: WMARKUNI.H -// -// -// PURPOSE: Define common data types, and external function prototypes -// for debug.cpp. -// -#pragma once - -#include "OEM.H" -#include "DEVMODE.H" - - -//////////////////////////////////////////////////////// -// OEM Defines -//////////////////////////////////////////////////////// - -#define DLLTEXT(s) "WMARKUNI: " s - -/////////////////////////////////////////////////////// -// Warning: the following enum order must match the -// order in OEMHookFuncs[]. -/////////////////////////////////////////////////////// -typedef enum tag_Hooks { - UD_DrvRealizeBrush, - UD_DrvDitherColor, - UD_DrvCopyBits, - UD_DrvBitBlt, - UD_DrvStretchBlt, - UD_DrvTextOut, - UD_DrvStrokePath, - UD_DrvFillPath, - UD_DrvStrokeAndFillPath, - UD_DrvPaint, - UD_DrvLineTo, - UD_DrvStartPage, - UD_DrvSendPage, - UD_DrvEscape, - UD_DrvStartDoc, - UD_DrvEndDoc, - UD_DrvNextBand, - UD_DrvStartBanding, - UD_DrvQueryFont, - UD_DrvQueryFontTree, - UD_DrvQueryFontData, - UD_DrvQueryAdvanceWidths, - UD_DrvFontManagement, - UD_DrvGetGlyphMode, - UD_DrvStretchBltROP, - UD_DrvPlgBlt, - UD_DrvTransparentBlt, - UD_DrvAlphaBlend, - UD_DrvGradientFill, - - MAX_DDI_HOOKS, - -} ENUMHOOKS; - - -typedef struct _OEMPDEV { - // - // define whatever needed, such as working buffers, tracking information, - // etc. - // - // This test DLL hooks out every drawing DDI. So it needs to remember - // Unidrv's hook function pointer so it call back. - // - PFN pfnUnidrv[MAX_DDI_HOOKS]; - - // - // define whatever needed, such as working buffers, tracking information, - // etc. - // - DWORD dwReserved[1]; - -} OEMPDEV, *POEMPDEV; diff --git a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc b/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc deleted file mode 100644 index 54b0f627..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/watermarkuni/wmarkuni/wmarkuni.rc +++ /dev/null @@ -1,104 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "Written by Printing & Imaging Team" - VALUE "CompanyName", "Microsoft Corp." - VALUE "FileDescription", "Watermark Unidriver Sample" - VALUE "FileVersion", "1, 0, 0, 1" - VALUE "InternalName", "OEMPS" - VALUE "LegalCopyright", "Copyright � 1998-2003" - VALUE "LegalTrademarks", "Microsoft� is a registered trademark of Microsoft Corporation. Windows(TM) is a trademark of Microsoft Corporation" - VALUE "OriginalFilename", "WMARKUNI.DLL" - VALUE "ProductName", "Microsoft WMARKUNI" - VALUE "ProductVersion", "1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf b/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf Binary files differdeleted file mode 100644 index cf0ab050..00000000 --- a/print/OEM Printer Customization Plug-in Samples/C++/winxp.inf +++ /dev/null |
