summaryrefslogtreecommitdiff
path: root/print/OEM Printer Customization Plug-in Samples/C++/bitmap
diff options
context:
space:
mode:
authorAdonais Romero González <[email protected]>2024-05-06 16:21:31 -0700
committerGitHub <[email protected]>2024-05-06 16:21:31 -0700
commita74a241c664c4e1d7c0838287b34076c19d9858a (patch)
tree6ff7562612967b122acf8acf8a69c4dcfd5905db /print/OEM Printer Customization Plug-in Samples/C++/bitmap
parentdef8e8e34ed2b7b1deb2fc9112ac4255f1a0f2ba (diff)
parent15477ce52bbb6b42ca591ecdfb484cac089f89ab (diff)
Merge develop changes prior to upcoming WDK release (May 2024)
Diffstat (limited to 'print/OEM Printer Customization Plug-in Samples/C++/bitmap')
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.def4
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.h81
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.rc110
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj1090
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/bitmap.vcxproj.Filters174
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/ddihook.cpp114
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/debug.h82
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.cpp132
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/devmode.h37
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/dllentry.cpp50
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.cpp2048
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/intrface.h287
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/precomp.h40
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/precompsrc.cpp1
-rw-r--r--print/OEM Printer Customization Plug-in Samples/C++/bitmap/resource.h17
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
-