diff options
| author | Adonais Romero González <[email protected]> | 2024-05-06 16:21:31 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-05-06 16:21:31 -0700 |
| commit | a74a241c664c4e1d7c0838287b34076c19d9858a (patch) | |
| tree | 6ff7562612967b122acf8acf8a69c4dcfd5905db /print/OEM Printer Customization Plug-in Samples/C++/bitmap | |
| parent | def8e8e34ed2b7b1deb2fc9112ac4255f1a0f2ba (diff) | |
| parent | 15477ce52bbb6b42ca591ecdfb484cac089f89ab (diff) | |
Merge develop changes prior to upcoming WDK release (May 2024)
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++/bitmap')
15 files changed, 0 insertions, 4267 deletions
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 - |
